Как установить сетевую синхронизацию времени в Linux

Хотя это может показаться чем-то, о чем следует позаботиться автоматически, настройки времени в Linux часто могут быть испорчены или настроены неправильно. Поскольку настройки времени в Linux могут сбивать с толку обычного пользователя, мы разберемся и объясним, как настроить сетевую синхронизацию времени в Linux.

Помимо настройки NTP, мы также объясним, как исправить раздражающую ошибку времени при двойной загрузке Linux и Windows.

Настроить протокол сетевого времени

Синхронизация программных часов на вашем ПК с Linux с серверами времени — самый распространенный способ узнать точное время. В большинстве дистрибутивов Linux это делается автоматически. Однако не каждый дистрибутив Linux использует NTPd. Более того, те, которые это делают, могут испортить его или неправильно настроить. Чтобы исправить это, мы собираемся объяснить, как легко вручную настроить демон Network Time Protocol под Linux.

Начните с открытия терминала и установки NTP, если на вашем компьютере он не установлен. Есть большая вероятность, что он у вас уже есть, но на всякий случай вот команды, чтобы получить его для большинства современных дистрибутивов Linux.

  4 лучших текстовых редактора для разработчиков в Linux

Ubuntu

sudo apt install ntp

Debian

sudo apt-get install ntp

Arch Linux

sudo pacman -S ntp

Fedora

sudo dnf install ntp

OpenSUSE

sudo zypper install ntp

После установки программного обеспечения вам необходимо подключиться к серверу NTP. По умолчанию в большинстве дистрибутивов Linux есть собственные серверы NTP, настроенные в файле /etc/ntp.conf. Однако, если вы считаете, что эти серверы ненадежны, вы можете заменить их на более надежный сервер (например, официальный сервер Google NTP).

Чтобы добавить сервер Google NTP, отредактируйте файл ntp.conf.

sudo nano /etc/ntp.conf

Сотрите все записи, если хотите, и замените их этими (хотя мы не рекомендуем это делать). Для достижения наилучших результатов вставьте записи Google NTP в самый верх.

Примечание: важно, чтобы iburst находился в конце каждой новой записи. Опция iburst отправит «пачку» пакетов на серверы только тогда, когда вы столкнетесь с проблемами соединения с сервером времени.

server time.google.com iburst

server time2.google.com iburst

server time3.google.com iburst

Когда закончите, сохраните файл конфигурации в Nano с помощью Ctrl + O. Выйдите из редактора с помощью Ctrl + X.

Настроить время

NTP может автоматически синхронизировать время с серверов, но сначала ему нужно знать часовой пояс. Обычно во время начальной настройки ваша операционная система Linux запрашивает часовой пояс и устанавливает его. Если что-то пошло не так во время установки, это необходимо исправить вручную с помощью tzselect.

  Как использовать Virt-Manager в Linux

Откройте терминал и запустите инструмент часового пояса:

tzselect

Запуск инструмента Tzselect поможет вам настроить правильный часовой пояс. После этого вы сможете запустить NTPd.

Запуск NTP

Все подключения к серверам времени работают. Следующим шагом в этом процессе является использование системы инициализации Systemd для загрузки NTP при загрузке. Помните, что если ваша операционная система Linux не использует systemd, как большинство современных, распространенных систем, вам нужно будет найти альтернативу этим командам.

Сначала запустите NTPd:

sudo systemctl start ntpd.service

Затем включите его при загрузке с помощью systemctl enable.

sudo systemctl enable ntpd.service

Выполнение приведенных выше команд должно мгновенно настроить время, так как время UTC в вашем BIOS теперь правильное (благодаря Tzselect).

Использовать местное время

Есть и другие способы установить время в Linux, кроме NTP. Самая популярная альтернатива этому методу — «местное время». Местное время говорит Linux, что нужно следить за временем, но не синхронизировать ни с чем. По сути, он будет держать время автономным и ни во что не вмешиваться. Это менее надежно, но работает. Вопрос в том, зачем вам это нужно?

  Как автоматически менять обои в Linux

Основная причина, по которой можно использовать местное время, а не что-то вроде NTP, заключается в том, что двойная загрузка мешает вашему времени. Если вы когда-либо загружали Linux, а затем перезагружались в Windows 10, вы заметите временные паузы. Это связано с тем, что обе операционные системы имеют службу синхронизации времени и борются друг с другом. Основной способ исправить это — отключить синхронизацию времени в Linux.

Примечание: имейте в виду, что даже если вы настроили Linux на использование местного времени, Windows все равно может столкнуться с проблемами. Обязательно проверьте настройки времени Windows, чтобы убедиться, что больше не возникает конфликтов с двумя операционными системами.

Запуск timedatectl должен исправить это:

sudo timedatectl set-local-rtc 1

После возврата к местному времени вам может потребоваться перезагрузить компьютер. После повторного входа в систему все должно использовать местное время.

Хотите отключить местное время? Если это так, вам нужно будет повторно запустить команду timedatectl. Попробуйте команду ниже.

sudo timedatectl set-local-rtc 0

Как и раньше, перезагрузите компьютер с Linux для хорошей меры. При следующем входе в систему местное время использоваться не должно.