Problema amb l'actualització de CentOS via yum
L'altra dia vaig executar el yum update a un servidor on hi havia el CentOS 4.5; com havia sortit la versió 4.6, em va avisar que anavar a baixar uns quants MB de fitxers (crec que uns 200 MB, potser menys). Li vaig dir que endavant.
Quan ja havia descarregat els paquets i portava la meitat de la instal·lació se'm va tallar la connexió amb el servidor. En tornar a connectar, torno a executar el yum update, però es talla amb aquest error:
centos Error: Missing Dependency: gcc = 3.4.6-9 is needed by package gcc-c++
Una mica de cerca amb Google i veig que el problema és degut a que s'han instal·lat versions noves de paquets, però com els anteriors encara eren necessaris per les dependències no s'havien esborrat. Això es un procés que es fa en finalitzar la instal·lació de tots els paquets.
La solució: eliminar manualment tots els paquets duplicats… una feina de xinos, ja que n'hi havia centenars.
Continuo la cerca de Google i no trigo a trobar una forma més elegant, amb un script en PERL:
rpm --last -qa | perl -n -e '/^(\S+)-\S+-\S+/; print "$&\n" if $SEEN{$1}; $SEEN{$1} ||= $_;' | uniq >dupes.txt
Això funciona a la primera, però després les instruccions que dóna per a esborrar els duplicats són errònies. La forma correcta és executar, com a root:
for i in $(cat dupes.txt); do rpm -e $i && echo $i; done
Com hi ha dependències, això ho vaig haver d'executar un parell de vegades. Hi va haver una sèrie de paquets que no es van voler desinstal·lar, no obstant.
Un cop fet tot això, ja vaig poder tornar a executar el yum update i l'actualització va funcionar sense problemes. Això sí, va haver de tornar a baixar tots els paquets.
Entrades aleatòries
Carregant…


El pròxim cop fes-ho en un screen
Comentari by David — 18 setembre 2008 @ 0:03
Per això m'encanta debian, no instal·la cap paquet fins que no se'ls ha baixat tots
.
Això no vol dir que apt sigui perfecte, perquè a vegades també s'encalla una mica, però aquest problema en concret no hauria passat (a més com que cacheja els paquets, no te'ls hauries hagut de tornar a baixar
)
Salut,
Marc.
Comentari by Marc — 18 setembre 2008 @ 9:12
David, screen només m'hauria ajudat si abans de que se'm tallés la comunicació hagués fet un detach de la sessió amb Ctrl-a d, no?
La capacitat d'screen de funcionar en background la faig servir quan d'entrada sé que el procés m'ha de durar molta estona… però haig de reconèixer que, habitualment no l'acostumo a utilitzar. Certament, m'hauria d'acostumar a fer-lo servir sempre.
Comentari by Xavier Caballé — 18 setembre 2008 @ 10:30
Si se't talla la connexió mentre treballes en screen se't manté el terminat, independentment de que t'hagis desengantxat abans o no. La de vegades que havia patit perquè no es talli la connexió, fins que vaig descobrir screen. És fantàstic!
Felicitats pel blog
Comentari by David — 18 setembre 2008 @ 18:09