Come faccio a sapere se è necessario riavviare dopo l'aggiornamento?


28

Ho 4 server con sistema operativo Debian Wheezy. Ho installato Apticron che mi informa sugli aggiornamenti. Gli aggiornamenti Debian vengono realizzati così spesso che quando finisco di aggiornare l'ultimo dei 4 server ricevo nuove e-mail sui nuovi aggiornamenti sul primo server. Provo ad aggiornare tutti i server quando ricevo una notifica ma non so mai se è necessario riavviare i server. Ho letto che se la directory "/var/run"contiene file "reboot-required"devo riavviare il server. Ma non ho mai visto questo file in "/var/run". Come posso sapere quando è necessario il riavvio? Non voglio riavviare i miei server ogni volta che installo nuovi aggiornamenti se non è necessario.

Capisco che se aggiorno PHP o MySQL, ecc. Non ho bisogno di riavviare il server ma gli aggiornamenti di solito contengono molti "lib ...".

Di seguito sono riportati 9 aggiornamenti (ho ricevuto questa settimana).

krb5-locales 1.10.1+dfsg-5+deb7u3
libdbus-1-3 1.6.8-1+deb7u6
libgssapi-krb5-2 1.10.1+dfsg-5+deb7u3
libk5crypto3 1.10.1+dfsg-5+deb7u3
libkrb5-3 1.10.1+dfsg-5+deb7u3
libkrb5support0 1.10.1+dfsg-5+deb7u3
libruby1.8 1.8.7.358-7.1+deb7u2
libxml2 2.8.0+dfsg1-7+wheezy3
ruby1.8 1.8.7.358-7.1+deb7u2

Non ho idea di cosa sia "libkrb, libgssapi", ecc. Come posso rilevare se è necessario riavviare? Non suggerire di installare UnattendedUpgrades per consentire l'aggiornamento automatico dei server poiché ciò potrebbe causare l'interruzione dei siti Web in caso di aggiornamenti errati.


Se applichi solo lo securitystream e non gli aggiornamenti generali, non otterrai così tanti aggiornamenti.
Poolie,

Risposte:


31

Controlla checkrestartdal debian-goodiespacchetto. Mostra quali processi utilizzano le vecchie versioni delle librerie che hai aggiornato. Se non riesci a rimuovere tutti i processi dall'elenco, devi riavviare :)

Inoltre (come diceva YuKYuK), riavvia sempre dopo un aggiornamento del kernel!


10
In alternativa, checkout needrestart. linux-audit.com/…
ypid

9

cat /var/run/reboot-required.pkgsda vedere 'service' waiting for a reload. Niente ha bisogno di un riavvio, solo l'aggiornamento del kernel (e Windows :)).

O su Debian: lsof | grep lib | grep DEL


Dimentica di dire: elenca tutte le librerie aggiornate. Successivamente è necessario riavviare le app con dipendenze.
YuKYuK,

Come ho scritto nella mia domanda, non ho mai visto il file /var/run/reboot-required.pkgs. Controllo questa cartella dopo ogni aggiornamento ma nulla.
user1406271,

lsof | grep lib | grep DEL per vedere la lib in attesa di essere "aggiornata"
YuKYuK,

2
Sì e il comando mostrano le librerie in attesa di essere "aggiornate" e alcune librerie aspettano solo un riavvio "di servizio". Solo l'aggiornamento del kernel richiede il riavvio del sistema (perché il kernel è kernel :).
YuKYuK,

3
Nota su Debian Jessie: reboot-notifierè un piccolo pacchetto che non è installato di default e che aggiunge questo file quando è richiesto un riavvio per caricare un kernel aggiornato. reboot-notifierpuò essere usato come alternativa per la update-notifier-commonquale è stato rimosso in Debian Jessie. Vedi anche: serverfault.com/a/92939/177172 .
ypid

2

Solo per aggiungere a questo, ho avuto lo stesso problema con i miei server e ho scritto uno script di aggiornamento in cui controllo / var / run / come YuKYuK mi ha suggerito:

test -f /var/run/reboot-required && echo rebooting && sudo reboot
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.