“ จำเป็นต้องรีสตาร์ทระบบ” …ทำไม ฉันจะรับสิ่งที่กระตุ้นให้การแจ้งเตือนนี้แสดงรายละเอียดได้อย่างไร


26

บ่อยครั้งที่ฉันจะ SSH ลงในกล่องที่มีการอัพเกรดแบบไม่ต้องใส่ข้อมูลและได้รับการต้อนรับด้วย "** ต้องรีสตาร์ทระบบ ***" โดยไม่มีข้อมูลเพิ่มเติม

ไฟล์ '/var/run/reboot-required.pkgs' ของฉันมี:

linux-image-3.13.0-61-generic
linux-base
linux-base
linux-base

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

มีวิธีที่จะได้รับเพิ่มเติมรายละเอียดเกี่ยวกับเหตุผลในการรีบูตยังแสดงขึ้นเมื่อเข้าสู่ระบบ SSH ใน?

เป็นการดีที่ฉันต้องการดึงไฟล์ที่มีบางสิ่งที่มนุษย์สามารถอ่านได้เช่น "Package xyz อัปเดตที่ [date / time] จำเป็นต้องแก้ไขไฟล์ a, b และ c แต่ไม่สามารถทำได้เพราะระบบถูกบล็อก / จะ บล็อกการดำเนินการในระหว่างการรีบูตครั้งถัดไปไฟล์ a, b และ c จะถูกแทนที่ " แต่สิ่งที่มนุษย์อ่านไม่ออกก็อาจไม่เป็นไรเช่นกัน


IMO ดูเหมือนชัดเจน: เคอร์เนลได้รับการอัพเกรดและไม่สามารถแทนที่ตัวเองอยู่ได้ (อย่างน้อยยังไม่ได้)
muru

6
แน่นอนมันชัดเจนสำหรับคุณ แต่เพียงเพราะฉันไปขุดและค้นหาทุกอย่างเพื่อที่ฉันจะได้แสดงให้เห็นถึงสิ่งที่ฉันต้องการ ไม่ชัดเจนทันทีที่ฉัน SSH เข้าไปในกล่อง การแสดงรายการแพ็กเกจที่ต้องรีบูตก็ไม่เพียงพอเช่นกัน ฉันต้องการทราบวันที่และเวลาที่มีการอัปเดตแพ็คเกจและเหตุผลที่มนุษย์อ่านได้ซึ่งอธิบายว่าเหตุใดแพ็คเกจจึงต้องการรีบูต หากเครื่องปิ้งขนมปังของคุณต้องการการรีบูตคุณต้องทราบสาเหตุ ดังนั้นทำไมไม่ต้องการมากถ้าไม่มากไปกว่าจากระบบปฏิบัติการที่ซับซ้อนสูง?
E. Diaz

เพราะฉันเป็นคนงี่เง่า? อย่าลังเลที่จะแก้ไขหากคุณคิดว่าคำถามต้องการคำชี้แจง
E. Diaz

คำตอบ:


24

แก้ไข: อีกอาจจะเกี่ยวข้องหรือมีประโยชน์บทความ

เมื่อคุณค้นพบแล้วคุณสามารถค้นหาแพ็คเกจที่ต้องมีการรีสตาร์ท /var/run/reboot-required.pkgs

ตอนนี้คุณเพียงแค่ต้องดูในการเปลี่ยนแปลงของแพคเกจเพื่อค้นหาข้อมูลที่คุณกำลังมองหา

  • หากคุณมีอยู่แล้วในเครื่องที่คุณสามารถหา changelogs ใน/usr/share/doc/${package_name}(ตัวอย่าง: zless /usr/share/doc/linux-image-3.13.0-61-generic/changelog.Debian.gz)
  • Debian มีเครื่องมือบางอย่างที่apt-listchangesจะทำให้สะดวกขึ้น ( 1 , 2 , 3 )
  • วิธีการที่จะทำอย่างนั้นอีกก็จะไปใช้packages.ubuntu.com

    ในกรณีของคุณ:

    ภาพแสดงตำแหน่งที่จะหาลิงค์สำหรับการเปลี่ยนแปลงบน packages.ubuntu.com


5

ในที่สุดไฟล์ที่เรียกว่าคือ/usr/lib/update-notifier/update-motd-reboot-required(มันถูกเรียกโดย/etc/update-motd.d/98-reboot-required)

ภายในเงื่อนไขถ้าคำสั่งของหนึ่งในไฟล์เหล่านี้เพียงแค่เพิ่มสิ่งนี้:

    echo "Packages causing reboot:"
    cat /var/run/reboot-required.pkgs

ตัวอย่างเช่น/usr/lib/update-notifier/update-motd-reboot-requiredไฟล์ของคุณจะมีลักษณะดังนี้:

#!/bin/sh -e
#
# helper for update-motd

if [ -f /var/run/reboot-required ]; then
        cat /var/run/reboot-required
        echo "Packages causing reboot:"
        cat /var/run/reboot-required.pkgs
fi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.