Настройте Ubuntu так, чтобы она полностью не изменяла реальное время (RTC)

Я прохожу курс “от 0 до Linux админа” вот здесь https://yodo.im/courses/linux/?v=1d20b5ff1ee9 и у меня возникла проблема с конфигурацией Ubuntu, связанная с изменением значения, хранящегося в реальном времени (RTC).

Когда я использую двойную загрузку с Windows и Linux Ubuntu, я сталкиваюсь с известной проблемой: одна система использует хранение времени RTC как местное время, а другая — как UTC. После последовательности загрузок Windows, Linux и снова Windows происходит сдвиг на -1 час в RTC.

Есть решения, такие как:

sudo timedatectl set-local-rtc 1 --adjust-system-clock

Но в более общем плане, как можно настроить Ubuntu так, чтобы она вообще не изменяла значение, хранящееся в чипе реального времени (RTC)? Также, какой процесс отвечает за изменение значения, хранящегося в RTC?

Я хотел бы понять, почему Ubuntu вообще изменяет RTC, если мы не просим об этом. После цикла загрузок Win, Ubuntu и Win, мы наблюдаем сдвиг на 1 час. Почему это происходит изначально?

Также, мой вопрос действительно не связан с Windows: давайте предположим, что у нас есть (1) Ubuntu и (2) вторая ОС (это может быть любая ОС). Я хотел бы, чтобы Ubuntu не изменяла ничего в RTC и не модифицировала значение, хранящееся в RTC. Как это сделать?

Конечно! Давай разберем твою ситуацию с RTC (Real Time Clock) и как Ubuntu взаимодействует с ним.

Проблема с RTC между Windows и Ubuntu

Когда ты загружаешь Windows, она обычно использует локальное время для RTC, а Linux, как правило, работает с UTC. Это приводит к тому, что при переходе между системами начинается путаница с временем: после загрузки Windows, Linux видит неверное время.

Зачем Ubuntu изменяет RTC?

Ubuntu (и большинство дистрибутивов Linux) автоматически обновляют значение в RTC при каждом запуске. Это нужно для синхронизации системного времени с физическим временем, хранящимся в RTC, который продолжает работать даже когда компьютер выключен. Например, если время в системе отличается от времени в RTC, Linux может исправить это на старте, что и приводит к такому сдвигу.

Как настроить Ubuntu, чтобы она не меняла RTC?

Чтобы предотвратить изменение RTC, ты можешь использовать следующую команду, которая устанавливает систему в режим, где она будет использовать локальное время:

sudo timedatectl set-local-rtc 1 --adjust-system-clock

Это позволит Ubuntu работать с RTC как с местным временем, однако это не совсем то, что ты спрашивал.

Полное игнорирование изменений RTC

Чтобы вообще не изменять значение в RTC, есть несколько подходов, но все они немного “грубы”:

  1. Запрет на запись в RTC: Существует возможность запретить пользователям и системам доступ на запись в устройство RTC. Это можно сделать с помощью настроек прав доступа, но внимание: это повлечет за собой проблемы с синхронизацией и может привести к неправильному отображению времени.

  2. Изменение конфигурации генератора времени: Ты можешь попробовать заменить службы, отвечающие за синхронизацию времени, на альтернативные методы, которые не изменяют RTC.

  3. Изменение системного конфигурационного файла: Возможно, стоит рассмотреть изменения в конфигурации systemd для управления синхронизацией времени.

Вопрос о других системах

Если у тебя есть две ОС, и ты хочешь, чтобы Ubuntu не изменяла RTC, подход будет аналогичным — нужно будет изменить подход к управлению временем и, возможно, прописать правила для доступа к устройству RTC.

Заключение

Если твоя цель — полная изоляция от изменений RTC, возможно, придется прибегнуть к “грубым” методам, которые могут усложнить синхронизацию времени. Маменты с синхронизацией будут очень важны, особенно при работе с временными метками файлов и журналами. Надеюсь, это поможет прояснить ситуацию и даст понимание, как можно действовать! . Я ответил на ваш вопрос?

Спасибо большое за ответ! У меня всё получилось, настройка прошла успешно. Ещё раз спасибо за помощь!

Привет!

Рад слышать, что у тебя всё получилось! :tada: Настройки — это иногда настоящая головоломка, так что здорово, что ты справился. Если возникнут ещё вопросы или понадобиться помощь, не стесняйся обращаться. Удачи в дальнейших делах! :blush: . Я ответил на ваш вопрос?