Các vấn đề về thời gian và múi giờ trên Raspberry Pi


14

Tôi có một Raspberry Pi mà tôi đang sử dụng trong múi giờ EST . Nó đã có dịch vụ NTP được cài đặt ( sudo apt-get install ntp) và Raspberry Pi được đặt thành múi giờ UTC. Ngày trên Raspberry Pi là chính xác, cho đến khi tôi đưa Raspberry Pi đến Múi giờ Thái Bình Dương (PT). Khi tôi khởi động Raspberry Pi, thời gian UTC trên Raspberry Pi đã tắt (sau 9 giờ) và NTP không đồng bộ hóa để có thời gian UTC chính xác. Raspberry Pi được kết nối với Internet thông qua Ethernet.

Tôi đã thử khởi động lại Raspberry Pi nhiều lần. Ngoài ra, tôi đã thử xóa dịch vụ NTP và cài đặt OpenNTPD . Điều gì có thể xảy ra?

Tôi đang sử dụng Raspberry Pi 3 với Raspbian Jessie .


1
Khi bạn đã tìm ra các múi giờ, hãy chắc chắn đặt Pi của bạn để có được thời gian chính xác từ Đồng hồ chủ tại Cục Tiêu chuẩn quốc gia: raspberrypi.stackexchange.com/questions/68811/
Thẻ

Câu trả lời:


18

Đây là một vài gợi ý.

  1. Sử dụng raspi-configtiện ích để đặt lại múi giờ ngay cả khi bạn đã sử dụng một công cụ khác để đặt nó.

    sudo raspi-config
    
  2. Tự đặt thời gian để có phần chính xác. NTP đôi khi sẽ không cập nhật nếu thời gian / ngày cực kỳ sai.

    sudo date -s "01/04/2017 11:00"
    
  3. Cập nhật thời gian thủ công:

    sudo systemctl stop ntp.service
    sudo ntpd -gqc /etc/ntpd.conf
    sudo systemctl start ntp.service
    
  4. Đảm bảo bạn không chặn cổng UDP 123.

May mắn nhất!


7

Trong nhiều hệ thống Linux, đồng hồ theo dõi thời gian trong UTC . Do tính năng giữ thời gian kém của Raspberry Pi, nên cài đặt và thiết lập đúng dịch vụ để giúp đỡ về thời gian, chẳng hạn như ntp.

Điều này còn phức tạp hơn bởi thực tế là Raspberry Pi không có cách giữ thời gian trong khi tắt / không có nguồn. Điều này có nghĩa là khi Raspberry Pi khởi động lại, thời gian của nó sẽ không đồng bộ hóa.

Khi bạn sử dụng lệnh như date, mà truy vấn cho thời gian, họ đưa bạn locale vào tài khoản. Điều này có nghĩa là datesẽ sử dụng bù múi giờ từ miền địa phương của bạn để xác định giờ địa phương. Khi bạn nhập date, bạn sẽ thấy múi giờ nào đang được hiển thị:

date
Wed Jan  4 11:01:44 PST 2017

Nếu bạn không đặt ngôn ngữ của mình đúng cách hoặc sử dụng -ucờ, bạn sẽ thấy:

date -u
Wed Jan  4 19:01:45 UTC 2017

Khi bạn so sánh thời gian và nói rằng đã hết 6 giờ, bạn đang so sánh thời gian UTC với thời gian UTC hiện tại hay bạn đang so sánh thời gian UTC với thời gian trong múi giờ của mình?

Khi bạn nhập date, bạn có hiển thị múi giờ thích hợp không? Nếu không, bạn nên thiết lập nó:

sudo dpkg-reconfigure tzdata # Select timezone

1

Tôi đã giải quyết vấn đề này bằng cách đặt thời gian bằng tay timedatectl, như vậy:

sudo timedatectl set-time 'yyyy-mm-dd hh-mm'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.