Yum failure: repodata/repomd.xml HTTP Error 404 – Not Found
O Centos 7 chegou ao fim (EOL) em 30 de junho de 2024, não recebe mais desenvolvimento e updates, e com isso os repositórios do yum foram descontinuados. Isso não afeta apenas a atualização dos pacotes, mas repositórios offline impedem a execução correta do yum gerando também erros em funções do cpanel.
Error: “/usr/local/cpanel/bin/python-packman” reported error code “1” when it ended: Traceback (most recent call last): File "/usr/local/cpanel/bin/packman_get_list_json", line 15, in <module> packman.init_yum() File "/usr/local/cpanel/bin/packman_lib/yum_impl.py", line 78, in init_yum yb.repos.populateSack() File "/usr/lib/python2.7/site-packages/yum/repos.py", line 347, in populateSack self.doSetup() File "/usr/lib/python2.7/site-packages/yum/repos.py", line 157, in doSetup self.retrieveAllMD() File "/usr/lib/python2.7/site-packages/yum/repos.py", line 88, in retrieveAllMD dl = repo._async and repo._commonLoadRepoXML(repo) File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1482, in _commonLoadRepoXML result = self._getFileRepoXML(local, text) File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1259, in _getFileRepoXML size=102400) # setting max size as 100K File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1042, in _getFile raise e yum.Errors.NoMoreMirrorsRepoError: failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try. http://centos.mirror.serverloft.eu/7/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found w/ /usr/local/cpanel/bin/packman_get_list_json installed Often errors like this can be resolved by running `yum makecache`
O erro acima será vissto ao tentar usar o EasyApache4 ou trocar a versão do PHP de um site no cpanel.
Para corrigir, ajuste os repositórios do yum.
Desative o repositório Base que não responde mais:
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bkp
Crie um novo arquivo chamado Centos-Vault.repo
nano Centos-Vault.repo
Copie e cole os dados do repositório CentOS Vault no novo arquivo
# Vault
[Vault-base]
name=Vault - CentOS-$releasever - Base
baseurl=http://vault.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
[Vault-updates]
name=Vault - CentOS-$releasever - Updates
baseurl=http://vault.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
[Vault-extras]
name=Vault - CentOS-$releasever - Extras
baseurl=http://vault.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
Salve o arquivo, limpe o cache do yum e atualize o cache dos repositórios:
yum clean all
yum makecache
Ao atualizar o cache você poderá encontrar outros repositórios com erro
failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try.
http://centos.mirror.serverloft.eu/7/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
Encontre qual arquivo de repositório tem o link quebrado e desative o repositório, renomeando ou movendo o arquivo:
grep -l centos.mirror.serverloft.eu /etc/yum.repos.d/*
mv /etc/yum.repos.d/serverloft-Base.repo /etc/yum.repos.d/serverloft-Base.repo.bkp
Limpe e atualize o cache novamente e se necessário repita o processo até não haver mais repositórios quebrados
yum clean all
yum makecache
Deixe um comentário