Jednym ze sposobów na to jest użycie, ntp
które nadal działa w Ubuntu 18.04. Uruchom następujące polecenie, aby zainstalować ntp
.
sudo apt install ntp
Po zainstalowaniu możesz uruchomić, ntpq -p
aby upewnić się, że działa.
~$ 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
Następnie /etc/crontab
dodaj plik, @reboot root /usr/sbin/ntpd -n
aby ntpd
automatycznie uruchomił się po ponownym uruchomieniu systemu. Użyj edytora podobnego gedit
lub mousepad
czy cokolwiek takiego:
pkexec gedit /etc/crontab
Powinno to wyglądać tak po dodaniu wiersza:
# /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
#
Następnie uruchom ponownie komputer, aby ustawienia odniosły skutek.
~$ 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
Jeśli chcesz zmienić swoje serwery na serwery Asia Pool , dodaj je do # Use servers from the NTP Pool Project.
części /etc/ntp.conf
pliku w następujący sposób:
# 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
Mam nadzieję że to pomoże!
timesyncd.conf
plikuNTP=0.ur.ntp.srv 1.ur.ntp.srv
:; Możesz także podać pulę serwerów (pula globalna lub specyficzna dla regionu lub kraju): pool.ntp.org/zone/@Dla mnie działało:
i wtedy...
Przykład:
źródło
Opcja GUI: Wybierz „Ustawienia” -> „Szczegóły” -> „Data i czas” -> Włącz „Automatyczną datę i godzinę”.
systemctl restart systemd-timesyncd
może pomócźródło
Dla tych, którzy używają Ubuntu 18+ w instancjach AWS EC2, stwierdziłem, że działało to fantastycznie. Wykorzystuje wewnętrzną usługę synchronizacji czasu AWS:
Dodaj następujący wiersz przed jakimkolwiek innym wpisem na serwerze:
i wtedy
Najlepszą częścią tej metody dla instancji EC2 jest to , że nie musisz modyfikować reguł grupy zabezpieczeń, nawet jeśli instancja nie jest połączona z Internetem :)
Źródło
źródło
Powiązany przypadek, który nie jest dokładnie ten, ale chcę go gdzieś dodać:
Możliwe jest, tak jak w moim przypadku, aby
timedatectl
dane wyjściowe odpowiadały portowi NTP blokowanemu przez twoją zaporę ogniową.W systemie Ubuntu możesz jawnie zezwolić na komunikację na porcie NTP 123, uruchamiając następujące polecenie:
Umożliwi to ruch wychodzący z usługi działającej na twoim komputerze za pomocą dowolnej kombinacji port / sieć-protokół do usług działających na zdalnym komputerze używającym portu 123 z dowolnym protokołem sieciowym. Obejmuje to usługi działające na zdalnych komputerach, które implementują protokół czasu sieciowego, który jest wymagany, aby móc poprosić o czas ze zdalnego komputera.
źródło