วิธีการส่งแพตช์เพื่อแก้ไขความเสียหายทั้งหมดที่ LP: # 600941 เป็นสาเหตุคืออะไร


9

วิธีที่ดีที่สุดในการส่งแพตช์เพื่อแก้ไขความเสียหายทั้งหมดที่เกิดจากLP: # 600941คืออะไร?

ฉันถามเพราะ LP: # 600941 ถูกใส่ลงใน Ubuntu ทุกรุ่นที่ยังคงรองรับอยู่ในขณะนี้ ฉันควรเลือกรุ่นใดรุ่นหนึ่งและทำงานubuntu-bugกับมันหรือไม่? รุ่นนั้นควรเป็น LTS หรือ Oneiric หรือแม่นยำ (ฉันจะได้รับแม่นยำได้อย่างไรถ้าต้องการ)

เรื่องราวคือหลังจากที่มันถูกผลักออกจากระบบทั้งหมดของเราเริ่มประสบ Nagios nrpe รีสตาร์ทล้มเหลว

คำสั่งเช่น /etc/init.d/nagios-nrpe-server restart

จะทำให้ nrpe หยุด แต่ไม่รีสตาร์ท

ผมติดตามลงนี้เพื่อวิธีการที่สคริปต์จะเรียก/etc/init.d/nagios-nrpe-serverstart-stop-daemon

ปัญหาคือว่า "หยุด" stanza ในการ/etc/init.d/nagios-nrpe-serverเรียกสคริปต์ครั้งแรก start-stop-daemon ซึ่งส่ง SIGTERM ไปยัง nrpe แล้วรอเพียงหนึ่งวินาที

หาก nrpe ยังไม่ออกจากเวลานั้นไฟล์ pid จะยังคงอยู่และ/etc/init.d/nagios-nrpe-serverสคริปต์จะลบออก

ยิ่งไปกว่านั้นหาก/etc/init.d/nagios-nrpe-server restartมีการใช้ไฟล์ pid ไม่เพียง แต่จะถูกลบออกไปความพยายามในการรีสตาร์ท nrpe จะล้มเหลวหาก nrpe daemon ยังคงทำงานช้าลงในการปิดเครื่อง

ความพยายามในการเริ่มการทำงานภายใต้สถานการณ์เหล่านั้นจะล้มเหลวเนื่องจาก nrpe จะยังคงถูกผูกไว้กับซ็อกเก็ตและความพยายามครั้งที่สองที่การรวมจะทำให้ nrpe เริ่มต้นการยกเลิก

พวกเขาควรสงสัยว่าทำไมมีความคิดเห็นเกี่ยวกับ "บางครั้งไฟล์ pid ไม่ถูกลบ"

ควรทดสอบกับระบบที่มีภาระมากดังนั้นจึงช้า nrpe เวลาตอบสนอง

การแก้ไขคือการเพิ่ม--retry 10หรือเช่นการร้องขอของstart-stop-daemon ... --stop ...

ขอบคุณ

คำตอบ:


14

ก่อนอื่นขอขอบคุณสำหรับข้อผิดพลาดทั้งหมดที่คุณทำมาจนถึงตอนนี้ มันยอดเยี่ยมมากที่คุณต้องการมีส่วนร่วมกับการแก้ไขข้อผิดพลาดนี้!

วิธีที่ดีที่สุดคือการรายงานข้อผิดพลาดใหม่กับความแม่นยำและทำให้ชัดเจนว่ามันเป็นความถดถอยที่เกิดจาก LP: # 600941 ให้แท็ก 'การปรับปรุงการถดถอย' นอกจากนี้ยังเป็นการดีที่จะกล่าวถึงในความคิดเห็นของ LP: # 600941 เพื่อให้ผู้ใช้จะเห็นว่าเมื่อพวกเขากำลังตรวจสอบการกดปุ่มถดถอยด้วยตนเอง แท็กการถดถอย - อัปเดตจะทำให้แน่ใจว่าข้อบกพร่องของคุณได้รับการทดสอบและตอบสนองอย่างรวดเร็ว ใช่เริ่มแรกด้วยสิ่งนี้:

ubuntu-bug nagios-nrpe-server

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

ตอนนี้ ISO ที่แม่นยำอาจไม่สามารถติดตั้งได้ แต่คุณสามารถลองใช้ได้ที่นี่:

http://cdimage.ubuntu.com/daily/current/

นอกจากนี้คุณยังสามารถใช้เครื่อง oneiric บนแม่นยำโดยการแก้ไขแหล่งที่มาใน /etc/apt/sources.list* และการเปลี่ยนแปลง oneiric apt-get update && apt-get dist-upgradeแม่นยำแล้วทำ มีการเปลี่ยนและการเปลี่ยนแปลงครั้งใหญ่เกิดขึ้นดังนั้นอย่าทำเช่นนี้ในระบบการผลิต!

ในการส่งการแก้ไขวิธีที่ดีที่สุดคือการใช้ Ubuntu Distributed Development กำหนดข้อบกพร่องให้กับตัวคุณเองแล้วใช้ขั้นตอนเหล่านี้:

bzr branch lp:ubuntu/nagios-nrpe
cd nagios-nrpe
<edit files that need editing>
dch -D precise -i 'Fixing regression caused by bug 600941. (LP: #XXXXXX)'
debcommit
bzr push lp:~nutznboltz/ubuntu/precise/nagios-nrpe/fix-lpXXXXXX
bzr lp-propose

XXXXXX เป็นบั๊กใหม่ของคุณ #

คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำสิ่งนี้ได้ที่https://wiki.ubuntu.com/DistributedDevelopment

โปรดอย่าลังเลที่จะถามใน # ubuntu-devel และ / หรือ # ubuntu-server บน Freenode เช่นกัน


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

ฉันได้แนบรายการสิ่งที่คุณต้องทำกับระบบตั๋วภายในของเราแล้วฉันจะไม่พลาดมัน
nutznboltz

จนถึงตอนนี้ฉันมี LP: # 896388 ในสถานที่
nutznboltz

1
เปลี่ยนคุณหลอกฉันให้เสียเวลาของฉันดูubuntuforums.org/showthread.php?p=11489142
nutznboltz

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