На моем Ubuntu 10.04 я (пользователь, а не root) могу выдавать
sudo net time set
, и он прекрасно работает.
Я бы предпочел, чтобы ящик получал чистое время на более регулярной основе или, по крайней мере, каждый раз, когда он входил в систему. Поэтому я попытался добавить set net set set в / etc / профиль . Это не удается. Я добавил строфы, похожие на
user ALL=(ALL) NOPASSWD: /usr/bin/net
в / etc / sudoers (используя visudo ). Не помогло.
Я никогда не трогал cron , поэтому понятия не имею, как добавить вкладку chron. (кажется, оксюморонная зависимость от системного времени для сброса системного времени.)
(да, мой ящик получает свой адрес по dhcp, но его сервер dhcp контролирует 4 Гигабитные карты enet, подключенные к высокоскоростным камерам. Иногда при входе в систему «при загрузке» сервер dhcp оставляет мне видеть только 1 камеру.)
Заранее спасибо.
(Да, я добавляю второй ответ.)
Из вашего описания вы добавили соответствующую строку в /etc/sudoers
, но не вызываете sudo
в /etc/profile
.
Команда в /etc/profile
должна быть:
sudo net time set
Обратите внимание, что это будет выполняться каждый раз, когда любая учетная запись входит в систему. Это то, что вы хотите, или было бы более разумно ввести команду в $HOME/.profile
?
Чтобы сделать это работой cron, вы можете добавить что-то вроде этого:
0 * * * * * sudo net time set
, скажем, foo.txt
, затем crontab foo.txt
. После этого crontab -l
покажет вам ваши текущие задания cron. С заданными параметрами задание будет выполняться раз в час; man 5 crontab
и отрегулируйте при необходимости. могут быть некоторые проблемы, потому что задания cron выполняются в минимальной среде, но я не думаю, что /usr/bin/net
зависит от каких-либо переменных среды.
Обратите внимание, что в отличие от ntpd
, это может привести к тому, что часы вашей системы отскочат назад, что может вызвать проблемы.
Не беспокойтесь.
Обычный способ сохранить системные часы синхронизируемыми ntpd
. Это должно быть установлено и настроено по умолчанию на Ubuntu. Вы имеете ntpd
выполнение процесса? Часы действительно ли Вашей системы являются неправильными?
РЕДАКТИРОВАНИЕ:
Из Вашего комментария к моему другому ответу похоже, что у Вас есть сервер NTP, который можно использовать.
Вы должны уже иметь ntp
программное обеспечение установлено в Вашей системе. dpkg -l ntp
проверить. Вы, вероятно, имеете ntpd
демон, уже работающий, хотя это не будет работать, потому что это не знает со что сервером говорить; ps -ef | grep ntpd
подтвердить это.
/etc/ntp.conf
конфигурационный файл для ntp. Версия по умолчанию имеет:
server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org
Прокомментируйте те строки и добавьте:
server your.ntp.server
затем выполненный:
sudo /etc/init.d ntp restart
man ntpd
для получения дополнительной информации, но этого должно быть достаточно для получения Вас движение.