Acabei de instalar alguns atualizados no meu servidor Ubuntu. Alguns deles eram kernel e Linux Headers, então suspeitei que uma reinicialização fosse necessária, mas queria ter certeza. Então, seguindo uma recomendação deste site , instalei o checkrestart
.
$ checkrestart
ERROR: This program must be run as root in order to obtain information
about all open file descriptors in the system.
$ sudo !!
sudo checkrestart
Found 0 processes using old versions of upgraded files
Hum. Não é necessário reiniciar? Isso parece estranho.
$ exit
logout
Connection to example.net closed.
$ ssh [email protected] && alert
[email protected]'s password:
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-92-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud
0 packages can be updated.
0 updates are security updates.
*** System restart required ***
Oh. Então é necessário reiniciar? Por que você não disse isso?
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"
Como posso saber se uma reinicialização é necessária após a instalação das atualizações?
Porque não é isso que
checkrestart
faz.O que ele essencialmente faz é verificar se algum processo mantém identificadores de arquivo abertos para bibliotecas antigas/sobrescritas etc. e o kernel não fará parte dessa lista porque não é um arquivo para o qual os processos mantêm um identificador.
O processo de atualização deve criar um arquivo chamado
/var/run/reboot-required
se de fato uma reinicialização for necessária (consulte https://askubuntu.com/questions/164/how-can-i-tell-from-the-command-line-whether-the-machine- requer-a-reinicialização )