На моем компьютере с Ubuntu 10.04 я (пользователь, не root) могу выполнить команду
sudo net time set
и это работает отлично.
Я бы предпочел, чтобы ящик получал чистое время на более регулярной основе или, по крайней мере, каждый раз, когда он входит в систему. Поэтому я попробовал добавитьчистое время установленок/etc/профиль. Это не удалось. Я добавил строфы, которые выглядят как
user ALL=(ALL) NOPASSWD: /usr/bin/net
к/etc/sudoers(с использованиемвизудо). Не помогло.
Я никогда не трогалхронпоэтому я понятия не имею, как добавить вкладку хронологии. (кажется, это оксюморон — зависеть от системного времени для сброса системного времени.)
- Как лучше всего это сделать?
- Если это задание cron, я был бы признателен за краткий пример.
- Те же вопросы, но для командыперезапуск службы dhcp3-сервера?
(да, мой ящик получает свой адрес по DHCP, но его DHCP-сервер управляет 4 гигабитными сетевыми картами, подключенными к высокоскоростным камерам. Иногда при входе в систему? загрузке? DHCP-сервер оставляет мне видной только 1 камеру.)
Заранее спасибо.
решение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
, это может привести к тому, что системные часы начнут отставать, что может вызвать проблемы.
решение2
Не беспокойтесь.
Обычный способ синхронизации системных часов — 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
для получения более подробной информации, но для начала вам этого должно быть достаточно.