Этот раздел описывает настройку службы systemd-timedated, которая отвечает за системное время и часовой пояс.
Если вы не помните, установлены ли аппаратные часы в формате UTC,
выясните это, выполнив команду hwclock --localtime --show
. Она
отобразит текущее время в соответствии с аппаратными часами. Если
вывод совпадает с вашим текущим временем, то аппаратные часы
настроены на локальное время. Если время hwclock не совпадает с текущим, то
скорее всего системные часы настроены на часовой пояс UTC. Проверьте
это добавлением или вычитанием нужного количества часов для вашего
часового пояса. Например, если ваш часовй пояс это MSK, так же
известный как GMT +0300, то нужно вычесть три часа из локального
времени.
systemd-timedated
читает файл /etc/adjtime
и в
зависимости от его содержимого устанавливает часы в UTC, либо на
местное время.
Создайте файл /etc/adjtime
со следующим
содержимым если ваши аппаратные часы настроены на местное время:
cat > /etc/adjtime << "EOF"
0.0 0 0.0
0
LOCAL
EOF
Если файл /etc/adjtime
не будет найден
при первой загрузке, то systemd-timedated будет
подразумевать, что системные часы настроены на UTC и настроит файл в
соответствии с этим.
Вы можете использовать утилиту timedatectl, чтобы сообщить systemd-timedated, что аппаратные часы настроены на UTC или местное время:
timedatectl set-local-rtc 1
timedatectl также может использоваться для изменения системного времени и часового пояса.
Для изменения текущего системного времени выполните:
timedatectl set-time YYYY-MM-DD HH:MM:SS
Аппаратные часы будут установлены на соответствующее значение.
Для изменения текущего часового пояса выполните:
timedatectl set-timezone TIMEZONE
Получить список доступных часовых поясов можно выполнив:
timedatectl list-timezones
Пожалуйста, обратите внимание, что команда timedatectl не работает в chroot окружении. Она может использоваться только после загрузки системы LFS с помощью systemd.
Начиная с версии 213, в состав systemd входит служба systemd-timesyncd, которая занимается синхронизацией системного времени с удаленных NTP серверов.
Служба не предназначается для замены известной службы NTP, она используется в качестве клиента протокола SNTP, подходящего для простых задач и в системах с ограниченными ресурсами.
Начиная с systemd версии 216 служба systemd-timesyncd включена по умолчанию. По желанию, её можно отключить, выполнив следующую команду:
systemctl disable systemd-timesyncd
В файле /etc/systemd/timesyncd.conf
можно настраивать список серверов NTP, используемых systemd-timesyncd для
синхронизации.
Обратите внимание, что если системные часы установлены на местное время, systemd-timesyncd не будет обновлять аппаратные часы.