Compartilhe que você está se especializando

Quando se trabalha com sistemas baseados em CentOS (ou RHEL), as vezes é necessário instalar uma versão específica de algum pacote (como por exemplo, uma versão mais atual do PHP). Porém, ao tentar instalar no método tradicional (yum ou dnf) a versão que informa que será instalada não é a versão que você precisa.

Quando isso acontece, a maioria dos posts irão lhe sugerir utilizar outros repositórios (como o EPEL e/ou o REMI). Apesar desses repositórioes serem muito úteis e apresentar versões atualizadas, essa flexibilidade tem um custo: Ao utilizar pacotes não oficiais, podem surgir problemas de compatibilidade de dependências entre pacotes de versões distintas, a medida que você precisa adicionar ou remover outros pacotes. Isso pode levar a quebras de funcionalidades, erros de execução ou até falhas no sistema.

Por outro lado, apesar de pouco divulgado essa solução, iremos demonstrar nesse post como consultar e alterar as versões de pacotes a serem instaladas do repositório oficial do CentOS. Tanto os gerenciador de pacotes yum ou o dnf permitem consultar versões disponíveis e escolher qual instalar.

Alterando a versão de um pacote

Opcional: Se ainda for um ambiente novo, sugerimos atualizar totalmente o ambiente primeiro. Para isso, execute:

yum update -y
yum upgrade -y

Antes de instalar ou alterar a versão de um pacote, o ideal é listar quais versões estão disponíveis no(s) repositório(s) habilitado(s):

Em nosso exemplo, vamos alterar a versão do PHP, que seria instalado no CentOS. Primeiro vamos consultar qual seria a versão a ser instalada, para isso execute (atenção: Não confirme a instalação, apenas vamos consultar qual seria a versão):

yum install php

Considerando o padrão do CentOS 9 (na data desse post), a versão do PHP deve ser a 8.0. Para consultar as outras versões disponíveis, execute o comando:

dnf module list php

Você verá que existem outras versões disponíveis do PHP, em nosso caso (novamente, considerando as versões existentes na época desse post) vamos alterar para a versão 8.2, para isso execute:

dnf module reset php
dnf module -y enable php:8.2

Agora, alterada a versão a ser instalada, tente novamente instalar, com o comando:

yum install php

Se a versão estiver a que deseja, aceite a instalação.

Conclusão

Embora repositórios como EPEL e REMI ofereçam uma ampla gama de opções, o uso indiscriminado de múltiplos repositórios pode causar conflitos e instabilidade no sistema. Por isso recomendamos primeiro alterar a versão de um pacote do repositório oficial do CentOS, para manter compatibilidade com versões específicas de software, primando pela estabilidade e previsibilidade no ambiente.

Seguindo essas boas práticas, você garante um sistema mais estável, seguro e fácil de manter sem abrir mão da flexibilidade quando realmente precisar.

Fontes/Referências

https://docs.fedoraproject.org/en-US/epel
https://rpms.remirepo.net
https://server-world.info/en/note?os=CentOS_Stream_9&p=php&f=5

Mais Informações

Esperamos ter te ajudado e estaremos sempre a disposição para mais informações.

Se você tem interesse em algum assunto específico, tem alguma dúvida, precisa de ajuda, ou quer sugerir um post, entre em contato conosco pelo e-mail equipe@nvlan.com.br.

NVLAN - Consultoria