Versi per a telfons mbils

L'home dibuixatL’home dibuixat

«Jo sóc l'home dibuixat, el que no té carn ni cos.
D'homes dibuixats com jo se n'aprofiten els grans»
Jaume Sisa - L'home dibuixat
Índex *SeguretatCriptografiaAnàlisi ForenseMalwarePrivadesa *EinesGadgetsInternetLinuxWindows *Telèfons mòbils *CiènciaCultura *Fotobloc

Problema amb l'actualització de CentOS via yum

17 setembre 2008 —   — Classificat com a: LinuxComentaris (4)

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…

Publicitat

4 comentaris »

  1. El pròxim cop fes-ho en un screen :)

    Comentari by David — 18 setembre 2008 @ 0:03

  2. Per això m'encanta debian, no instal·la cap paquet fins que no se'ls ha baixat tots :-D .

    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 :-D )

    Salut,

    Marc.

    Comentari by Marc — 18 setembre 2008 @ 9:12

  3. 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

  4. 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

Canal RSS pels comentaris a aquesta entrada. TrackBack URL

Deixa un comentari

 

 

Switch to our mobile site