Problema con yum en CentOS.
Llevaba varios días que en mi servidor Linux con la distribución centOS, al hacer un yum update normal y corriente (yum es el paquete que realiza la actualización de la paquetería en CentOS, como lo es apt-get en Ubuntu), no podía realizar ningún tipo de actualización del sistema operativo y ocurría esto que incluyo a continuación.
Al hacer yum update los mensajes obtenidos eran los siguientes:
Loading “fastestmirror” plugin
Loading “installonlyn” plugin
Setting up Update Process
Setting up repositories
Loading mirror speeds from cached hostfile
* base: centos.crazyfrogs.org
* updates: centos.crazyfrogs.org
* addons: ftp.cica.es
* extras: centos.crazyfrogs.org
Reading repository metadata in from local files
Traceback (most recent call last):
File “/usr/bin/yum”, line 29, in ?
yummain.main(sys.argv[1:])
File “/usr/share/yum-cli/yummain.py”, line 94, in main
result, resultmsgs = base.doCommands()
File “/usr/share/yum-cli/cli.py”, line 381, in doCommands
return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
File “/usr/share/yum-cli/yumcommands.py”, line 150, in doCommand
return base.updatePkgs(extcmds)
File “/usr/share/yum-cli/cli.py”, line 685, in updatePkgs
obsoleting_pkg = self.getPackageObject(obsoleting)
File “/usr/lib/python2.4/site-packages/yum/__init__.py”, line 1473, in getPackageObject
pkgs = self.pkgSack.searchPkgTuple(pkgtup)
File “/usr/lib/python2.4/site-packages/yum/packageSack.py”, line 66, in searchPkgTuple
return self.searchNevra(name=n, arch=a, epoch=e, ver=v, rel=r)
File “/usr/lib/python2.4/site-packages/yum/packageSack.py”, line 232, in searchNevra
return self._computeAggregateListResult(“searchNevra”, name, epoch, ver, rel, arch)
File “/usr/lib/python2.4/site-packages/yum/packageSack.py”, line 369, in _computeAggregateListResult
sackResult = apply(method, args)
File “/usr/lib/python2.4/site-packages/yum/sqlitesack.py”, line 574, in searchNevra
returnList.append(self.pc(rep,self.db2class(x)))
File “/usr/lib/python2.4/site-packages/yum/sqlitesack.py”, line 431, in db2class
y.checksum = {‘pkgid’: ‘YES’,’type’: db.checksum_type,
File “/usr/lib64/python2.4/site-packages/sqlite/main.py”, line 97, in __getattr__
raise AttributeError, key
AttributeError: CHECKSUM_VALUE
Despues de mucho investigar, googlear, intentar,…
La conclusión es que la versión del paquete yum-metadata-parser esta desactualizada con respecto a la versión de yum, por esta razón hay que actualizarla, he probado muchas cosas y al final, la más acertada ha sido:
1º Descargar el paquete yum actualizado completo desde el repositorio de centos.org.
2º Desinstalar yum, con el comando:
yum remove yum (valga la redundancia, utilizar yum para desinstalarse a si mismo)
3º Instalar el paquete yum que nos habiamos bajado con rpm
rpm -i yum-3.2.8-9.el5.centos.1.noarch.rpm
4º Después de esta operación se instalan todas las dependencias de paquetería correctamente y ya podremos hacer un yum update de manera habitual, habiendo solucionado el problema con yum que nos traía de cabeza.
Bye