Chcę zaktualizować glibc zgodnie z RedHat: https://rhn.redhat.com/errata/RHSA-2015-0090.html
Czy wymagane jest zrestartowanie serwera po aktualizacji glibc?
Chcę zaktualizować glibc zgodnie z RedHat: https://rhn.redhat.com/errata/RHSA-2015-0090.html
Czy wymagane jest zrestartowanie serwera po aktualizacji glibc?
Odpowiedzi:
Ponowne uruchomienie nie jest technicznie wymagane , ponieważ tylko programy korzystające z glibc wymagają ponownego uruchomienia, a jądro nie korzysta z glibc.
Biorąc to pod uwagę, restartowanie wszystkiego , co korzysta z glibc, jest wystarczająco szerokie, aby równie dobrze można było zrestartować komputer .
Na przykład /sbin/init
używa glibc. Jednak ponowne uruchomienie jest trywialne (uruchom init u
jako root).
systemd
wydaje się, że ma swój własny resolver. Z mojego doświadczenia wynika, że zamiana bibliotek używanych przez długotrwałe procesy może powodować niestabilność. Uruchom ponownie i bądź szczęśliwy.
Jeśli jesteś zadowolony z ręcznego restartowania poszczególnych usług korzystających z podatnej biblioteki, możesz uruchomić to polecenie i ponownie uruchomić wymienione procesy:
# lsof | awk '/libc-/ {print $1}' | sort -u
Prawdopodobnie przekonasz się, że łatwiej będzie całkowicie zrestartować maszynę.
lsof | awk '/DEL.*libc/{print $1}' | sort -u
dopasować tylko w linkach do usuniętego (po aktualizacji) libc.
lsof | grep libc
? Pasuje do wielu bibliotek, w tym libcurl, libcups, libcairo itp. Grepping dla libc-
wydaje się dawać poprawne wyniki.
Tak, więc procesy zależne od starej wersji glibc rozpoczynają się ponownie od nowej wersji biblioteki. Z tego powodu należy również ponownie skompilować programy połączone statycznie.
init
jest podatny na atak z powodu CVE :)