- Настройка даты и времени в Linux
- Узнать текущее системное время
- Узнать текущее время BIOS
- Исправить текущее время
- Синхронизация с ntp
- Заставить систему синхронизовать время с ntp
- Как синхронизировать время в Linux
- Синхронизация времени в Linux и NTP
- Как включить синхронизацию времени в Linux
- Синхронизировать время в Linux с systemd
- Синхронизировать время в Linux без systemd
- Установить клиент ntpdate
- Установить ntpd Daemon
Настройка даты и времени в Linux
При работе в сети синхронизация времени и даты это важный фактор увеличивающий стабильность и безопасность работы всех систем.
В этой статье вы узнаете как настраивать дату и время вручную. И, что более важно — как синхронизировать их с ntp сервером.
Узнать текущее системное время
Узнать текущее системное время можно командой date
Узнать текущее время BIOS
Узнать текущее системное время BIOS можно командой hwclock
date и hwclock могут показывать совершенно разное время
Исправить текущее время
Сначала нужно задать время командой date
Также можно вводить «date MMDDhhmmCCYY» без секунд, тогда секунды выставляются на ноль.
После выполнения date нужно внести новое установленное время в BIOS:
Теперь осталось только проверить сохранились ли изменения
Синхронизация с ntp
Проверьте установлен ли ntp командой
Если ntp не установлен выполните
Проверьте запускается ли ntpd автоматически командой
systemctl list-unit-files | grep ntpd.s
Если ntpd неактивен (disabled) выполните
systemctl start ntpd
systemctl enable ntpd
Проверить добавлен ли сервис ntp в зону public в firewall можно командой
sudo firewall-cmd —get-services | grep ntp
Если ещё не добавлен, то чтобы разрешить UDP траффик от ntp выполните
firewall-cmd —permanent —add-service=ntp
firewall-cmd —reload
Отредактируйте файл ntp.conf с настройками сервера
Найдите свою временную зону на сайте www.ntppool.org
Я нашёл зону Helsinki и добавляю строки
server 0.fi.pool.ntp.org server 1.fi.pool.ntp.org server 2.fi.pool.ntp.org server 3.fi.pool.ntp.org
Теперь нужно перезапустить ntpd
Проверить откуда берётся время можно командой
remote refid st t when poll reach delay offset jitter ============================================================================== time.cloudflare 10.79.8.177 3 u 14 64 7 3.987 -0.366 0.016 37.228.129.2 193.66.253.94 2 u 16 64 7 5.301 -1.639 1.908 ivanova.ganneff 237.17.204.95 2 u 13 64 7 5.296 3.850 0.266 ntp23.kashra-se 192.168.100.15 2 u 12 64 5 32.935 -2.213 0.192
Выставить время BIOS по только что полученному времени можно командой
Заставить систему синхронизовать время с ntp
Вместо 0.fi.pool.ntp.org поставьте нужный вам сервер
Как синхронизировать время в Linux
Часы в компьютере далеко не идеальны. Через несколько дней, недель или месяцев они перестают отображать правильное время. Они могут показывать «10:30», тогда как на самом деле «10:33». На старых компьютерах было обычной практикой периодически переустанавливать часы компьютера вручную. Но после того, как интернет-соединения стали повсеместными, современные операционные системы начали автоматически настраивать часы с помощью NTP-серверов.
В статье я покажу, как синхронизировать время в Linux в дистрибутивах Ubuntu, Debian, Fedora, Arch Linux, openSUSE, Manjaro, CentOS, Elementary ОС, Zorin OS и т.д.
Синхронизация времени в Linux и NTP
NTP — это сокращение от Network Time Protocol. Это алгоритм, разработанный для синхронизации часов компьютера с помощью подключения к NTP-серверу.
Как включить синхронизацию времени в Linux
К счастью, большинство Linux-дистрибутивов по умолчанию синхронизируют время. Если вы не замечали, что часы вашего компьютера расходятся с часами телефона, тогда наверняка ваш дистрибутив использует NTP-клиент / демон.
Синхронизировать время в Linux с systemd
В большинстве дистрибутивов Linux используется systemd, а вместе с ним и демон systemd-timesyncd. Это означает, что у вас уже есть NTP-клиент, предварительно установленный в Ubuntu, Debian, Fedora, Arch Linux, openSUSE, Manjaro и других. На этих дистрибутивах (и других основанных на них, например, Elementary ОС, Zorin OS) чтобы проверить, включена ли синхронизация NTP запустите команду:
Если на выходе отображается « Network time on : yes », часы вашего компьютера автоматически синхорнизируются через NTP. Иногда вы можете также заметить NTP synchronized : — это означает, что часы синхронизируются с помощью другого инструмента.
Если вы видите Network time on : no , выполните следующую команду, чтобы включить синхронизацию времени NTP.
Это все, что вам нужно сделать в этих дистрибутивах.
Синхронизировать время в Linux без systemd
Для примера возьмем MX Linux. Запуск команды timedatectl показывает, что сетевое время включено, но systemd-timesyncd не используется. Как же синхронизировать время в таких дистрибутивах без systemd?
Проверьте с помощью следующей команды, которую вы можете использовать в любой другой операционной системе Linux.
В MX Linux вы увидите результат, подобный тому, что вы видите на следующем снимке экрана.
Из этого сообщения журнала видно, что клиент «ntpdate» запускался один раз. Это популярный клиент, установленный по умолчанию во многих дистрибутивах Linux. Он легкий и время от времени запрашивает только NTP-серверы. Он не работает в фоновом режиме и запускается сценариями, синхронизируется, а затем завершается.
Это означает, что время не синхронизируется с высокой точностью (например, миллисекунды или микросекунды), но оно достаточно точно для большинства.
В других операционных системах вы можете увидеть «ntpd», который является демоном, постоянно работающим в фоновом режиме и очень точным. Чем больше он работает, тем точнее время.
Если по какой-то причине вы хотите установить ntp или ntpdate в операционных системах с systemd, сначала отключите ntp-клиент systemd.
Конечно, приведенная выше команда не нужна в несистемных дистрибутивах.
Установить клиент ntpdate
Это подходит для домашних компьютеров, ноутбуков и других устройств, которые не постоянно подключены к Интернету.
На Debian, Ubuntu, Linux Mint, Zorin и других дистрибутивах, основанных на них, запустите:
На всех вышеперечисленных дистрибутивах на основе Debian он настроен по умолчанию на запуск после того, как обнаружит новое сетевое соединение. Вы можете принудительно синхронизировать время, если отключитесь от сети и подключитесь снова.
В Fedora ntpdate устарела, поэтому рекомендуется вместо этого использовать демон ntpd (см. Следующую главу). То же самое рекомендуется для всех других дистрибутивов по двум причинам:
- Иногда они не включают ntpdate в отдельный пакет, а связывают его с ntpd из следующего раздела.
- Они не автоматизируют запуск ntpdate автоматически при каждом сетевом подключении. Вы должны вставить ntpdate самостоятельно в скрипт, который автоматически запускается после подключения к сети.
В этом случае имеет смысл установить ntpd, как указано в следующей главе.
Установить ntpd Daemon
В Debian, Ubuntu, Zorin, Mint и других дистрибутивах, основанных на Debian или Ubuntu, запустите:
Эти дистрибутивы сразу запускают ntpd, а затем автоматически запускают его при каждой загрузке; никаких дальнейших действий от вас не требуется.
На Fedora установите с помощью: