"Riavvio del sistema richiesto" ... perché? Come posso ottenere ciò che ha attivato questa notifica per mostrare anche i dettagli?


26

Ogni tanto, inserirò SSH in una scatola con aggiornamenti non presidiati e verrò accolto con "** Riavvio del sistema richiesto ***" senza ulteriori informazioni.

Il mio file '/var/run/reboot-required.pkgs' contiene:

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

Non mi dispiace riavviare, ma non mi piace riavviare senza avere i dettagli del PERCHÉ dovrei riavviare in primo luogo. Sopra, vedo che due pacchetti hanno attivato il messaggio, ma non c'è spiegazione oltre a ciò.

C'è un modo per ottenere ulteriori dettagli sul motivo del riavvio da mostrare anche all'accesso SSH?

Idealmente, vorrei inserire un file che contiene qualcosa di leggibile dall'uomo come "Il pacchetto xyz è stato aggiornato a [data / ora]. Doveva modificare i file a, b e c ma non poteva perché il sistema si bloccava / bloccare l'azione. Durante il successivo riavvio, i file a, b e c verranno sostituiti. " Ma probabilmente non va bene anche qualcosa di non completamente leggibile dall'uomo.


IMO sembra ovvio: il kernel è stato aggiornato e non può sostituirsi dal vivo (almeno, non ancora).
muru,

6
Certo, è ovvio per te, ma solo perché sono andato a scavare e ho cercato tutto in modo da poter dimostrare quello che voglio. Non è ovvio non appena SSH nella scatola. Anche la visualizzazione dell'elenco dei pacchetti che richiede un riavvio non è sufficiente. Voglio sapere in quale data e ora è stato aggiornato quel pacchetto e un motivo leggibile che spiega perché il pacchetto vuole riavviare. Se il tuo tostapane voleva riavviare, vorresti sapere perché. Quindi perché non richiedere tanto, se non di più, da un sistema operativo altamente complesso?
E. Diaz,

Perché sono un idiota? Sentiti libero di modificare se ritieni che la domanda abbia bisogno di chiarimenti.
E. Diaz,

Risposte:


24

Edit: Un altro, probabilmente pertinente o utile articolo .

Come hai già scoperto, puoi trovare i pacchetti che richiedono un riavvio in /var/run/reboot-required.pkgs

Ora devi solo cercare nel log delle modifiche del pacchetto per trovare le informazioni che stai cercando.

  • Se sei già sulla macchina puoi trovare i log delle modifiche in /usr/share/doc/${package_name}(esempio :) zless /usr/share/doc/linux-image-3.13.0-61-generic/changelog.Debian.gz.
  • Debian fornisce alcuni strumenti come apt-listchangesrenderlo più conveniente ( 1 , 2 , 3 ).
  • Un altro modo per farlo sarebbe usare pacchetti.ubuntu.com .

    Nel tuo caso:

    immagine che mostra dove trovare il collegamento per il log delle modifiche su pacchetti.ubuntu.com


5

Il file alla fine chiamato è /usr/lib/update-notifier/update-motd-reboot-required(è chiamato da /etc/update-motd.d/98-reboot-required).

All'interno dell'istruzione if condizionale di uno di quei file, aggiungi semplicemente questo:

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

Quindi, ad esempio, il tuo /usr/lib/update-notifier/update-motd-reboot-requiredfile sarebbe simile a questo:

#!/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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.