Як налаштувати синхронізацію часу мережі в Linux

Хоча це може здатися як щось, про що слід подбати автоматично, налаштування часу в Linux часто можуть бути зіпсовані або налаштовані неправильно. Оскільки налаштування часу в Linux можуть бути заплутаними для звичайного користувача, ми збираємося розібратися та пояснити, як налаштувати синхронізацію часу мережі в Linux.

Окрім налаштування NTP, ми також пояснимо, як виправити дратівливу помилку часу під час подвійного завантаження Linux та Windows.

Налаштуйте протокол мережевого часу

Синхронізація програмного годинника на вашому ПК з Linux із серверами часу є найпоширенішим способом отримання точного часу. У більшості дистрибутивів Linux це робиться автоматично. Однак не кожен дистрибутив Linux використовує NTPd. Крім того, ті, хто це робить, можуть зіпсувати його або неправильно налаштувати. Щоб виправити це, ми збираємося пояснити, як легко вручну налаштувати демон Network Time Protocol під Linux.

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

  Як дефрагментувати жорсткий диск на 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.

  Як грати в ігри PlayStation 2 на 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 зберігати час, але не синхронізуватися з чимось. По суті, це збереже час і ні в чому не заважатиме. Він менш надійний, але працює. Питання в тому, чому ви хочете це зробити?

  Як встановити еквалайзер PulseAudio на Linux і покращити звук

Основна причина, по якій можна використовувати місцевий час, а не щось на зразок NTP, полягає в тому, що подвійне завантаження заважає вашому часу. Якщо ви коли-небудь завантажували Linux, а потім перезавантажували Windows 10, ви помітите перерви. Це тому, що обидві операційні системи мають службу синхронізації часу і борються між собою. Основний спосіб виправити це – вимкнути синхронізацію часу в Linux.

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

Запуск timedatectl повинен виправити це:

sudo timedatectl set-local-rtc 1

Після повернення до місцевого часу може знадобитися перезавантажити ПК. Після повторного входу все має використовувати місцевий час.

Хочете вимкнути місцевий час? Якщо так, вам доведеться повторно запустити команду timedatectl. Спробуйте виконати команду нижче.

sudo timedatectl set-local-rtc 0

Як і раніше, перезавантажте свій ПК з Linux. Під час наступного входу місцевий час не повинен використовуватися.