Pertanyaan Bagaimana cara mengatur Ubuntu untuk menyinkronkan jam saya dengan server waktu?


Saya ingin Ubuntu secara otomatis menyinkronkan jam sistem saya dengan server waktu saat startup.

Namun, PC saya tidak terhubung ke Internet sampai setelah saya masuk (ditambah 5 - 10 detik untuk mengukur baik).

Bagaimana saya bisa mengaturnya untuk melakukan ini?


23
2017-07-29 00:01


asal


Sudah ada jawaban yang sangat bagus di sini yang menjelaskan cara menginstal ntpd sehingga komputer Anda terus bersambungan dengan server waktu internet, tetapi saya hanya ingin menambahkan bahwa secara default Ubuntu akan menyinkronkan waktu dengan ntp.ubuntu.com kapan saja antarmuka jaringan Anda datang "naik" (misalnya ketika Anda memulai komputer Anda). Ini tidak terjadi dalam kasus Anda karena cara Anda terhubung ke internet, tetapi pembaca lain tidak boleh berasumsi bahwa Ubuntu tidak menyinkronkan waktu tanpa ntpd diinstal.
Ini adalah salah satu yang menjelaskan cara mengaturnya ke time.nist.gov: askubuntu.com/questions/972799/… - SDsolar


Jawaban:


Ini dilakukan dengan NTP, untuk yang instruksi tersedia. Pada dasarnya, Anda harus menginstal daemon NTP. Tampaknya ada beberapa pilihan yang tersedia tetapi yang "standar" ada dalam paket ntp. Menurut petunjuk di halaman yang terhubung,

sudo apt-get install ntp

akan menyiapkan segalanya untuk melakukan sinkronisasi dengan server NTP Ubuntu.

EDIT: Saya melewatkan "saat startup." Umumnya direkomendasikan untuk menggunakan ntpd untuk mendapatkan sinkronisasi berkelanjutan antara sistem Anda dan server, tetapi jika Anda benar-benar hanya ingin menyinkronkan satu kali, jawaban mfisch tampaknya adalah apa yang Anda cari.


31
2017-07-29 00:57



Saya pikir secara umum dia lebih baik hanya karena ntpd selalu berjalan dan hanya gagal menghubungkan ketika dia tidak online, itu tidak berbahaya. Dengan itu dikatakan, metode saya juga harus bekerja;) - mfisch
Saya baik-baik saja dengan itu berjalan terus menerus. - Nathan Osman
George, lakukan saja. Saya berharap untuk menjawab pertanyaan "nyata" Anda karena hal yang paling menjengkelkan di dunia adalah mengajukan pertanyaan seperti ini dan memiliki semua tanggapan adalah "mengapa Anda ingin melakukan itu?" - mfisch


Jika Anda pergi ke "System-> Administration-> Waktu dan Tanggal", Anda akan mendapatkan GUI untuk mengatur tanggal / waktu.

Sebuah opsi disediakan untuk menggunakan server waktu. Jika Anda memeriksanya dan NTP tidak diinstal, itu akan menanyakan apakah Anda ingin menginstalnya. Cukup klik "ya", dan biarkan ia melakukan tugasnya :)


9
2017-07-29 08:46



Lupa hal "startup". NTP melakukan pekerjaannya secara teratur, yang berarti Anda harus disinkronkan setiap kali Anda online ... Tetapi satu-satunya cara untuk memastikan adalah menggunakan beberapa jenis skrip yang disediakan oleh mfisch. Sejujurnya: setelah disinkronkan, ada sedikit kemungkinan komputer Anda akan kacau pada jamnya. Jadi, jika Anda menggunakan sinkronisasi waktu default, dan membiarkannya dilakukan di latar belakang, Anda sebaiknya selalu menggunakan sebagian besar waktu, tanpa harus melakukan apa-apa lagi. - Little Jawa
Bukankah ini diberi label "Waktu dan Tanggal"? - Firefeather
@Firefeather: mungkin. Saya tidak memiliki antarmuka inggris, jadi saya tidak tahu;) - Little Jawa
Ah, bodohnya aku, melupakan tentang internasionalisasi. Sistem en-us saya melabelinya "Waktu dan Tanggal". - Firefeather


Anda dapat melakukan ini menggunakan di dan ntpdate. di mungkin sudah terpasang, tapi ntpdate mungkin tidak. (apt-get install ntpdate).

Pertama buat skrip kecil yang menjalankan ntpdate, mari kita menyebutnya update_time.sh.

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

Di file .bash_login Anda (yang mungkin perlu Anda buat) tambahkan ini:

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

Itu harus melakukan apa yang Anda inginkan. Anda dapat mengubah penundaan itu di digunakan untuk menjadi 5 menit, 10 menit, dll.

EDIT: Saya baru menyadari bahwa Anda harus menjadi root untuk menjalankan ntpdate. Anda harus mengatur bit SUID pada skrip update_time.sh yang saya sebutkan. Anda dapat melakukannya dengan menjalankan ini dari perintah (hanya perlu dijalankan satu kali):

sudo chmod 4711 update_time.sh
sudo chown root update_time.sh

7
2017-07-29 00:57



iirc Anda tidak dapat mengatur suid pada skrip .sh. - Broam
Bisakah Anda melakukan suid pada ntpdate langsung? Itu mungkin akan mencapai hal yang sama. - mfisch
Mengapa digunakan? at? Dan jika Anda akan menjalankannya secara otomatis ntpdate, mengapa tidak menginstal saja ntp layanan? - Reinier Post
Catatan: ntpdate tidak lagi terinstal secara default pada Ubuntu (16.04+) dan tidak lagi mendukung timedatectl. timedatectl mengontrol layanan timeyncd sistemd, yang digunakan secara default untuk sinkronisasi waktu. - Corey Goldberg