Хоча це може здатися як щось, про що слід подбати автоматично, налаштування часу в Linux часто можуть бути зіпсовані або налаштовані неправильно. Оскільки налаштування часу в Linux можуть бути заплутаними для звичайного користувача, ми збираємося розібратися та пояснити, як налаштувати синхронізацію часу мережі в Linux.
Окрім налаштування NTP, ми також пояснимо, як виправити дратівливу помилку часу під час подвійного завантаження Linux та Windows.
Налаштуйте протокол мережевого часу
Синхронізація програмного годинника на вашому ПК з Linux із серверами часу є найпоширенішим способом отримання точного часу. У більшості дистрибутивів Linux це робиться автоматично. Однак не кожен дистрибутив Linux використовує NTPd. Крім того, ті, хто це робить, можуть зіпсувати його або неправильно налаштувати. Щоб виправити це, ми збираємося пояснити, як легко вручну налаштувати демон Network Time Protocol під Linux.
Почніть, відкривши термінал і встановивши NTP, якщо він не встановлений на вашому комп’ютері. Велика ймовірність, що ви вже маєте його, але щоб бути в безпеці, ось команди, щоб отримати його для більшості сучасних дистрибутивів 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.
Відкрийте термінал і запустіть інструмент часового поясу:
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 зберігати час, але не синхронізуватися з чимось. По суті, це збереже час і ні в чому не заважатиме. Він менш надійний, але працює. Питання в тому, чому ви хочете це зробити?
Основна причина, по якій можна використовувати місцевий час, а не щось на зразок NTP, полягає в тому, що подвійне завантаження заважає вашому часу. Якщо ви коли-небудь завантажували Linux, а потім перезавантажували Windows 10, ви помітите перерви. Це тому, що обидві операційні системи мають службу синхронізації часу і борються між собою. Основний спосіб виправити це – вимкнути синхронізацію часу в Linux.
Примітка: пам’ятайте, що навіть якщо ви налаштували Linux на використання місцевого часу, Windows все ще може зіткнутися з проблемами. Обов’язково перевірте налаштування часу Windows, щоб переконатися, що не виникає подальших конфліктів з двома операційними системами.
Запуск timedatectl повинен виправити це:
sudo timedatectl set-local-rtc 1
Після повернення до місцевого часу може знадобитися перезавантажити ПК. Після повторного входу все має використовувати місцевий час.
Хочете вимкнути місцевий час? Якщо так, вам доведеться повторно запустити команду timedatectl. Спробуйте виконати команду нижче.
sudo timedatectl set-local-rtc 0
Як і раніше, перезавантажте свій ПК з Linux. Під час наступного входу місцевий час не повинен використовуватися.