O CentOS 6 e o 7 não recebem mais kernel nem correções. Veja por que não vale instalar kernel avulso e como migrar para o AlmaLinux com o ELevate.
Durante anos, a receita para ter um kernel mais novo no CentOS foi instalar o kernel-ml do repositório ELRepo. Essa receita acabou. O CentOS 6 chegou ao fim em 30/11/2020 e o CentOS 7 em 30/06/2024; desde então não há correção de segurança para nenhum pacote, e o próprio ELRepo deixou de publicar kernels para essas versões. O que resolve hoje é trocar o sistema.
| Sistema | Fim do suporte | Caminho recomendado |
|---|---|---|
| CentOS 6 | 30/11/2020 | Servidor novo com AlmaLinux 9 e migração dos dados |
| CentOS 7 | 30/06/2024 | ELevate para AlmaLinux 8 e, depois, para o 9 |
| CentOS 8 | 31/12/2021 | Migração para AlmaLinux 8 ou Rocky 8, depois ELevate para o 9 |
| AlmaLinux 8 | Segurança até 31/05/2029 | Pode ficar; planeje o 9 |
| AlmaLinux 9 | Segurança até 31/05/2032 | Versão indicada para servidores novos |
Por que não basta atualizar só o kernel
- O kernel é uma peça só. OpenSSL, OpenSSH, glibc, PHP e o resto do sistema continuam com as falhas conhecidas.
- Um kernel de linha principal (
kernel-ml) não foi testado com o restante do CentOS e pode quebrar drivers, cotas e o próprio boot. - Os repositórios oficiais do CentOS foram desligados: o
yumfalha comCould not resolve host: mirrorlist.centos.org.
Confira a versão do seu servidor:
cat /etc/redhat-release
uname -r
O que é o ELevate
O ELevate é um projeto do AlmaLinux que usa a ferramenta Leapp, da Red Hat, para atualizar o sistema no lugar, sem reinstalar: o CentOS 7 vira AlmaLinux 8 e, numa segunda rodada, o AlmaLinux 8 vira 9. Os arquivos, usuários e serviços permanecem. Para servidores com cPanel existe uma versão própria, mantida pela cPanel, que também cuida do painel.
CentOS 7 sem cPanel: ELevate para AlmaLinux 8
- Aponte o yum para o arquivo do CentOS 7. Como os espelhos originais foram desligados, o AlmaLinux mantém uma cópia:
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://el7.repo.almalinux.org/centos/CentOS-Base.repo - Atualize o CentOS 7 até a última versão e reinicie.
sudo yum update -y sudo reboot - Instale o ELevate e os dados de migração para o AlmaLinux.
sudo yum install -y https://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm sudo yum install -y leapp-upgrade leapp-data-almalinux - Rode a verificação prévia. Ela não muda nada no servidor; só aponta o que impede a migração.
O relatório fica emsudo leapp preupgrade/var/log/leapp/leapp-report.txt. Os itens marcados como inhibitor precisam ser resolvidos. - Resolva os impedimentos mais comuns do CentOS 7. O projeto documenta estes três:
A segunda linha mantém o login do root por senha depois da migração, para você não ficar trancado fora. Depois que tudo estiver funcionando, reveja essa configuração (o ideal é usar chave SSH).sudo rmmod pata_acpi echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True - Rode a verificação de novo até não sobrar nenhum inhibitor.
- Execute a migração e reinicie.
No boot, o servidor entra numa opção especial do GRUB (ELevate-Upgrade-Initramfs) e faz a troca dos pacotes. Costuma levar mais de 30 minutos; acompanhe pelo console e não desligue a máquina.sudo leapp upgrade sudo reboot - Confira o resultado.
O sistema deve aparecer como AlmaLinux 8. A última linha lista pacotes antigos que sobraram; avalie cada um e remova o que não for mais necessário.cat /etc/redhat-release uname -r rpm -qa | grep el7
Para ir do AlmaLinux 8 para o 9, o processo é o mesmo: instale o elevate-release do el8, rode leapp preupgrade, resolva os impedimentos e rode leapp upgrade. Siga o guia oficial do ELevate no wiki do AlmaLinux, que lista os impedimentos de cada versão.
CentOS 7 com cPanel: use o ELevate da cPanel
Em servidor com cPanel, não rode o Leapp por conta própria. O script da cPanel faz a migração do sistema e reinstala o cPanel, o EasyApache 4 e o MySQL ou MariaDB na ordem certa. Pré-requisitos principais:
- cPanel na versão 110, na última atualização dessa versão (é a última que roda no CentOS 7), com licença válida.
- MySQL ou MariaDB numa versão suportada no AlmaLinux 8; se não for, o script oferece a atualização.
- Espaço livre em disco: a migração pode consumir 5 GB ou mais.
- Backup do servidor inteiro. O backup de contas do WHM não protege o sistema.
wget -O /scripts/elevate-cpanel https://raw.githubusercontent.com/cpanel/elevate/release/elevate-cpanel
chmod 700 /scripts/elevate-cpanel
/scripts/elevate-cpanel --check
O --check só lista os bloqueios, sem mexer em nada. Resolvidos os bloqueios, inicie e acompanhe:
/scripts/elevate-cpanel --start
/scripts/elevate-cpanel --log
/scripts/elevate-cpanel --status
O servidor reinicia entre as etapas. Se uma etapa parar com erro, corrija e retome com /scripts/elevate-cpanel --continue. O mesmo script leva também do CloudLinux 7 para o 8 e, depois, do AlmaLinux 8 para o 9. Veja a documentação do cPanel ELevate.
E o CentOS 6?
Não existe caminho no lugar do CentOS 6 para o AlmaLinux. O ELevate começa no CentOS 7, e pular de versão em versão a partir do 6 é arriscado demais para um servidor em produção. O caminho é montar um servidor novo com AlmaLinux 9, instalar os serviços e copiar os dados. Em servidores cPanel, a Transfer Tool do WHM faz quase tudo. Veja como transferir contas de outro servidor.
Problemas comuns
Could not resolve host: mirrorlist.centos.org
O servidor ainda usa os espelhos originais do CentOS, que não existem mais. No CentOS 7, use o arquivo do passo 1. É só para conseguir migrar: esses pacotes não recebem mais correções.
Inhibitor no leapp preupgrade
Leia o /var/log/leapp/leapp-report.txt: cada impedimento vem com a explicação e, muitas vezes, com o comando exato para resolver, como um leapp answer.
O servidor não voltou depois do reboot
Entre pelo console. A migração pode estar em andamento (a tela mostra o progresso) ou ter parado com erro; nesse caso, o log fica em /var/log/leapp/leapp-upgrade.log. Se não houver como corrigir, restaure o snapshot.