Я злюсь на следующий вопрос. Я добавил PPA (ppa: savoury1/encryption) на двух машинах под управлением Ubuntu 20.10.
На первом я вижу:
apt-cache policy openssl
openssl:
Installato: 1.1.1j-1ubuntu0~20.10.sav0
Candidato: 1.1.1f-1ubuntu4.3
Tabella versione:
*** 1.1.1j-1ubuntu0~20.10.sav0 500
500 http://ppa.launchpad.net/savoury1/encryption/ubuntu groovy/main amd64 Packages
100 /var/lib/dpkg/status
1.1.1f-1ubuntu4.3 1000
500 http://archive.ubuntu.com/ubuntu groovy-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu groovy-security/main amd64 Packages
1.1.1f-1ubuntu4 1000
500 http://archive.ubuntu.com/ubuntu groovy/main amd64 Packages
На втором:
apt-cache policy openssl
openssl:
Installato: 1.1.1j-1ubuntu0~20.10.sav0
Candidato: 1.1.1j-1ubuntu0~20.10.sav0
Tabella versione:
*** 1.1.1j-1ubuntu0~20.10.sav0 500
500 http://ppa.launchpad.net/savoury1/encryption/ubuntu groovy/main amd64 Packages
100 /var/lib/dpkg/status
1.1.1f-1ubuntu4.3 500
500 http://archive.ubuntu.com/ubuntu groovy-updates/main amd64 Packages
500 http://archive.ubuntu.com/ubuntu groovy-security/main amd64 Packages
1.1.1f-1ubuntu4 500
500 http://archive.ubuntu.com/ubuntu groovy/main amd64 Packages
Почему кандидат отличается?
-121--898837-У меня есть сервер (Ubuntu 20,04) с асинхронным временем (неправильно примерно на 7,5 минут; RTC уже кажется равным/близким к "реальному" времени), который я хочу исправить:
timedatectl
Local time: Do 2021-04-08 14:32:02 CEST
Universal time: Do 2021-04-08 12:32:02 UTC
RTC time: Do 2021-04-08 12:24:16
Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: no
NTP service: n/a
RTC in local TZ: no
Для этого я включил некоторое время серверов в мой /etc/ntp.conf
(как описано здесь ) и перезапустил ntp через sudo service ntp restart
:
server 0.de.pool.ntp.org
server 1.de.pool.ntp.org
server 2.de.pool.ntp.org
server 3.de.pool.ntp.org
Затем я сделал sudo timedatectl set-time 14:25:00
, чтобы установить системное время так, чтобы несинхронизированное системное время было довольно близко к "реальному" времени.
После этого время на самом деле кажется (более) правильным (хотя и говорит: "Системные часы синхронизированы: нет"):
timedatectl
Local time: Do 2021-04-08 14:25:04 CEST
Universal time: Do 2021-04-08 12:25:04 UTC
RTC time: Do 2021-04-08 12:25:04
Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: no
NTP service: n/a
RTC in local TZ: no
Но внезапно (примерно через полминуты) я получаю это снова (местное/универсальное время! = время RTC):
timedatectl
Local time: Do 2021-04-08 14:33:15 CEST
Universal time: Do 2021-04-08 12:33:15 UTC
RTC time: Do 2021-04-08 12:25:29
Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: no
NTP service: n/a
RTC in local TZ: no
Какой механизм может вмешиваться здесь, который сбрасывает "местное время" в неправильное время каждый раз снова?
[Обновить]
К настоящему времени я понял, что фактически существует два отдельных способа управления/синхронизации времени в Ubuntu:
Старый путь:
ntp
(более точно ntpd
с его конфигурационным файлом /etc/ntp.conf
)
- > которая, вероятно, все еще установлена в моей системе, поскольку несколько раз обновлялась со старых дистрибутивов Ubuntu
Новый способ:
timesyncd
, который кажется новым способом с момента Ubuntu 16,04 (с конфигурационным файлом /etc/systemd/timesyncd.conf
):
[...] Это должно гарантировать, что службы двухкратной синхронизации не будут работать. Хотя больше не рекомендуется использовать, это также относится к ntpd, устанавливаемому для сохранения любого типа старого поведения/конфигурации, которые были у вас при обновлении. Но это также означает, что при обновлении с предыдущей версии ntp/ntpdate все еще может быть установлена и поэтому делает новые службы на основе системы отключенными.
ntpdate считается устаревшим в пользу timedatectl (или chrony) и поэтому больше не устанавливается по умолчанию. timesyncd обычно делает правильные вещи, сохраняя ваше время синхронизированным [...]
Внимание: ntp/ntpd! = NTP протокол
Старый ntpd
сервис, который, я полагаю, установлен через sudo apt-get install ntp
не совпадает с протоколом NTP.
Это вызвало много путаницы при чтении статей об этой проблеме, потому что в контексте timesyncd
протокол NTP, конечно, используется, но это не имеет ничего общего с командой ntp
installation/ ntpd
, как я понимаю.
Я до сих пор не знаю, почему эта первоначальная проблема (возврат времени назад к неправильному времени) на самом деле произошла, но я мог, наконец, заработать, удалив ntp
( sudo apt-get remove ntp
), который вместо этого автоматически установил и настроил systemd-timesyncd
, так что все мои системные времена наконец установили правильные настройки:
По-прежнему асинхронный после установка:
$ timedatectl
Local time: Fr 2021-04-09 14:04:45 CEST
Universal time: Fr 2021-04-09 12:04:45 UTC
RTC time: Fr 2021-04-09 12:12:31
Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Через несколько минут, наконец, все в порядке:
$ timedatectl
Local time: Fr 2021-04-09 14:08:54 CEST
Universal time: Fr 2021-04-09 12:08:54 UTC
RTC time: Fr 2021-04-09 12:08:54
Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Большое спасибо за вашу помощь!
RTC - это часы реального времени, аппаратное время на батарее BIOS. BIOS-аккумулятор может выйти из строя, в результате чего аппаратные часы работают хуже, чем должны.