Я хотел бы, чтобы Ubuntu автоматически синхронизировал мои системные часы с сервером времени при запуске.
Однако мой компьютер не подключается к Интернету до тех пор, пока я не войду в систему (плюс 5 - 10 секунд, если хотите)
Как я могу настроить это сделать это?
Ответы:
Это сделано с NTP, для которого имеются инструкции . По сути, вам нужно установить демон NTP. Кажется, есть несколько вариантов, но «стандартный» есть в упаковке
ntp
. Согласно инструкциям на связанной странице,получит все настройки для синхронизации с NTP-сервером Ubuntu.
РЕДАКТИРОВАТЬ : я пропустил "при запуске". Как правило, рекомендуется использовать ntpd для непрерывной синхронизации между вашей системой и сервером, но если вы действительно хотите синхронизироваться только один раз, ответ mfisch, похоже, будет именно тем, что вы ищете.
источник
Если вы перейдете в «Система-> Администрирование-> Время и дата», вы получите графический интерфейс для установки даты / времени.
Опция предоставляется для использования серверов времени. Если вы проверите его и NTP не установлен, он спросит, хотите ли вы установить его. Просто нажмите «да», и пусть он сделает свое дело :)
источник
Вы можете сделать это используя at и ntpdate . Возможно, он уже установлен, но ntpdate может и не быть. (apt-get установить ntpdate).
Сначала создайте небольшой скрипт, который запускает ntpdate, назовем его update_time.sh.
В вашем файле .bash_login (который вам может понадобиться создать) добавьте:
Это должно делать то, что вы хотите. Вы можете изменить задержку на 5 минут, 10 минут и т. Д.
РЕДАКТИРОВАТЬ: Я только что понял, что вам нужно быть пользователем root для запуска
ntpdate
. Вам нужно будет установить бит SUID в скрипте update_time.sh, о котором я упоминал. Вы можете сделать это, запустив это из команды (нужно запустить только один раз):источник
at
? И если вы собираетесь автоматически запускатьntpdate
, почему бы просто не установитьntp
службу?Начиная с Ubuntu 16.04 timedatectl / timesyncd (которые являются частью systemd) заменяют большую часть ntpdate / ntp. См. Синхронизация времени .
Вам может потребоваться активировать синхронизацию времени, используя:
$ sudo timedatectl set-ntp on
Если вы хотите использовать Chrony:
Если вам требуется синхронизация по одному кадру:
$ chronyd -q
Если вам требуется проверка времени одним выстрелом, без установки времени:
$ chronyd -Q
Для непрерывной синхронизации рекомендуемое решение является хроническим:
Вам также может понадобиться активировать
sudo timedatectl set-ntp on
Обновление. Другой способ, если вышеприведенное не работает, - установить задание cron для запуска.
$ chronyd -q
источник