Alterne de CentOS 7 para Oracle Linux 7
Introdução
Observação: CentOS 7 atingiu seu fim de vida útil (EOL) em 30 de junho de 2024. Esta situação significa que a Red Hat, a empresa por trás do CentOS, não fornece mais atualizações de segurança ou correções de bugs para o sistema operacional.
O tutorial a seguir fornece procedimentos passo a passo para alternar automaticamente uma instância do CentOS 7 para o Oracle Linux 7 removendo ou substituindo qualquer pacote específico do CentOS pelo equivalente do Oracle Linux. O README.md no repositório centos2ol
do Oracle em GitHub indica que o script usado neste tutorial é um trabalho em andamento e não projetado para tratar todas as configurações possíveis.
Verifique se você tem um backup completo do sistema antes de iniciar este processo se o script não puder converter o sistema com êxito.
Verifique os detalhes mais recentes do projeto centos2ol no arquivo README.md do projeto.
Objetivos
Neste tutorial, você irá:
- Verificar kernels não padrão
- Certifique-se de que a configuração
yum
esteja funcionando - Desativar ou remover repositórios desatualizados e não CentOS
- Garanta 5 GB de espaço livre em
/var/cache
- Desative todas as atualizações automáticas, incluindo
yum-cron
Pré-Requisito
- Um sistema com o CentOS 7 instalado.
Verifique a Versão do CentOS
-
Abra um terminal e estabeleça conexão com sua instância.
-
Obtenha a versão do CentOS.
sudo cat /etc/redhat-release
sudo cat /etc/os-release
Ambos os comandos mostram que a instância está executando o CentOS 7.
Verificar Kernels Não Padrão
-
Obtenha uma lista de kernels instalados usando
yum
.sudo yum list installed kernel
A listagem mostra todos os kernels instalados usando
yum
. É altamente recomendável remover todos os kernels não padrão; por exemplo, qualquer kernel instalado e não fornecido pela base ou pelo repositório de atualizações. Inclui a remoção de qualquer kernelcentosplus
. -
Obtenha uma lista de outros kernels instalados usando
grubby
.sudo grubby --info=ALL | grep ^kernel
Exemplo de Saída:
[oracle@centos-7 ~]$ sudo grubby --info=ALL | grep ^kernel kernel=/boot/vmlinuz-3.10.0-1160.76.1.el7.x86_64 kernel=/boot/vmlinuz-3.10.0-1160.el7.x86_64 kernel=/boot/vmlinuz-0-rescue-281810806a454564906c048d496729db
A lista mostra todos os kernels configurados para uso. Novamente, recomendamos fortemente a remoção de todos os kernels não padrão.
Remover Kernels Não Padrão com o Yum
Devido à vulnerabilidade GRUB2 BootHole, o shim de Inicialização Segura do Oracle Linux só pode inicializar kernels assinados pela Oracle e só podemos substituir os kernels CentOS padrão. Embora isso possa não afetar um sistema se SecureBoot estiver desativado, ativá-lo posteriormente poderá torná-lo não inicializável. Por esse motivo, é altamente recomendável remover todos os kernels não padrão; por exemplo, qualquer kernel instalado não fornecido pelo repositório base
ou updates
, incluindo os kernels CentOSPlus.
Observação: Ignore esta seção se o sistema não tiver kernels não padrão com base na descrição acima. (Não tente remover o kernel usando
yum
se o sistema tiver apenas um kernel instalado. A remoção da entrada do kernel do único kernel em funcionamento ou do kernel incorreto pode fazer com que o sistema falhe na inicialização e requer a inicialização no modo de usuário único para corrigir o servidor quebrado.)
-
Remova qualquer kernel não padrão.
sudo yum remove <KERNEL>
Onde
<KERNEL>
é o nome completo do pacote fornecido porrpm -q kernel
.
Remover Kernels Não Padrão com Grubby
grubby
é uma ferramenta de linha de comando para atualizar e exibir informações sobre os arquivos de configuração do carregador de inicialização grub. Esta ferramenta permite que um administrador desative kernels instalados fora de yum
.
Observação: Ignore esta seção se o sistema não tiver kernels não padrão com base na descrição da seção anterior. (Não tente remover o kernel usando
yum
se o sistema tiver apenas um kernel instalado. A remoção da entrada do kernel do único kernel em funcionamento ou do kernel incorreto pode fazer com que o sistema falhe na inicialização e requer a inicialização no modo de usuário único para corrigir o servidor quebrado.)
-
Obtenha o índice atribuído a cada uma das entradas de inicialização do kernel instalado.
sudo grubby --info=ALL | grep -E "^kernel|^index"
Exemplo de Saída:
[oracle@centos-7 ~]$ sudo grubby --info=ALL | grep -E "^kernel|^index" index=0 kernel=/boot/vmlinuz-3.10.0-1160.76.1.el7.x86_64 index=1 kernel=/boot/vmlinuz-3.10.0-1160.el7.x86_64 index=2 kernel=/boot/vmlinuz-0-rescue-281810806a454564906c048d496729db index=3
-
Remova as entradas de inicialização do kernel não padrão.
grubby --remove-kernel=<MENU_INDEX>
Em que
<MENU_INDEX>
é o valor de índice retornado da saída do comando anterior.
Verificar Configuração do YUM
-
Obtenha uma lista de repositórios ativados.
sudo yum repolist
Exemplo de Saída:
[oracle@centos-7 ~]$ sudo yum repolist Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: ftp.plusline.net * epel: mirror.imt-systems.com * extras: mirror.imt-systems.com * updates: ftp.plusline.net repo id repo name status base/7/x86_64 CentOS-7 - Base 10072 docker-ce-stable/7/x86_64 Docker CE Stable - x86_64 183 epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13738 extras/7/x86_64 CentOS-7 - Extras 515 updates/7/x86_64 CentOS-7 - Updates 4383 zfs/7/x86_64 ZFS on Linux for EL7 - dkms 55 repolist: 28946
-
Atualizar todos os pacotes instalados.
sudo yum -y upgrade
Remover ou Desativar Repositórios Não CentOS
Desative todos os repositórios que não sejam CentOS. Esta etapa ajuda a evitar conflitos de pacotes com repositórios de terceiros durante o switch. Você pode reativar o repositório após a alternância.
-
Desative repositórios que não sejam CentOS.
sudo yum-config-manager --disable <REPOSITORY_NAME>
Substitua
<REPOSITORY_NAME>
pelo nome do repositório de qualquer repositório não CentOS ativado no sistema.
Verifique o Espaço Livre em /var/cache
-
Obtenha um relatório de uso de espaço em disco.
df -h
Observação: Neste exemplo,
/var/cache
está no ponto de montagem/
, com 35G disponível. Este sistema tem o 5G gratuito recomendado pelo projeto centos2ol.
Verificar Atualizações Automáticas no Cron
Há várias maneiras pelas quais um administrador pode ativar atualizações automáticas. Esta seção verifica jobs cron que executam yum
diretamente ou usando um script. Desative esses jobs, se encontrados, para evitar que eles sejam executados durante o processo de alternância.
-
Liste os jobs cron da raiz.
sudo crontab -l
-
Liste os jobs cron do usuário.
sudo crontab -u oracle -l
-
Liste tarefas cron diárias, horárias, semanais e mensais.
sudo ls -al /etc/cron*
Em seguida, verifique os arquivos individuais usando
less
ou o editor escolhido.Observação: Os arquivos que contêm
yum-cron
em seu nome são gerenciados pelo serviçoyum-cron
. Abordaremos a desativação deles na próxima seção do tutorial. -
Liste o conteúdo de
/etc/crontab
.sudo less /etc/crontab
Desativar Atualizações Cron do YUM
Outra maneira de aplicar atualizações automaticamente é com yum-cron
.
-
Verifique o pacote
yum-cron
.sudo yum list installed yum-cron
Exemplo de Saída:
[oracle@centos-7 ~]$ yum list installed yum-cron Loaded plugins: fastestmirror, langpacks Determining fastest mirrors * base: ftp.plusline.net * epel: ftp.plusline.net * extras: ftp.plusline.net * updates: ftp.rz.uni-frankfurt.de Installed Packages yum-cron.noarch 3.4.3-168.el7.centos @base
Se a saída mostrar o pacote
yum-cron
não instalado no sistema, vá para a próxima seção. -
Verifique o estado do serviço systemd
yum-cron
.sudo systemctl is-enabled yum-cron sudo systemctl is-active yum-cron
-
Desative o serviço systemd
yum-cron
se ele estiver ativo e em execução.sudo systemctl stop yum-cron sudo systemctl disable yum-cron
Fazer Download e Executar o Script de Conversão
-
Faça download do script
centos2ol.sh
em GitHub.A maneira mais simples de obter o script é usar curl:
curl -O https://raw.githubusercontent.com/oracle/centos2ol/main/centos2ol.sh
Se você tiver o Git instalado, use a opção
clone
para extrair o repositório de GitHub.git clone https://github.com/oracle/centos2ol.git
-
Execute o script
centos2ol.sh
.Se você usou
git clone
, altere o diretório de trabalho atual para o diretório centos2ol.Consulte as opções de uso do script informando a opção
-h
.sudo bash centos2ol.sh -h
Agora, execute o script e aguarde sua conclusão.
sudo bash centos2ol.sh
Como parte do processo, o kernel padrão é alternado para a versão mais recente do Unbreakable Enterprise Kernel (UEK) da Oracle para permitir melhorias abrangentes de desempenho e escalabilidade no Process Scheduler, gerenciamento de memória, sistemas de arquivos e pilha de rede. Também substituímos o kernel CentOS existente pelo Red Hat Compatible Kernel (RHCK) equivalente, que hardware ou aplicativo específico poderá exigir se tiver imposto restrições rigorosas de versão do kernel.
-
Reinicializar o sistema.
sudo reboot
Confirmar Alternância do Sistema para o Oracle Linux
-
Usando o terminal, conecte-se novamente à sua instância.
-
Verifique a versão de distribuição e os detalhes do kernel.
cat /etc/os-release cat /etc/redhat-release uname -r
Contribua para o Projeto centos2ol GitHub
-
Obtenha suporte.
Abra um problema GitHub para relatórios de bugs não relacionados à segurança, perguntas ou solicitações de aprimoramentos.
Para Obter Mais Informações
Documentação do Oracle Linux
Treinamento do Oracle Linux
Estação de Treinamento do Oracle Linux
Atualizar o Oracle Linux com o Leapp
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.