Дата и временя в Debian
Введение
При работе в сети синхронизация времени и даты это важный
фактор увеличивающий стабильность и
безопасность
работы всех систем.
В этой статье вы узнаете как настраивать дату и время вручную. И, что более
важно - как синхронизировать их с ntp сервером.
Узнать текущее системное время
Узнать текущее системное время можно командой date
date
2024-12-13 04:47:16.364911+02:00
Узнать текущее время BIOS
Узнать текущее системное время BIOS можно командой hwclock
sudo hwclock
2024-12-13 04:47:16.389911+02:00
date и hwclock могут показывать совершенно разное время
Исправить текущее время
Сначала нужно задать время командой date
date MMDDhhmmCCYY.ss
MM | две цифры текущего месяца (пример: январь=01); |
DD | две цифры текущей даты (если текущий календарный день 1, то пишется 01); |
hh | две цифры обозначающие час |
mm | две цифры обозначающие минуты |
CCYY | четыре цифры года |
ss | две цифры секунд |
Также можно вводить «date MMDDhhmmCCYY» без секунд, тогда секунды выставляются на ноль.
После выполнения date нужно внести новое установленное время в BIOS:
hwclock --systohc
Теперь осталось только проверить сохранились ли изменения
sudo hwclock
Синхронизация с ntp
Проверьте установлен ли ntp командой
which ntpd
/usr/sbin/ntpd
Если ntp не установлен выполните
sudo apt install ntp
Проверьте запускается ли ntpd автоматически командой
systemctl list-unit-files | grep ntpd.s
ntpd.service enabled
Если 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
success
success
Отредактируйте файл ntp.conf с настройками сервера
vi /etc/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
systemctl restart ntpd
Проверить откуда берётся время можно командой
ntpq -p
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 по только что полученному времени можно командой
hwclock --systohc
Заставить систему синхронизовать время с ntp
Можно следующей командой
sudo ntpdate -u 0.fi.pool.ntp.org
Вместо 0.fi.pool.ntp.org поставьте нужный вам сервер. Например, для России подойдёт один из
server 0.ru.pool.ntp.org
server 1.ru.pool.ntp.org
server 2.ru.pool.ntp.org
server 3.ru.pool.ntp.org
Timezone
Узнать текущую временную зону
timedatectl
Local time: Fri 2024-12-13 04:47:16. EEST Universal time: Fri 2024-12-13 02:47:16 UTC RTC time: Fri 2024-12-13 02:47:16 Time zone: Europe/Helsinki (EEST, +0300) System clock synchronized: yes NTP service: n/a RTC in local TZ: no
Изменить временную зону можно командой set-timezone
timedatectl set-timezone "America/Denver"
Проверить результат
timedatectl | grep "Time zone"
Time zone: America/Denver (MDT, -0600)