'timedatectl' дает следующий вывод -
Local time: Wed 2018-06-13 18:08:51 IST
Universal time: Wed 2018-06-13 12:38:51 UTC
RTC time: Wed 2018-06-13 12:38:51
Time zone: Asia/Kolkata (IST, +0530)
System clock synchronized: no
systemd-timesyncd.service active: yes
RTC in local TZ: no
Как установить Системные часы, синхронизируемые с да?
Один из способов сделать это - использовать ntp
, который все еще работает в Ubuntu 18.04. Выполните следующую команду для установки ntp
.
sudo apt install ntp
После установки вы можете запустить ntpq -p
, чтобы убедиться, что он работает.
~$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
0.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
1.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
2.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
3.ubuntu.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000
ntp.ubuntu.com .POOL. 16 p - 64 0 0.000 0.000 0.000
Затем в свой файл /etc/crontab
добавьте @reboot root /usr/sbin/ntpd -n
, чтобы ntpd
автоматически запускался при перезагрузке системы. Используйте ваш любимый редактор, например gedit
или mousepad
, или как вам угодно:
pkexec gedit /etc/crontab
Он должен выглядеть примерно так при добавлении строки:
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
@reboot root /usr/sbin/ntpd -n
#
Затем перезагрузитесь компьютер для вступления в силу настроек.
~$ timedatectl status
Local time: Wed 2018-06-13 06:55:35 MDT
Universal time: Wed 2018-06-13 12:55:35 UTC
RTC time: Wed 2018-06-13 12:55:36
Time zone: America/Denver (MDT, -0600)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no
Если вы хотите изменить серверы на серверы Asia Pool , добавьте их в часть # Use servers from the NTP Pool Project.
файла /etc/ntp.conf
следующим образом:
# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org
Надеюсь, это поможет!
Это можно сделать без развертывания NTP следующим образом:
sudo nano /etc/systemd/timesyncd.conf
Отредактируйте детали NTP-сервера
[Time]
NTP=ur.ntp.srv
FallbackNTP=ur.fallbackntp.srv
Затем
sudo systemctl daemon-reload
sudo timedatectl set-ntp off
sudo timedatectl set-ntp on
и вы можете проверить это с
timedatectl status
Для тех, которые используют Ubuntu 18 + на экземплярах AWS EC2, я нашел, что это работало фантастически. Это использует внутренний сервис синхронизации времени AW:
sudo apt install chrony
sudo nano /etc/chromny/chrony.conf
Добавляют следующую строку перед любой другой записью сервера:
server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
и затем
sudo /etc/init.d/chrony restart
большая часть об этом методе для экземпляров EC2 - то, что Вы не должны изменять свои правила группы безопасности, , даже если Ваш экземпляр не подключен к Интернету :)
Gui Option: Перейдите к "Настройкам"->, "Детали"-> "Дата и Время"-> Включают "Автоматическую Дату и время".
systemctl restart systemd-timesyncd
мог бы помочь
Следующее работало на меня:
timedatectl set-ntp true
и затем...
systemctl restart systemd-timesyncd
Пример:
Связанный случай, который не является точно этим, но я хочу добавить его где-нибудь:
Это возможно, как имел место для меня, для этого timedatectl
вывод для соответствия порту NTP, заблокированному брандмауэром.
На Ubuntu можно явно позволить связь на порте NTP 123 путем выполнения следующей команды:
sudo ufw allow out from any to any port 123
Это позволит исходящий трафик от сервиса, работающего на Вашем ПК с помощью любой комбинации порта/сетевого протокола для сервисов, работающих на удаленном порте использования машины 123 с любым сетевым протоколом. Это включает сервисы, работающие на удаленных машинах, которые реализуют протокол сетевого времени, который требуется для способности спросить в течение времени от удаленной машины.