- - วิธีตั้งค่าการซิงค์เวลาเครือข่ายบน Linux

วิธีการตั้งค่า Network Time Sync บน Linux

แม้ว่ามันอาจดูเหมือนสิ่งที่ควรได้รับการดูแลโดยอัตโนมัติการตั้งค่าเวลาบน Linux มักจะทำให้เกิดความสับสนหรือกำหนดค่าไม่ถูกต้อง เนื่องจากการตั้งค่าเวลาบน Linux อาจสร้างความสับสนให้กับผู้ใช้โดยเฉลี่ยเรากำลังจะพังทลายและอธิบายวิธีตั้งค่าการซิงค์เวลาเครือข่ายบน Linux

นอกเหนือจากการตั้งค่า NTP แล้วเราจะอธิบายวิธีแก้ไขข้อผิดพลาดเกี่ยวกับเวลาที่น่ารำคาญเมื่อใช้งานคู่กับ Linux และ Windows

กำหนดค่าโปรโตคอลเวลาเครือข่าย

การซิงค์นาฬิกาซอฟต์แวร์บน Linux PC ของคุณด้วยเซิร์ฟเวอร์เวลาเป็นวิธีที่ใช้กันโดยทั่วไปเพื่อให้ได้เวลาที่แม่นยำ ในลีนุกซ์ส่วนใหญ่, สิ่งนี้จะทำโดยอัตโนมัติ อย่างไรก็ตามไม่ใช่ทุกการแจกจ่าย Linux ที่ใช้ NTPd นอกจากนี้คนที่ทำอาจเลอะหรือกำหนดค่าไม่ถูกต้อง ในการแก้ไขปัญหานี้เราจะอธิบายว่าการกำหนดค่า Network Time Protocol daemon ด้วยตนเองได้ง่ายเพียงใดภายใต้ Linux

เริ่มต้นด้วยการเปิด terminal และกำลังติดตั้ง NTP หากพีซีของคุณไม่ได้ติดตั้งไว้ มีโอกาสที่ดีที่คุณมีอยู่แล้ว แต่เพื่อความปลอดภัยนี่คือคำสั่งที่จะรับมันสำหรับการแจกจ่าย Linux ที่ทันสมัยที่สุด

อูบุนตู

sudo apt install ntp

Debian

sudo apt-get install ntp

Arch Linux

sudo pacman -S ntp

Fedora

sudo dnf install ntp

OpenSUSE

sudo zypper install ntp

เมื่อติดตั้งซอฟต์แวร์แล้วคุณจะต้องเชื่อมต่อกับเซิร์ฟเวอร์ NTP ในครั้งต่อไป ตามค่าเริ่มต้นการแจกจ่าย Linux ส่วนใหญ่จะมีเซิร์ฟเวอร์ NTP ของตนเองที่กำหนดค่าไว้ใน /etc/ntp.conf ไฟล์. อย่างไรก็ตามหากคุณรู้สึกว่าเซิร์ฟเวอร์เหล่านี้ไม่น่าเชื่อถือคุณสามารถเปลี่ยนเป็นเซิร์ฟเวอร์ที่เชื่อถือได้มากขึ้น (เช่นเซิร์ฟเวอร์ Google NTP อย่างเป็นทางการ)

หากต้องการเพิ่มเซิร์ฟเวอร์ Google NTP ให้แก้ไข ntp.conf ไฟล์.

sudo nano /etc/ntp.conf

ลบรายการทั้งหมดหากคุณต้องการและแทนที่ด้วยสิ่งเหล่านี้ (แม้ว่าเราจะไม่แนะนำ) เพื่อผลลัพธ์ที่ดีที่สุดให้วางรายการ Google NTP ที่ด้านบนสุด

หมายเหตุ: สิ่งสำคัญคือ iBurst อยู่ที่ท้ายรายการใหม่แต่ละรายการ iBurst ตัวเลือกจะส่ง“ ระเบิด” ของแพ็คเก็ตไปยังเซิร์ฟเวอร์เฉพาะเมื่อคุณประสบปัญหาการเชื่อมต่อกับเซิร์ฟเวอร์เวลา

server time.google.com iburst
server time2.google.com iburst
server time3.google.com iburst

เมื่อเสร็จแล้วให้บันทึกไฟล์การกำหนดค่าใน Nano ด้วย Ctrl + O. ออกจากตัวแก้ไขด้วย Ctrl + X.

กำหนดเวลา

