Solucionat problema d’actualització en Manjaro: paquet que ja existeix en el sistema de fitxers

Fa pocs dies (com gairebé cada setmana), va surtir una nova actualització de Manjaro Linux, la 4a per a la versió 0.8.12. L’actualització ha anat bé en quatre de les meves màquines, però la cinquena m’ha donat problemes. Es tracta d’una Manjaro KDE de 32 bits.

En executar l’ordre

# pacman-mirror -g ; pacman -Syyuu

Es produïa el següent missatge d’error:

(229/229) s'estan comprovant els conflictes amb fitxers                      [############################################] 100%
error: ha fallat en publicar la transacció (fitxers conflictius)
kactivities-frameworks: /usr/bin/kactivitymanagerd existeix en el sistema de fitxers
kactivities-frameworks: /usr/include/KF5/KActivities/KActivities/Consumer existeix en el sistema de fitxers
kactivities-frameworks: /usr/include/KF5/KActivities/KActivities/Controller existeix en el sistema de fitxers
kactivities-frameworks: /usr/include/KF5/KActivities/KActivities/Info existeix en el sistema de fitxers
kactivities-frameworks: /usr/include/KF5/KActivities/KActivities/ResourceInstance existeix en el sistema de fitxers

Però amb moltes més línies. No he trobat cap indicació en el fòrum de Manjaro que m’hi ajudés (potser no he buscat on tocava, només he mirat en el d’aquesta actualització concreta), de manera que he investigat una mica i, com de costum, la Wiki d’Arch Linux m’ha donat la pista en aquest apartat:
Me sale el siguiente error en la actualización: “file exists in filesystem”!

Segons interpreto, en alguns casos, el fitxer /var/lib/pacman/local/$package-$version/files , que conté metadades sobre el paquet $package-$version, es pot corrompre o desaparèixer, cosa que genera el missatge d’error. Una solució és reinstal·lar el paquet per tal que es regeneri el fitxer; és pot fer amb l’ordre

# pacman -S --force paquet

Aquesta ordre obliga pacman a ignorar el missatge d’error i instal·lar, reescrivint el que calgui, el paquet. L’article citat adverteix que no s’ha d’emprar l’ordre

# pacman -Syu --force

És a dir, que no es pot forçar la reescriptura en cas d’actualització del sistema (suposo que és massa perillós aplicar-ho a 222 paquets, que és el meu cas). Comprovo que, en aquest moment, el problema sembla afectar només el paquet kactivities-frameworks. Comprovo que existeix i que està instal·lat amb

# pacman -Ss kactivities-frameworks

I, tot seguit, en forço la reinstal·lació amb

# pacman -S --force kactivities-frameworks

El paquet es reinstal·la en un moment (juntament amb una dependència). Després, torno a intentar l’actualització amb

# pacman -Syu

I aquest cop sí, Manjaro s’actualitza correctament.

Anuncis

Quant a Giorgio Grappa

Algú fa cas de les coses que els blocaires escriuen sobre ells mateixos? El comentari més sincer que he llegit als "about me" és aquell de: "si vols saber res de mi, pots llegir el meu bloc."
Aquesta entrada s'ha publicat en anotacions al marge i etiquetada amb , , , , . Afegiu a les adreces d'interès l'enllaç permanent.

2 respostes a Solucionat problema d’actualització en Manjaro: paquet que ja existeix en el sistema de fitxers

  1. Josep ha dit:

    En alguna ocasió m’he trobat amb alguna situació similar (Debian testing). Això passa perquè hi ha dos paquets que instal·len un mateix fitxer, de vegades provocat per moviments de fitxers d’una versió a una altra, i on els mantenidors dels paquets només pensen en la instal·lació de zero, no pas l’actualització. En el meu cas o vaig resoldre eliminant al sistema de fitxers el/s fitxer/s en conflicte. Total, el nou paquet els instal·la de nou…
    També és bona opció forçar la instal·lació, però no convé abusar-ne. ;-)

    • Giorgio Grappa ha dit:

      M’imaginava que la causa aniria per on tu dius: el paquet kactivities-frameworks pertany a Plasma5, és possible que haja tingut algun conflicte amb l’equivalent de Plama4 (o potser es diuen Qt5 i Qt4, t’ho dic segons ho recordo).

      Bo, ja he aprés una cosa més, aquí està la gràcia :-)

Els comentaris estan tancats.