Podczas instalowania niektórych aktualizacji (np. Nowego jądra) w Ubuntu Desktop pojawia się komunikat, że wymagane jest ponowne uruchomienie komputera (w Lucid ikona wylogowania zmienia kolor na czerwony).
Jak mogę sprawdzić w wierszu poleceń, czy serwer Ubuntu wymaga ponownego uruchomienia?
Mógłbym wyrazić zgodę na „Wymagany restart systemu” /etc/motd
, ale chciałbym bardziej eleganckiego rozwiązania. Chcę również rozwiązania, które działa w starszych wersjach, np. Hardy (8.04 LTS).
command-line
package-management
Marius Gedminas
źródło
źródło
Odpowiedzi:
Możesz po prostu sprawdzić, czy plik
/var/run/reboot-required
istnieje, czy nie.Na przykład każdy z nich powie „nie ma takiego pliku” lub „nie znaleziono pliku”, jeśli nie trzeba go ponownie uruchamiać, w przeciwnym razie (jeśli trzeba zrestartować komputer) plik istniałby, a te polecenia wyświetlałyby informacje o pliku:
W skrypcie bash możesz użyć:
źródło
/var/run/reboot-required.pkgs
wyświetli listę pakietów, które wymagają ponownego uruchomienia.W pakiecie debian-goodies to polecenie o nazwie,
checkrestart
które jest dość przydatne. Jego dane wyjściowe mogą pomóc w uniknięciu pełnego restartu.Informuje, które działające aplikacje załadowały biblioteki współdzielone, które zostały zaktualizowane podczas działania aplikacji. Następnie ręcznie uruchom ponownie aplikacje i usługi i unikaj pełnego restartu. Jednak nie pomaga w aktualizacjach jądra.
źródło
Zwykle jeśli plik
istnieje, powinieneś zrestartować komputer. Możesz sprawdzić, czy plik istnieje, używając tego prostego polecenia w gnome-terminal.
źródło
Oprócz najbardziej bezpośrednich metod napisanych przez innych, przydatne jest wskazanie, jeśli używasz byobu - zestawu skryptów, które sprawiają, że ekran GNU jest nieco bardziej przyjazny dla użytkownika. Pokazuje zestaw informacji na dole ekranu, który może obejmować to, czy wymagane jest ponowne uruchomienie - wraz z tym, czy aktualizacje są dostępne, czas, czas działania, wykorzystana pamięć ...
Na tym zrzucie ekranu widać z
199!
dolnej linii z czerwonym tłem, że dostępnych jest 199 aktualizacji.!!
Oznacza, że niektóre są aktualizacje zabezpieczeń . Menu na pierwszym planie wybiera, które powiadomienia o stanie powinny być wyświetlane.Jeśli wymagane jest ponowne uruchomienie, będzie to wskazywane przez symbol
(R)
wyświetlany na dolnym pasku z białym tekstem na niebieskim tle. Więcej szczegółów i inne wskaźniki można znaleźć na stronie podręcznika użytkownika Byobu .źródło
/etc/motd
Plik dostaje swoje informacje o tym, czy jest wymagane ponowne uruchomienie z/var/run/reboot-required
pliku.Możesz sprawdzić zawartość tego pliku w terminalu za pomocą
cat /etc/motd
poleceniaźródło
Jeśli masz zainstalowane pakiety typu restart-notifier lub update-notifier-common, otrzymujesz pliki / var / run / reboot-wymagany i /var/run/reboot-required.pkgs
reboot-notifier jest nowszy w Ubuntu Wily i Xenial. Debian jest rozciągnięty, ale w jessie-backports
update-notifier-common Jest starszy, we wszystkich wersjach Ubuntu, w tym Xenial i Debian Wheezy. Nie w Debian Stretch ani Jessie.
(Istnieje pewne podłoże do pakietu restartu-powiadamiającego na https://feeding.cloud.geek.nz/posts/introducing-reboot-notifier/ )
Jeśli nie masz zainstalowanych tych pakietów, możesz porównać wersję pakietu Linux z zainstalowaną wersją:
Widać tutaj, że najnowszym zainstalowanym jądrem jest 3.16.7-ckt20-1 + deb8u4, ale działające jądro to 3.16.7-ckt20-1 + deb8u3. Dlatego ten system wymaga ponownego uruchomienia. U4 kontra U3 na samym końcu.
Może być konieczne przewinięcie powyższego pola. W wersji / proc / version liczy się wersja na końcu linii.
Bardzo niewielka zmiana kodu wersji jest typowa dla aktualizacji jądra bezpieczeństwa Debiana.
needrestart
Inną opcją jest instalacja
needrestart
pakietu.Wydaje się działać, nawet jeśli needrestart został zainstalowany po aktualizacji jądra.
źródło
dpkg-query: no packages found matching linux-image-*
Unknown option: k
w Ubuntu 14.04.Dodałem następujące do mojego pliku .bash-aliasses:
Wydawało się to prostsze niż instalacja pakietu dla tego stosunkowo prostego zadania. Potem po prostu biegam:
źródło
Rozwiązanie biednego człowieka:
(Uwaga: trzy przypadki nawiasów kwadratowych z białą spacją w środku powinny być „[<spacja> <tab>]”.)
źródło
Nie jest odpowiedź na pytanie, ale zastrzeżenie dotyczące kilku odpowiedzi:
/var/run/reboot-required
to nie wiarygodnym źródłem, czy restart jest rzeczywiście konieczne.Prosty test: gdy nowe jądro stanie się dostępne, zainstaluj je, uruchom ponownie. Po ponownym uruchomieniu uruchom bieg,
apt autoremove
aby pozbyć się starych, nieużywanych już jąder. Po uruchomieniu będzie to oznaczać, że wymagane jest ponowne uruchomienie komputera, co jest kompletnym nonsensem.źródło