ไม่สามารถซิงโครไนซ์เวลาโดยใช้ NTP


21

เมื่อฉันพยายามซิงโครไนซ์เวลาโดยใช้ NTP ใช้คำสั่งด้านล่าง

sudo ntpdate -b pool.ntp.org

ฉันได้รับข้อผิดพลาดนี้บอกซ็อกเก็ต NTP ในการใช้งาน จะแก้ไขได้อย่างไร?

18 Jan 05:53:49 ntpdate[21340]: the NTP socket is in use, exiting

คำตอบ:


30

ซ็อกเก็ต NTP ใช้งานอยู่กำลังออกจาก

บ่งชี้ว่าคุณมี NTP daemon กำลังรันโดยปกติจะเป็นหนึ่งผ่านntpแพ็กเกจ คุณไม่สามารถปรับสองแอพพลิเคชั่นนาฬิกาในเวลาเดียวกันได้

  1. ก่อนอื่นให้หยุด NTP daemon ปัจจุบันที่ทำงานอยู่:

    sudo service ntp stop
    
  2. เรียกใช้ntpdateคำสั่งของคุณ

  3. เริ่ม NTP daemon อีกครั้ง:

    sudo service ntp start
    

พื้นหลัง

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

ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*chime1.surfnet. 194.171.167.130  2 u   59   64    7    3.159   -0.207   0.136
+chime2.surfnet. .GPS.            1 u   59   64    7    6.872   -0.592   0.091
[...]
 ns1.tudelft.nl  .INIT.          16 u    -   64    0    0.000    0.000   0.000
+ev001.tilaa.nl  193.67.79.202    2 u   55   64    7    4.038   -0.613   0.110

Ubuntu จัดส่ง openntpd และไม่ใช่ xnptd เป็นค่าเริ่มต้นหรือไม่ ntpqมาจาก xntpd
Reinstate Monica - M. Schröder

@ MartinSchröderคุณพูดถูก! :) กำลังแก้ไข ขอบคุณ
gertvdijk

การแก้ไข: ntpq มาจากการใช้การอ้างอิง ntp ในยุค 90 และต้นยุค 00 มันถูกเรียกว่า xntpd ตอนนี้ก็แค่ ntpd หรือ ntpv4
dfc

คำอธิบายที่ดี - ฉันไม่เคยรู้เลยว่าทำไม ntp ไม่ทำให้ก้าวกระโดดครั้งใหญ่
Jeremy Hajek

+1 ฉันเปิดใช้งาน ntpd และคาดว่าจะแก้ไขเวลาของฉัน (ซึ่งเป็น 2 นาที) เพื่อพิสูจน์ว่ามันใช้งานได้ แต่แน่นอนว่ามันจะไม่ทำเช่นนั้นเพราะมัน "จะไม่ทำตามขั้นตอนใหญ่ไปข้างหน้าหรือข้างหลัง" ขอบคุณสำหรับคำอธิบาย
matt freake

4

หากคุณได้รับข้อผิดพลาดNTP socket in useดังแสดงด้านล่าง:

ป้อนคำอธิบายรูปภาพที่นี่

ในกรณีที่เพิ่งทำงาน

$ sudo service ntp stop
$ sudo ntpdate pool.ntp.org
$ sudo service ntp start

และคุณจะได้รับ

ป้อนคำอธิบายรูปภาพที่นี่

หรือเพียงแค่เรียกใช้

sudo ntpdate -u pool.ntp.org

เพื่ออัปเดตโดยใช้ ntpd deamon


3
อย่าส่งเสริมให้คนใช้ ntpdate เมื่อ ntpd กำลังทำงานอยู่
dfc

1
ทำไมโพสต์ภาพหน้าจอด้วยข้อความเพียง คัดลอกและวาง 'ใช้งานได้' ;-)
gertvdijk

1
+1 สำหรับตัวเลือก -u ซึ่งหลีกเลี่ยงการแฮ็ลการหยุด ntpd
dan carter

1

ปัญหาที่พบบ่อยคือผู้คนค้นพบว่าคอมพิวเตอร์ของพวกเขาไม่ได้อัพเดตที่การเปลี่ยน DST (ปรับเวลาตามฤดูกาล) ที่ได้รับการแต่งตั้ง เมื่อได้รับการยอมรับแล้วผู้ใช้จะพยายามแก้ไขเวลาด้วยsudo ntpdate -b pool.ntp.orgหรือคล้ายกันเท่านั้นเพื่อค้นหาว่า NTP กำลังทำงานอยู่และไม่สามารถใช้งานได้

ในกรณีทั่วไป NTP ไม่สามารถเชื่อถือได้เพื่อแก้ไขนาฬิกาของคุณในช่วงการเปลี่ยนภาพ DST ยกตัวอย่างเช่นNTP มีกรณีที่จะปฏิเสธที่จะตั้งนาฬิกาของคุณ คุณได้รับความนิยมมากมายเมื่อค้นหาปัญหา NTP ดังนั้นข้อ จำกัด ของ NTP จึงส่งผลกระทบต่อคนจำนวนมากอย่างชัดเจน ฉันแน่ใจว่ามีเหตุผลที่ชัดเจนสำหรับการตัดสินใจออกแบบ NTP แต่นั่นไม่ได้เปลี่ยนความจริงที่ว่าไม่น่าเชื่อถือที่จะทำสิ่งที่ผู้ใช้โดยเฉลี่ยคาดหวัง

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

นี่เป็นปัญหาที่ยากสำหรับผู้ใช้โดยเฉลี่ยในการทดสอบเนื่องจาก DST จะเกิดขึ้นเพียงสองครั้งต่อปี


0

หาก ntp deamen ได้รับการติดตั้งและใช้งานคุณจะได้รับข้อผิดพลาดเดียวกันเนื่องจากคุณไม่สามารถปรับนาฬิกาผ่านสองโปรแกรมในเวลาเดียวกัน

หากบริการกำลังทำงานอยู่บริการจะซิงค์กับเซิร์ฟเวอร์ที่อยู่ใน /etc/ntp.conf ดังนั้นเวลาจะซิงค์ มันจะดีกว่าที่จะรีสตาร์ท ntp daemon ทุกคืนเพื่อที่ว่าถ้ามันหยุดอย่างใดเริ่มต้นใหม่ทุกวันให้ตั้งใน crontab

crontab -e
@daily sudo service ntp restart >> /tmp/time.log

คุณสามารถตรวจสอบรายละเอียดการซิงค์เซิร์ฟเวอร์ของคุณผ่านคำสั่งด้านล่าง

ntpq -p
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.