Продолжаем тему настройки даты и времени в Кали Линукс обновлённой версии. В этой статье рассматривается вопрос о том, как правильно установить часы в Кали Линукс при помощи различных команд, в том числе синхронизируясь через сетевой временной протокол NTP. В Кали это можно сделать через GUI и с помощью терминала. С первого и начну. Как и в большинстве ОС, завязанных на графическом интерфейсе, в Кали доступны настройки даты и времени. Настройки доступны из контекстного меню от правой кнопки мыши и снабжены короткой справкой при наведении на рисунок в виде спасательного кружка:
То есть либо оставляем пустым либо дублируем рукописным вводом нужной зоны. Правильно заполнить поле можно сверившись со списком зон, о котором вы узнаете по ходу статьи. Чаще всего этими настройками пользователи остаются удовлетворены. Впрочем, изменения здесь проводимые не всегда вступают в силу. Так что призываем на помощь терминальные утилиты. Для начала можете проверить текущую временную зону с помощью командной утилиты timedatectl. Она призвана просматривать и менять системные время и дату. Так и вводим
timedatectl
Сразу обратите внимание на предупреждение консоли. Если с временными настройками “что-то не так”, оно не замедлит появиться. У меня так и вышло:
timedatectl Local time: Чт 2021-09-16 17:58:05 MSK Universal time: Чт 2021-09-16 14:58:05 UTC RTC time: Чт 2021-09-16 14:58:04 Time zone: Europe/Moscow (MSK, +0300) System clock synchronized: no NTP service: n/a RTC in local TZ: yes Warning: The system is configured to read the RTC time in the local time zone. This mode cannot be fully supported. It will create various problems with time zone changes and daylight saving time adjustments. The RTC time is never updated, it relies on external facilities to maintain it. If at all possible, use RTC in UTC by calling 'timedatectl set-local-rtc 0'.
Терминал предупредил, что хотя система и считывает RTC в текущей зоне (а оно статично и не обновляется), в некоторых регионах оно может сбиваться. Даже попросту врать, причём от сеанса к сеансу. На ум сразу приходила порой выручающая синхронизация часов с мировым временем в Windows. Но тут же предлагается вариант с командой обнулить:
timedatectl set-local-rtc 0
Повторяем проверку:
timedatectl
Всё вроде бы встало на свои места:
System clock synchronized: no NTP service: n/a RTC in local TZ: yes
как раз и утверждает, что система списывает время (по факту) с потолка. Если вас интересует синхронизация с сетью, спускайтесь к абзацу про NTP.
Как установить часы в Кали Линукс с помощью timedatectl?
Если Кали не слушается, и часовой пояс не меняется, его мы сможем всегда отрегулировать в полуавтоматическом режиме. Заглянем в директорию /usr/share/zoneinfo.
timedatectl list-timezones
Терминал выведет список зон. Ищем подходящую клавишами PageDown и стрелочками вверх/вниз. Моя эта – Europe/Moscow. Копирую и, открыв следующее окно терминала ввожу
sudo timedatectl set-timezone Europe/Moscow
Теперь можно проверить уже известной вам командой:
timedatectl
Для включения или выключения сетевой синхронизации можно использовать команды:
sudo timedatectl set-ntp on
или
sudo timedatectl set-ntp off
Так мы и подобрались к синхронизации с мировым временем.
Синхронизация времени в Кали Линукс: служба NTP.
Особое применение тема нашла у серверных машин и вообще рекомендуется для настольных компьютеров. Чертовски полезно в тех случаях, когда ноутбук под управлением Linux лишён батареи (или та пристёгнута в качестве “мебели”), а у настольного компьютера, к примеру, подсела батарейка питания CMOS на материнской плате. Короче – чтобы установить время в Кали Линукс при помощи NTP вам просто понадобится соединение с интернетом. И только. Network Time Protocol представляет собой протокол UDP/IP синхронизации времени через сетевое соединение. Смысл прост – клиентская машина запрашивает текущее время от нужного сервера, ответ от которого “заводится” в сеанс. Куча серверов службы завязаны в том числе и по GPS, сверяясь в итоге с “атомными” часами, в точности с которыми не поспоришь. Это всё, конечно, просто лишь на словах. Но вся сложность от конечного пользователя скрыта. Так или иначе приведённые выше две команды включат или выключат синхронизацию часов в вашей системе. Если что-то пошло не так, и вы не довольны предыдущими результатами по настройке даты и времени, всегда можно сервис убрать. Не исключено (как ни странно это не прозвучит), что с этих команд и придётся начать работу со NTP-службой:
sudo apt remove ntp sudo apt-get purge ntp
При этом в Кали автоматически попытается подгрузиться systemd-timesyncd. Не факт, что всё получится. Так что скорректируем синхронизацию через NTP для каждого из будущих сеансов. Для этого включаем поддержку NTP в timesyncd. Заручимся поддержкой серверов проекта NTP Pool Project для России с адресом
ru.pool.ntp.org
Информация по адресам других регионов здесь. А мы продолжаем. В терминале откроем документ
sudo mousepad /etc/systemd/timesyncd.conf
в котором раскомментируем строчку <#NTP=>, введя адрес для региона. Для меня стала актуальной такая строчка:
NTP=ru.pool.ntp.org
Вот так:
Сохраняемся через CTRL+S и выходим из редактора. Теперь чтобы ни случилось, Кали Линукс будет сверяться с часами интернета как только вы к нему подключитесь. Подключаемся и мы следующей командой из терминала прямо сейчас:
sudo timedatectl set-ntp true
sudo timedatectl status
Как установить время вручную?
Догадываюсь, зачем это может некоторым понадобиться. Да – часы в Кали Линукс можно установить произвольно (придётся, правда, подучить сокращения месяцев на английском):
sudo date -s "16 SE
PT 2021 12:30:00"
по типу:
- Январь – JAN
- Февраль – FEB
- Март – MAR
- Апрель – APR
- Май – MAY
- Июнь – JUNE
- Июль – JULY
- Август – AUG
- Сентябрь – SEPT
- Октябрь – OCT
- Ноябрь – NOV
- Декабрь – DEC
Желаете, чтобы Кали списывала время с системных часов материнской платы? Тогда вот так (но прокатывает далеко не всегда):
sudo hwclock -w
Как установить время в Кали Линукс: tzdata
Не знаю почему забыл об этом способе. Но даже после синхронизации с сетевыми серверами упомяну и о нём. Это быстро. Вводим в терминале команду вызова пакета настройки временной зоны:
sudo dpkg-reconfigure tzdata
Мой пояс располагается в Европе (соглашаемся клавишей TAB и жмём ОК). Теперь выбираем город, сориентированный по конкретной временной зоне. В моём городе она совпадает с Москвой. Соглашаюсь ОК-еем, и в итоге окно терминала провожает меня установленными по умолчанию настройками времени: