Saya menjalankan Ubuntu pada sistem embedded berbasis ARM yang tidak memiliki RTC yang didukung baterai. Waktu bangun ada di suatu tempat selama tahun 1970. Jadi, saya menggunakan layanan NTP untuk memperbarui waktu ke waktu saat ini.
Saya menambahkan baris berikut ke /etc/rc.local
file:
sudo ntpdate -s time.nist.gov
Namun, setelah startup, masih perlu beberapa menit sampai waktu diperbarui, selama periode itu saya tidak dapat bekerja secara efektif dengan tar
dan make
.
Bagaimana saya bisa memaksa pembaruan jam pada waktu tertentu?
UPDATE 1: Berikut ini (terima kasih kepada Eric dan Stephan) berfungsi dengan baik dari baris perintah, tetapi gagal memperbarui jam ketika dimasukkan ke dalam /etc/rc.local
:
$ date ; sudo service ntp stop ; sudo ntpdate -s time.nist.gov ; sudo service ntp start ; date
Thu Jan 1 00:00:58 UTC 1970
* Stopping NTP server ntpd [ OK ]
* Starting NTP server [ OK ]
Thu Feb 14 18:52:21 UTC 2013
Apa yang saya lakukan salah?
UPDATE 2: Saya mencoba mengikuti beberapa saran yang datang sebagai tanggapan terhadap pembaruan 1, tetapi tampaknya tidak ada yang benar-benar melakukan pekerjaan seperti yang diperlukan. Inilah yang saya coba:
- Ganti server ke
us.pool.ntp.org
- Gunakan jalur eksplisit ke program
- Lepaskan
ntp
layanan sama sekali dan meninggalkan hanyasudo ntpdate ...
dirc.local
- Hapus
sudo
dari perintah di atas dirc.local
Menggunakan di atas, mesin masih mulai pada tahun 1970. Namun, ketika melakukan ini dari baris perintah setelah login (via ssh
), jam akan diperbarui segera setelah saya memohon ntpdate
.
Hal terakhir yang saya lakukan adalah menghapus itu dari rc.local
dan melakukan panggilan ke ntpdate
dalam .bashrc
file saya . Ini memperbarui jam seperti yang diharapkan, dan saya mendapatkan waktu saat ini yang sebenarnya setelah prompt perintah tersedia.
Namun , ini berarti bahwa jika mesin dihidupkan dan tidak ada pengguna yang login, maka waktu tidak akan pernah mendapat pembaruan. Saya dapat, tentu saja, menginstal ulang ntp
layanan sehingga setidaknya jam diperbarui dalam beberapa menit dari startup, tapi kemudian kita kembali ke kotak 1.
Jadi, apakah ada alasan mengapa menempatkan ntpdate
perintah di rc.local
tidak melakukan tugas yang diperlukan, sementara melakukannya dengan .bashrc
baik?
sudo
file /etc/rc.locale .. semuanya sudah dijalankan sebagai root.
timedatectl
, tetapi askubuntu.com/questions/832646/…
ntpdate -s ntp.ubuntu.com
[1]: askubuntu.com/a/81301/130162