it-swarm-vi.com

Làm cách nào để thiết lập Ubuntu để đồng bộ hóa đồng hồ của tôi với máy chủ thời gian?

Tôi muốn Ubuntu tự động đồng bộ hóa đồng hồ hệ thống của tôi với máy chủ thời gian khi khởi động.

Tuy nhiên, PC của tôi không được kết nối với Internet cho đến khi tôi đăng nhập (cộng thêm 5 - 10 giây để có biện pháp tốt).

Làm thế nào tôi có thể thiết lập nó để làm điều này?

23
Nathan Osman

Điều này được thực hiện với NTP, trong đó hướng dẫn có sẵn. Về cơ bản, bạn sẽ cần cài đặt một daemon NTP. Dường như có một số lựa chọn có sẵn nhưng lựa chọn "tiêu chuẩn" nằm trong gói ntp. Theo các hướng dẫn tại trang được liên kết,

Sudo apt-get install ntp

sẽ nhận mọi thứ được thiết lập để đồng bộ hóa với máy chủ NTP của Ubuntu.

CHỈNH SỬA: Tôi đã bỏ lỡ "khi khởi động." Nói chung, nên sử dụng ntpd để nhận được đồng bộ hóa liên tục giữa hệ thống của bạn và máy chủ, nhưng nếu bạn thực sự chỉ muốn đồng bộ hóa một lần, câu trả lời của mfisch dường như là điều bạn đang tìm kiếm.

32
David Z

Nếu bạn đi đến "Hệ thống-> Quản trị-> Thời gian và Ngày", bạn sẽ nhận được GUI để đặt ngày/giờ.

Một tùy chọn được cung cấp để sử dụng máy chủ thời gian. Nếu bạn kiểm tra nó và NTP chưa được cài đặt, nó sẽ hỏi bạn có muốn cài đặt nó không. Chỉ cần nhấp vào "có" và để nó thực hiện công việc của mình :)

9
Little Jawa

Bạn có thể làm điều này bằng cách sử dụng atntpdate. tại có lẽ đã được cài đặt, nhưng ntpdate có thể không. (apt-get cài đặt ntpdate).

Đầu tiên tạo một tập lệnh nhỏ chạy ntpdate, hãy gọi nó là update_time.sh.

#!/bin/bash
ntpdate pool.ntp.org

Trong tệp .bash_login của bạn (mà bạn có thể cần tạo), hãy thêm vào đây:

at -f ~/update_time.sh now + 1 minute

Điều đó nên làm những gì bạn muốn. Bạn có thể thay đổi độ trễ mà at sử dụng là 5 phút, 10 phút, v.v.

EDIT: Tôi mới nhận ra rằng bạn sẽ cần phải root để chạy ntpdate. Bạn sẽ cần đặt bit SUID trên tập lệnh update_time.sh mà tôi đã đề cập. Bạn có thể làm điều đó bằng cách chạy lệnh này từ lệnh (chỉ cần chạy một lần):

Sudo chmod 4711 update_time.sh
Sudo chown root update_time.sh
6
mfisch

Vì Ubuntu 16.04 timedatectl/timesyncd (là một phần của systemd) thay thế hầu hết ntpdate/ntp. Xem Đồng bộ hóa thời gian .

Bạn có thể cần kích hoạt đồng bộ hóa thời gian bằng cách sử dụng:

$ Sudo timedatectl set-ntp on

Nếu bạn muốn sử dụng chrony:

  • Nếu bạn yêu cầu đồng bộ hóa một lần, hãy sử dụng: $ chronyd -q

  • Nếu bạn yêu cầu kiểm tra thời gian một lần, mà không đặt thời gian sử dụng: $ chronyd -Q

  • Để đồng bộ hóa liên tục, giải pháp được đề xuất là chrony:

niên đại (d)

NTP daemon chronyd tính toán độ lệch và độ lệch của đồng hồ hệ thống của bạn và liên tục điều chỉnh nó, do đó, không có sự điều chỉnh lớn nào có thể dẫn đến các bản ghi không nhất quán. Chi phí là một chút sức mạnh xử lý và bộ nhớ, nhưng đối với một máy chủ hiện đại, điều này thường không đáng kể. Cài đặt

Để cài đặt chrony, từ thiết bị đầu cuối Nhắc:

$ Sudo apt install chrony

Bạn cũng có thể cần phải kích hoạt

Sudo timedatectl set-ntp trên

Cập nhật: Một phương pháp khác nếu cách trên không hoạt động là đặt công việc định kỳ để chạy $ chronyd -q

0
JBaczuk