Atualizar CentOS 7 para CentOS 8 — guia não oficial

CentOS 8 foi lançado em 23 de setembro de 2019. As ISOs estão disponíveis no site oficial e podem ser instaladas de várias formas. A versão minimal (aprox. 800 MB) ainda não estava disponível para alguns espelhos na época; a versão completa pode ocupar cerca de 6 GB. Como administrador de sistemas, eu preferia a build minimal. Neste tutorial eu mostro um procedimento não oficial para migrar CentOS 7 para CentOS 8.
Important: este procedimento não é suportado oficialmente. Não o execute em produção sem testes extensivos e backups/snapshots completos.
Pré-requisitos e recomendações
- Faça backup completo do sistema e crie um snapshot se estiver em VM.
- Teste o fluxo em um ambiente de laboratório idêntico ao de produção.
- Verifique espaço em disco, especialmente /boot e /var/cache.
- Anote pacotes críticos e repositórios de terceiros.
- Tenha acesso ao console físico ou virtual para recuperação (no-break/console KVM).
Checklist antes de começar
- Backup completo e verificado
- Snapshot da VM
- Lista de pacotes instalados: rpm -qa > /root/packages-centos7.txt
- Acesso root e porta serial/console funcional
- Repositórios EPEL e terceiros listados
Passo a passo da migração
A sequência abaixo é a tradução adaptada dos comandos do procedimento original. Execute cada comando com atenção e leia as saídas.
- Instalar repositório EPEL para CentOS 7
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm- Instalar utilitários yum
yum -y install rpmconf yum-utils- Resolver conflitos e arquivos .rpm de configuração
rpmconf -aResultado esperado: será exibida uma lista de arquivos de configuração; escolha manter os padrões quando não tiver certeza.

- Limpar pacotes órfãos e dependências não necessárias
package-cleanup --leaves
package-cleanup --orphans- Instalar o gerenciador DNF baseado em RPM
yum -y install dnf- Remover yum (opcional) e diretórios relacionados
dnf -y remove yum yum-metadata-parser
rm -Rf /etc/yum- Atualizar o sistema com DNF
sudo dnf -y upgrade- Instalar o pacote de release do CentOS 8 (exemplo de mirror)
dnf -y upgrade http://mirror.bytemark.co.uk/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.0-0.1905.0.9.el8.x86_64.rpm- Atualizar repositório EPEL para CentOS 8
dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm- Limpar cache de pacotes
dnf clean all- Remover kernels antigos (cuidado: preserve pelo menos um kernel estável caso precise reverter)
rpm -e `rpm -q kernel`- Remover pacotes que conflitam com o novo sistema
rpm -e --nodeps sysvinit-tools- Iniciar o upgrade da distribuição
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync- Processar novas configurações de pacotes
rpmconf -a- Verificar e (re)instalar o kernel-core
rpm -e kernel-core
dnf -y install kernel-core- Confirmar atualização do GRUB e reinstalar no dispositivo de boot
ROOTDEV=`ls /dev/*da|head -1`;
echo "Detected root as $ROOTDEV..."
grub2-install $ROOTDEV- Instalar grupos mínimos do sistema
dnf -y groupupdate "Core" "Minimal Install"- Verificar a versão do CentOS
cat /etc/centos-release
Problemas comuns e soluções rápidas
- Falha ao resolver dependências: revise repositórios de terceiros e remova pacotes órfãos antes de executar distro-sync.
- GRUB não instala: verifique se ROOTDEV aponta para o disco correto (/dev/sda ou /dev/vda) e rode grub2-install com privilégios de root.
- Falha no boot após upgrade: use o snapshot/backup para restaurar ou initial ramdisk com dracut –regenerate-all.
Quando este método falha
- Sistemas com muitos repositórios de terceiros ou pacotes compilados localmente podem ter conflitos irreversíveis.
- Servidores em produção com requisitos de alta disponibilidade não devem usar este fluxo sem testes e janelas de manutenção.
Plano de rollback e recuperação
- Priorize snapshots LVM/VM antes do processo.
- Tenha imagem/backup dos volumes críticos (/etc, /var/lib, /home, bancos de dados).
- Se o sistema não inicializar, boot por mídia de resgate, monte volumes e restaure o snapshot ou os arquivos de configuração.
Critérios de aceitação
- O sistema inicia com kernel 4.x/5.x compatível com CentOS 8 e sem erros de boot.
- Serviços críticos (web, banco, autenticação) sobem corretamente e passam testes básicos.
- Pacotes essenciais estão presentes e os repositórios apontam para CentOS 8.
Dicas adicionais
- Mantenha um inventário dos serviços que dependem de versões específicas de bibliotecas.
- Considere reimplantar servidores a partir de uma ISO CentOS 8 quando possível — é a opção mais segura.
- Documente cada passo e os comandos executados para auditoria e repetição.
Resumo
Este guia mostra um caminho prático para migrar CentOS 7 para CentOS 8 sem reinstalação completa. Ele contém checklist, comandos principais e instruções de recuperação. Repita o processo em ambientes de teste e só considere produção após validação completa.
Materiais semelhantes
Instalar e usar Podman no Debian 11
Apt‑pinning no Debian: guia prático
Injete FSR 4 com OptiScaler em qualquer jogo
DansGuardian e Squid com NTLM no Debian Etch
Corrigir erro de instalação no Android