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.
