Ubuntu'yu, pil destekli bir rtc'den yoksun ARM tabanlı gömülü bir sistemde çalıştırıyorum. Uyanma zamanı 1970'lerde bir yerlerde. Bu nedenle, saati geçerli saate güncellemek için NTP hizmetini kullanıyorum.
Aşağıdaki satırı ekledim /etc/rc.local
dosya:
sudo ntpdate -s time.nist.gov
Ancak, başlattıktan sonra, zaman güncellenene kadar hala birkaç dakika sürüyor, bu süre zarfında etkin bir şekilde çalışamıyorum tar
ve make
.
Herhangi bir zamanda saat güncellemesini nasıl zorlayabilirim?
GÜNCELLEME 1: Aşağıdakiler (Eric ve Stephan sayesinde) komut satırından iyi çalışır, ancak yerleştirildiğinde saati güncelleyemez /etc/rc.local
:
$ date ; sudo service ntp stop ; sudo ntpdate -s time.nist.gov ; sudo service ntp start ; dateThu Jan 1 00:00:58 UTC 1970 * Stopping NTP server ntpd [ OK ] * Starting NTP server [ OK ] Thu Feb 14 18:52:21 UTC 2013
Neyi yanlış yapıyorum?
GÜNCELLEME 2: 1. güncellemeye yanıt olarak gelen birkaç öneriyi takip etmeye çalıştım, ancak hiçbir şey işi gerektiği gibi yapmıyor gibi görünüyor. İşte denediğim şey:
- Sunucu değiştirin
us.pool.ntp.org
- Programlara açık yollar kullanma
- Kaldır
ntp
tamamen hizmet et ve sadece gitsudo ntpdate ...
içinderc.local
- Kaldır
sudo
yukarıdaki komuttanrc.local
Yukarıdakileri kullanarak, makine hala 1970'te başlıyor. Ancak, bunu bir kez giriş yaptıktan sonra komut satırından yaparken (via ssh
), çağırdığım anda saat güncellenir ntpdate
.
Yaptığım son şey, onu oradan çıkarmaktı. rc.local
ve bir arama yapın ntpdate
in my .bashrc
dosya. Bu, saati beklendiği gibi günceller ve komut istemi kullanılabilir olduğunda gerçek geçerli saati alırım.
Ancak bu, makine açıksa ve kullanıcı oturum açmamışsa, zamanın hiçbir zaman güncelleme almadığı anlamına gelir. Tabii ki, yeniden yükleyebilirim ntp
servis bu yüzden en azından saat başlangıçtan birkaç dakika içinde güncellenir, ancak daha sonra kare 1'e geri döndük.
Peki, yerleştirmenin bir nedeni var mı ntpdate
içeri buyruk rc.local
bunu yaparken gerekli görevi yerine getirmez .bashrc
gayet iyi çalışıyor?