NTP สามารถซิงค์เวลาโดยอัตโนมัติจากเซิร์ฟเวอร์ แต่ก่อนอื่นต้องทราบเขตเวลา โดยปกติในระหว่างการติดตั้งครั้งแรกระบบปฏิบัติการ Linux ของคุณจะถามเขตเวลาและตั้งค่า หากมีข้อผิดพลาดระหว่างการติดตั้งจะต้องแก้ไขด้วยตนเองโดยใช้ tzselect.

เปิดเทอร์มินัลและเรียกใช้เครื่องมือเขตเวลา:

tzselect

การรันเครื่องมือ Tzselect จะนำคุณไปสู่การกำหนดค่าโซนเวลาที่ถูกต้อง เมื่อเสร็จแล้วคุณจะสามารถเริ่ม NTPd ได้

กำลังเริ่ม NTP

การเชื่อมต่อทั้งหมดไปยังเซิร์ฟเวอร์เวลาทำงาน ขั้นตอนต่อไปในกระบวนการคือการใช้ระบบเริ่มต้น Systemd เพื่อโหลด NTP ตอนบูต เข้าใจว่าหากระบบปฏิบัติการ Linux ของคุณไม่ได้ใช้ systemd เหมือนระบบกระแสหลักที่ทันสมัยคุณจะต้องหาทางเลือกอื่นสำหรับคำสั่งเหล่านี้

ก่อนอื่นให้เริ่ม NTPd:

sudo systemctl start ntpd.service

จากนั้นเปิดใช้งานตอนบูตด้วย systemctl เปิดใช้งาน.

sudo systemctl enable ntpd.service

การรันคำสั่งข้างต้นควรกำหนดเวลาทันทีเนื่องจากเวลา UTC บน BIOS ของคุณถูกต้องแล้ว (ขอบคุณ Tzselect)

ใช้เวลาท้องถิ่น

มีวิธีอื่นในการตั้งเวลาบน Linuxจาก NTP ทางเลือกที่ได้รับความนิยมสูงสุดสำหรับวิธีการนี้คือ เวลาท้องถิ่นบอกให้ Linux เก็บเวลา แต่ไม่ซิงค์กับสิ่งใด เป็นหลักมันจะทำให้เวลาอยู่ในตัวเองและไม่ยุ่งกับอะไร มันเชื่อถือได้น้อยลง แต่ใช้งานได้ คำถามคือทำไมคุณต้องการทำเช่นนี้?

เหตุผลหลักที่ใคร ๆ ก็ไปตามเวลาท้องถิ่นสิ่งที่ต้องการ NTP คือการบูทคู่กับเวลาของคุณ หากคุณเคยโหลด Linux แล้วเริ่มระบบใหม่ใน Windows 10 คุณจะสังเกตเห็นการแบ่งเวลา นี่เป็นเพราะทั้งสองระบบปฏิบัติการมีบริการซิงค์เวลาและต่อสู้ซึ่งกันและกัน วิธีหลักในการแก้ไขปัญหานี้คือการปิดใช้งานการซิงค์เวลาใน Linux

บันทึก: โปรดทราบว่าแม้ว่าคุณจะตั้ง Linux ให้ใช้เวลาท้องถิ่น Windows อาจยังประสบปัญหาอยู่ ตรวจสอบให้แน่ใจว่าได้ตรวจสอบการตั้งค่าเวลาของ Windows เพื่อให้แน่ใจว่าไม่มีข้อขัดแย้งเพิ่มเติมกับระบบปฏิบัติการสองระบบ

วิ่ง timedatectl ควรแก้ไข:

sudo timedatectl set-local-rtc 1

หลังจากเปลี่ยนกลับเป็นเวลาท้องถิ่นคุณอาจต้องรีบูตพีซีของคุณ หลังจากลงชื่อเข้าใช้แล้วทุกอย่างควรใช้เวลาท้องถิ่น

ต้องการปิดเวลาท้องถิ่นหรือไม่ หากเป็นเช่นนั้นคุณจะต้องเรียกใช้คำสั่ง timedatectl อีกครั้ง ลองคำสั่งด้านล่าง

sudo timedatectl set-local-rtc 0

ก่อนหน้านี้ให้รีสตาร์ท PC Linux ของคุณเพื่อวัดผลที่ดี ในการลงชื่อเข้าใช้ครั้งต่อไปไม่ควรใช้เวลาท้องถิ่น

ความคิดเห็น