"System restart diperlukan" ... mengapa? Bagaimana saya bisa mendapatkan apa yang memicu notifikasi ini untuk juga menampilkan detail?

26

Sering kali, saya akan SSH ke dalam sebuah kotak dengan upgrade tanpa pengawasan dan disambut dengan "** System restart diperlukan ***" tanpa informasi tambahan.

File '/var/run/reboot-required.pkgs' saya berisi:

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

Saya tidak keberatan me-reboot, tapi saya tidak suka me-reboot tanpa memiliki detail MENGAPA saya harus reboot. Di atas, saya melihat dua paket memicu pesan, tetapi tidak ada penjelasan lebih dari itu.

Apakah ada cara untuk mendapatkan detail tambahan tentang alasan reboot juga muncul saat SSH masuk?

Idealnya, saya ingin menarik file yang berisi sesuatu yang dapat dibaca manusia seperti, "Paket xyz diperbarui pada [tanggal / waktu]. Diperlukan untuk memodifikasi file a, b, dan c tetapi tidak bisa karena sistem diblokir / akan blokir aksinya. Selama reboot berikutnya, file a, b, dan c akan diganti. " Tetapi sesuatu yang tidak sepenuhnya bisa dibaca manusia mungkin juga baik-baik saja.

E. Diaz
sumber
Tampaknya IMO sudah jelas: Kernel ditingkatkan dan tidak dapat menggantikannya langsung (setidaknya, belum).
muru
6
Tentu saja itu jelas bagi Anda tetapi hanya karena saya pergi menggali dan mencari semuanya sehingga saya dapat menunjukkan apa yang saya inginkan. Ini TIDAK jelas segera setelah saya masuk SSH ke dalam kotak. Menampilkan daftar paket yang memerlukan reboot juga tidak cukup. Saya ingin tahu tanggal dan waktu apa paket itu diperbarui dan alasan yang bisa dibaca manusia yang menjelaskan mengapa paket ingin reboot. Jika pemanggang roti Anda ingin reboot, Anda pasti ingin tahu alasannya. Jadi mengapa tidak menuntut sebanyak mungkin, jika tidak lebih, dari sistem operasi yang sangat kompleks?
E. Diaz
Karena aku idiot? Jangan ragu untuk mengedit jika Anda pikir pertanyaannya perlu diklarifikasi.
E. Diaz

Jawaban:

24

Sunting: Artikel lain, yang mungkin relevan atau bermanfaat .

Seperti yang sudah Anda ketahui, Anda dapat menemukan paket yang membutuhkan restart /var/run/reboot-required.pkgs

Sekarang Anda hanya perlu mencari di changelog paket untuk menemukan informasi yang Anda cari.

  • Jika Anda sudah menggunakan mesin, Anda dapat menemukan changelogs di /usr/share/doc/${package_name}(contoh :) zless /usr/share/doc/linux-image-3.13.0-61-generic/changelog.Debian.gz.
  • Debian menyediakan beberapa alat apt-listchangesuntuk membuat ini lebih nyaman ( 1 , 2 , 3 ).
  • Cara lain untuk melakukannya adalah dengan menggunakan packages.ubuntu.com .

    Dalam kasus Anda:

    gambar yang menunjukkan di mana menemukan tautan untuk changelog di paket.ubuntu.com

LiveWireBT
sumber
5

File yang akhirnya dipanggil adalah /usr/lib/update-notifier/update-motd-reboot-required(dipanggil oleh /etc/update-motd.d/98-reboot-required).

Di dalam pernyataan conditional if dari salah satu file itu, cukup tambahkan ini:

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

Jadi, misalnya, /usr/lib/update-notifier/update-motd-reboot-requiredfile Anda akan terlihat seperti ini:

#!/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
Berto
sumber