Skąd mogę wiedzieć, czy po aktualizacji wymagany jest restart?

28

Mam 4 serwery z systemem operacyjnym Debian Wheezy. Mam zainstalowany Apticron, który informuje mnie o aktualizacjach. Aktualizacje Debiana są realizowane tak często, że kiedy skończę aktualizować ostatni z 4 serwerów, otrzymuję nowy e-mail o nowych aktualizacjach na pierwszym serwerze. Próbuję zaktualizować wszystkie serwery, gdy otrzymam powiadomienie, ale nigdy nie wiem, czy istnieje potrzeba ponownego uruchomienia serwerów. Przeczytałem, że jeśli katalog "/var/run"zawiera plik, "reboot-required"muszę ponownie uruchomić serwer. Ale nigdy nie widziałem tego pliku "/var/run". Skąd mam wiedzieć, kiedy wymagane jest ponowne uruchomienie? Nie chcę ponownie uruchamiać moich serwerów za każdym razem, gdy instaluję nowe aktualizacje, jeśli nie są potrzebne.

Rozumiem, że jeśli aktualizuję PHP lub MySQL itp., Nie muszę ponownie uruchamiać serwera, ale aktualizacje zwykle zawierają wiele „lib ...”.

Poniżej znajduje się 9 aktualizacji (otrzymałem w tym tygodniu).

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

Nie mam pojęcia, co to jest „libkrb, libgssapi” itp. Jak mogę sprawdzić, czy konieczne jest ponowne uruchomienie? Nie sugeruj instalowania UnattendedUpgrades, aby serwery aktualizowały się automatycznie, ponieważ może to spowodować przejście do trybu offline, jeśli coś się nie zaktualizuje.

użytkownik1406271
źródło
Jeśli zastosujesz tylko securitystrumień, a nie ogólne aktualizacje, nie otrzymasz tak wielu aktualizacji.
poolie

Odpowiedzi:

31

Sprawdź checkrestartz debian-goodiespaczki. Pokazuje, które procesy wykorzystują stare wersje zaktualizowanych bibliotek. Jeśli nie możesz usunąć wszystkich procesów z tej listy, musisz uruchomić ponownie :)

Dodatkowo (jak powiedział YuKYuK), zawsze aktualizuj ponownie po aktualizacji jądra!

Nat
źródło
10
Alternatywnie, kasa needrestart. linux-audit.com/…
ypid
9

cat /var/run/reboot-required.pkgszobaczyć 'service' waiting for a reload. Nic nie wymaga ponownego uruchomienia, tylko aktualizacja jądra (i Windows :)).

Lub na Debianie: lsof | grep lib | grep DEL

YuKYuK
źródło
Zapomnij powiedzieć: wyświetla listę wszystkich zaktualizowanych bibliotek. Następnie musisz ponownie uruchomić aplikacje z zależnościami.
YuKYuK
Jak napisałem w swoim pytaniu, nigdy nie widziałem pliku /var/run/reboot-required.pkgs. Sprawdzam ten folder po każdej aktualizacji, ale nic.
użytkownik1406271
lsof | grep lib | grep DEL, aby zobaczyć lib oczekujący na „aktualizację”
YuKYuK
2
Tak i polecenie pokazuje biblioteki oczekujące na „aktualizację”, a niektóre biblioteki tylko czekają na ponowne uruchomienie „usługi”. Tylko aktualizacja jądra wymaga ponownego uruchomienia systemu (ponieważ jądro to jądro :).
YuKYuK
3
Uwaga dotycząca Debian Jessie: reboot-notifierto niewielki pakiet, który nie jest domyślnie instalowany, który dołącza ten plik, gdy wymagane jest ponowne uruchomienie w celu załadowania zaktualizowanego jądra. reboot-notifiermoże być użyty jako alternatywa dla update-notifier-commonktórej został usunięty w Debian Jessie. Zobacz także: serverfault.com/a/92939/177172 .
ypid 21.01.16
2

Aby dodać do tego, miałem ten sam problem z moimi serwerami i napisałem skrypt aktualizacji, w którym sprawdzam / var / run / like zasugerował YuKYuK:

test -f /var/run/reboot-required && echo rebooting && sudo reboot
min hundje
źródło