Depois de executar a atualização do yum para atualizar as bibliotecas, pode haver serviços em execução que ainda estejam usando as cópias antigas das bibliotecas. Esses serviços ainda podem estar vulneráveis a bugs de segurança nas bibliotecas antigas.
É relativamente fácil descobrir quais processos são afetados usando lsof para listar processos usando arquivos excluídos:
# lsof | awk '$5 == "DEL" { print }'
auditd 1001 1001 root DEL REG /usr/lib64/libnss_files-2.18.so;53bd9626
libvirtd 1468 1509 root DEL REG /usr/lib64/libnss_files-2.18.so;53bd9626
[lots more output]
Se você realmente executar esse comando depois de atualizar (digamos) o glibc, você verá páginas e páginas de saída difíceis de filtrar.
No entanto, com systemd
, podemos mapear os IDs do processo para serviços e sessões de usuários.
Isso é o que o script a seguir faz:
A saída típica é assim:
Para concluir a instalação do glibc-2.18-11.fc20.x86_64, você deve reiniciar os seguintes serviços:
- accounts-daemon.service - Accounts Service
- console-kit-daemon.service - Console Manager
- udisks2.service - Disk Manager
- auditd.service - Security Auditing Service
- dbus.service - D-Bus System Message Bus
- rtkit-daemon.service - RealtimeKit Scheduling Policy Service
- upower.service - Daemon for power management
- colord.service - Manage, Install and Generate Color Profiles
- firewalld.service - firewalld - dynamic firewall daemon
- polkit.service - Authorization Manager
- rsyslog.service - System Logging Service
- NetworkManager.service - Network Manager
- libvirtd.service - Virtualization daemon
- gdm.service - GNOME Display Manager
In order to complete the installation of glibc-2.18-11.fc20.x86_64,
you should tell the following users to log out and log in:
- session-1.scope - Session 1 of user rjones