Tôi đang chạy Ubuntu trên một hệ thống nhúng dựa trên ARM thiếu RTC hỗ trợ pin. Thời gian thức dậy ở đâu đó trong năm 1970. Vì vậy, tôi sử dụng dịch vụ NTP để cập nhật thời gian đến thời điểm hiện tại.
Tôi đã thêm dòng sau vào /etc/rc.local
tập tin:
sudo ntpdate -s time.nist.gov
Tuy nhiên, sau khi khởi động, vẫn mất vài phút cho đến khi thời gian được cập nhật, trong khoảng thời gian đó tôi không thể làm việc hiệu quả với tar
và make
.
Làm thế nào tôi có thể buộc cập nhật đồng hồ tại bất kỳ thời điểm nào?
CẬP NHẬT 1: Phần sau (nhờ Eric và Stephan) hoạt động tốt từ dòng lệnh, nhưng không cập nhật đồng hồ khi đưa vào /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
Tôi đang làm gì sai?
CẬP NHẬT 2: Tôi đã thử làm theo một vài gợi ý đáp ứng với bản cập nhật đầu tiên, nhưng dường như không có gì thực sự làm công việc theo yêu cầu. Đây là những gì tôi đã thử:
- Thay thế máy chủ thành
us.pool.ntp.org
- Sử dụng đường dẫn rõ ràng đến các chương trình
- Hủy bỏ
ntp
dịch vụ hoàn toàn và chỉ để lạisudo ntpdate ...
trongrc.local
- Loại bỏ các
sudo
lệnh trên trongrc.local
Sử dụng ở trên, máy vẫn bắt đầu từ năm 1970. Tuy nhiên, khi thực hiện việc này từ dòng lệnh một khi đã đăng nhập (thông qua ssh
), đồng hồ sẽ được cập nhật ngay khi tôi gọi ntpdate
.
Điều cuối cùng tôi đã làm là loại bỏ nó khỏi rc.local
và thực hiện một cuộc gọi đến ntpdate
trong .bashrc
tập tin của tôi . Điều này không cập nhật đồng hồ như mong đợi và tôi nhận được thời gian hiện tại thực sự một khi dấu nhắc lệnh có sẵn.
Tuy nhiên , điều này có nghĩa là nếu máy được bật và không có người dùng nào đăng nhập, thì thời gian không bao giờ được cập nhật. Tất nhiên, tôi có thể cài đặt lại ntp
dịch vụ để ít nhất đồng hồ được cập nhật trong vòng vài phút kể từ khi khởi động, nhưng sau đó chúng tôi quay lại quảng trường 1.
Vì vậy, có một lý do tại sao đặt ntpdate
lệnh vào rc.local
không thực hiện các nhiệm vụ cần thiết, trong khi làm như vậy trong .bashrc
hoạt động tốt?
sudo
trong các tập tin /etc/rc.locale .. tất cả đều được chạy dưới dạng root.
timedatectl
, nhưng Askubfox.com/questions/832646/ cấp
ntpdate -s ntp.ubuntu.com
[1]: Askubfox.com/a/81602/130162