Jedną z rzeczy, na które warto spojrzeć w kategoriach „wymagany jest restart”, jest to, czy istnieją jakieś pliki, które zostały usunięte / zastąpione przez aktualizację, ale dla których stare pliki są nadal ładowane / wykorzystywane przez aktywne procesy.
Zasadniczo, gdy YUM aktualizuje plik używany przez proces, sam plik mógł zostać oznaczony do usunięcia, ale proces nadal używa starego pliku, ponieważ ma otwarty deskryptor pliku dla i-węzła starego pliku.
Polecenie uzyskania liczby nadal używanych starych plików:
#lsof | grep "(path inode=.*)" | wc -l
To polecenie da ci liczbę plików.
Użyj tego zamiast tego, aby zobaczyć, które pliki są aktualnie używane:
#lsof | grep "(path inode=.*)"
To polecenie wygeneruje dane wyjściowe podobne do następujących w polu zaktualizowanym przez YUM:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 3782 root mem REG 8,17 153427 /lib64/libcrypto.so.0.9.8e (path inode=153253)
mysqld 3883 mysql mem REG 8,17 153259 /lib64/libcrypt-2.5.so (path inode=153402)
mingetty 4107 root mem REG 8,17 153243 /lib64/libc-2.5.so (path inode=153222)
...
etc
-s
opcja wymaga dostępu do konta root.