Veja como atualizar o sistema e o kernel do servidor Linux com dnf ou apt, conferir qual kernel está ativo e o que fazer se ainda roda CentOS.
Atualizar o servidor é a forma mais barata de fechar falhas de segurança. O processo tem duas partes: baixar os pacotes novos e, quando um deles for o kernel, reiniciar para que o kernel novo entre em uso. Muita gente para na primeira parte e continua rodando o kernel antigo por meses.
yum update nelas não traz correções novas e costuma falhar porque os espelhos foram desligados. O caminho é migrar para AlmaLinux ou Rocky Linux; veja como sair do CentOS 6 e 7 com o ELevate.Antes de começar
- Acesso SSH como
rootou com um usuário comsudo(veja como acessar o SSH). - Um backup recente ou um snapshot do servidor, principalmente se ele está há muito tempo sem atualização.
- Uma janela de manutenção: a reinicialização do kernel derruba os serviços por um ou dois minutos.
- Descubra a distribuição com
cat /etc/os-release.
Como atualizar o AlmaLinux e o Rocky Linux (dnf)
- Veja o que há para atualizar.
sudo dnf check-update - Atualize todos os pacotes, inclusive o kernel. O
yumainda funciona nessas versões, mas é só um atalho para odnf.
Para instalar apenas as correções de segurança, usesudo dnf upgradesudo dnf upgrade --security. Para atualizar só o kernel,sudo dnf upgrade kernel. - Confira se um kernel novo foi instalado. Compare o kernel em uso com o mais recente instalado:
Se as versões forem diferentes, o kernel novo só passa a valer depois de reiniciar.uname -r rpm -q --last kernel | head -1 - Reinicie e confirme.
Depois de voltar, rodesudo rebootuname -rde novo: deve mostrar a versão nova.
Como atualizar o Ubuntu e o Debian (apt)
- Atualize a lista de pacotes e instale as atualizações.
sudo apt update sudo apt upgrade - Veja se o sistema pede reinicialização. Quando o kernel ou uma biblioteca importante muda, o Ubuntu cria um arquivo de aviso:
cat /var/run/reboot-required.pkgs 2>/dev/null || echo "Não precisa reiniciar" - Reinicie e confira o kernel ativo com
sudo reboote, depois,uname -r. - Remova kernels e dependências que sobraram. Isso libera espaço em
/boot:sudo apt autoremove --purge
installonly_limit=3 em /etc/dnf/dnf.conf). Se o kernel novo der problema, escolha o anterior no menu do GRUB pelo console do servidor.Atualização automática de segurança
No Ubuntu, o pacote unattended-upgrades já vem instalado e aplica as correções de segurança sozinho todos os dias. Ele não reinicia o servidor, então o kernel novo continua esperando um reboot.
No AlmaLinux e no Rocky, o equivalente é o dnf-automatic:
sudo dnf install dnf-automatic
sudo sed -i 's/^apply_updates = no/apply_updates = yes/' /etc/dnf/automatic.conf
sudo systemctl enable --now dnf-automatic.timer
Se você não pode reiniciar com frequência, existem serviços de atualização do kernel sem reinicialização (live patching), como o Livepatch do Ubuntu Pro e o KernelCare. Eles são pagos e não dispensam a atualização normal dos pacotes.
E para mudar de versão do sistema?
O dnf upgrade e o apt upgrade só atualizam dentro da mesma versão (AlmaLinux 9.4 para 9.6, Ubuntu 24.04.1 para 24.04.3). Para pular de versão:
- Ubuntu 22.04 para 24.04:
sudo do-release-upgrade, depois de deixar o 22.04 totalmente atualizado. - AlmaLinux 8 para 9: ferramenta ELevate, a mesma usada para sair do CentOS 7 (veja o passo a passo).
Problemas comuns
Could not resolve host: mirrorlist.centos.org
O servidor ainda roda CentOS 7 (ou 6), e os endereços de atualização foram desligados depois do fim do suporte. Não há atualização a fazer: o caminho é migrar de sistema.
The following packages have been kept back
No Ubuntu, isso quase sempre é a liberação gradual de atualizações (phased updates): o pacote chega para uma parte dos servidores por vez. Não force; em poucos dias ele é instalado normalmente.
Atualizei, mas o uname -r mostra o kernel antigo
Falta reiniciar. Se mesmo depois do reboot o kernel antigo continuar, veja qual está como padrão com sudo grubby --default-kernel (AlmaLinux e Rocky). No Ubuntu, confira se a partição /boot não ficou cheia durante a atualização com df -h /boot.
No space left on device durante a atualização
O disco ou o /boot lotou. Libere espaço antes de continuar; veja como descobrir o que está ocupando o disco.