[pacman] màj ou installation impossibles (résolu)

Mise à jour / Création /debug de paquetages
Shanx
Hankyu
Messages : 42
Inscription : dim. 08 août 2010, 10:28

[pacman] màj ou installation impossibles (résolu)

Message par Shanx »

Bonjour,
il y a quelque temps, j’avais eu un problème assez gênant qui intervenait dès que je faisait une màj. À chaque fois je devais réparer le système en downgradant certains paquets à chaque màj, du coup ça fait un bail que je n’ai pas fait de màj, d’autant plus que j’utilisais peu l’ordi.

Mais voilà, maintenant je ne peux plus utiliser pacman ou yaourt. Quoique je fasse, il y a systématiquement des erreurs. Par exemple, lors d’une màj de pacman :

Code : Tout sélectionner

Procéder à l'installation ? [O/n] 
(1/1) vérification de l'intégrité des paquets             [------------------------------] 100%
(1/1) chargement des fichiers des paquets                 [------------------------------] 100%
(1/1) analyse des conflits entre fichiers                 [------------------------------] 100%
Erreur : la création du répertoire temporaire a échoué
(1/1) mise à jour de pacman                               [------------------------------] 100%
Erreur : l'extraction de usr/lib/libalpm.a a échoué (Write failed)
Erreur : l'extraction de usr/lib/libalpm.so.7.0.3 a échoué (Write failed)
Erreur : des erreurs sont survenues pendant la mise à jour de pacman
Erreur : la création du répertoire temporaire a échoué
Erreur : appliquer la transaction a échoué
Erreur : la validation de la transaction a échoué (transaction annulée)
Des erreurs se sont produites, aucun paquet n'a été mis à jour.
Lors d’un yaourt -Suy :

Code : Tout sélectionner

$ yaourt -Suy         
Mot de passe : 
pacman: error while loading shared libraries: /usr/lib/libalpm.so.7: invalid ELF header
Lors d’un yaourt -S thunar :

Code : Tout sélectionner

:: Récupération des paquets du dépôt extra...
Erreur : échec de récupération du fichier « libxfce4util-4.10.0-1-x86_64.pkg.tar.xz » depuis mirrors.kernel.org : Failed writing body (0 != 14480)
Bref, je vous avouerai que tout ça m’embête un peu. Comment est-ce que je peux “nettoyer” le système afin de récupérer un pacman fonctionnel ?

EDIT : ah, et j’ai aussi des erreurs à propos de gcc…
Dernière modification par Shanx le mer. 16 mai 2012, 14:48, modifié 1 fois.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [pacman] màj ou installation impossibles (en cours)

Message par FoolEcho »

Salut,
Shanx a écrit :Erreur : l'extraction de usr/lib/libalpm.a a échoué (Write failed)
Erreur : l'extraction de usr/lib/libalpm.so.7.0.3 a échoué (Write failed)
Ça sonne comme un manque d'espace disque.
Il faudrait probablement commencer par vérifier l'état de remplissage de ta partition racine et vider le cache de pacman ou voir si certains logs ne se sont pas affolés et ont pris trop de place parce que tu aurais un problème ailleurs (attention, en aucun cas, ne supprime le pacman.log ! )... cependant pacman étant lui-même cassé (libalpm...) il va falloir commencer par lui... et comme un bourrin, je ne vois pas d'autre solution, c'est à dire en décompressant directement le pkg.tar.xz de pacman à la racine de ton système (sauf si par chance, tu fais un peu de place et que la réinstallation de pacman fonctionne directement). Puis faire le ménage et remettre à jour.

Je répète pour être clair:
- vérifier le remplissage de ta racine;
- faire un peu de ménage dans /var/cache/pacman/pkg manuellement;
- si tu ne peux réinstaller correctement et proprement pacman, décompresser son archive au niveau de la racine (récupère avant tes pacman.conf et mirrorlist sinon ils seront écrasés par cette manipulation). Puis passer par la voie normale pour le réinstaller de nouveau en acceptant les problèmes de conflits éventuels pour restaurer une base propre (-f, tu auras quelques fichiers inutiles qui traîneront sur ton système que tu pourras toujours supprimer ensuite à la main: .INSTALL et .PKGINFO).
- faire la place nécessaire si ça n'est pas fini et remettre proprement à jour, en commençant par tous les paquets qui t'ont donné le même type d'erreur.
«The following statement is not true. The previous statement is true.» :nage:
Shanx
Hankyu
Messages : 42
Inscription : dim. 08 août 2010, 10:28

Re: [pacman] màj ou installation impossibles (en cours)

Message par Shanx »

En effet, il y avait un problème d’espace, que j’ai réglé par la suite en supprimant des trucs inutiles sur la racine. Ce pendant, je ne peux toujours rien faire avec pacman, vu que j’ai toujours l’erreur suivante : “pacman: error while loading shared libraries: /usr/lib/libalpm.so.7: invalid ELF header”.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [pacman] màj ou installation impossibles (en cours)

Message par FoolEcho »

Si tu as toujours le paquet de pacman dans ton cache, passe par:

Code : Tout sélectionner

tar xzvf /var/cache/pacman/pkg/pacman-LA_DERNIERE_VERSION.pkg.tar.gz -C /
Si tu ne l'as plus, il te suffit de télécharger via wget ou directement sur le miroir depuis http://www.archlinux.org/packages (attention à l'architecture !).

Et comme je disais, attention à bien avoir conservé tes pacman.conf et mirrorlist et à les remettre après décompression.
«The following statement is not true. The previous statement is true.» :nage:
Shanx
Hankyu
Messages : 42
Inscription : dim. 08 août 2010, 10:28

Re: [pacman] màj ou installation impossibles (en cours)

Message par Shanx »

Ça va de mieux en mieux, mais il me reste une erreur :

Code : Tout sélectionner

# pacman -Suy
:: Synchronisation des bases de données de paquets...
 core est à jour ;
 extra est à jour ;
 community est à jour ;
 archlinuxfr est à jour ;
:: Début de la mise à jour complète du système...
Avertissement : 0ad : la version locale (alpha_8-1) est plus récente que community (a9-1)
Avertissement : awesome : la version locale (3.4.11-5) est plus récente que community (3.4.11-4)
:: Remplacer cairo-xcb par extra/cairo ? [O/n] 
:: Remplacer farsight2 par extra/farstream ? [O/n] 
Avertissement : fbpanel : la version locale (6.1.507svn-2) est plus récente que community (6.1-3)
:: Remplacer gnupg2 par core/gnupg ? [O/n] 
:: Remplacer notify-sharp-svn par community/notify-sharp ? [O/n] 
Avertissement : obkey-git : la version locale (20111222-1) est plus récente que archlinuxfr (20111026-1)
:: Remplacer procps par core/procps-ng ? [O/n] 
résolution des dépendances...
Avertissement : cycle de dépendances détecté :
Avertissement : udev sera installé avant sa dépendance util-linux
recherche des conflits entre paquets...
:: sqlite et sqlite3 sont en conflit. Supprimer sqlite3 ? [o/N] o

Cibles (307) : [plein de paquets]

Taille totale installé :		1930,03 MiB
Taille de mise à jour nette :	120,17 MiB

Procéder à l'installation ? [O/n] 
(301/301) vérification de l'intégrité des paquets                                               [--------------------------------------------------------] 100%
Erreur : la validation de la transaction a échoué (paquet invalide ou corrompu)
Des erreurs se sont produites, aucun paquet n'a été mis à jour.
J’ai bien SigLevel = Never dans mon pacman.conf, et google ne me donne rien de correct.

EDIT : j’ai fait pacman-key --init, ça ne règle rien.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [pacman] màj ou installation impossibles (en cours)

Message par FoolEcho »

Bon c'est déjà ça.
Il n'y a pas de précision sur le paquet corrompu ? :? (étrange que pacman indique 307 cibles mais s'arrête à 301 pour la vérification)
Le plus bourrin, mais ça évitera peut-être de tourner pour rien, serait de vider complétement le cache de pacman (pacman -Scc) et de relancer la mise à jour (sauf si tu as une connexion un peu faible, vu que ça fait 2Go quand même).
Moins bourrin et probablement plus efficace :) : nous communiquer (par pastebin par exemple... tu auras peut-être un problème pour tout poster en une fois, ça risque d'être long), la sortie de pacman -Syyu --debug (où tu regardes par toi-même dans la sortie la validité des paquets).
Shanx a écrit :Avertissement : 0ad : la version locale (alpha_8-1) est plus récente que community (a9-1)
Techniquement, non. Il faudra que tu réinstalles ce paquet après.
Shanx a écrit :J’ai bien SigLevel = Never dans mon pacman.conf, et google ne me donne rien de correct.

EDIT : j’ai fait pacman-key --init, ça ne règle rien.
pacman-key n'a rien à voir vu que tu n'utilises pas SigLevel.
«The following statement is not true. The previous statement is true.» :nage:
Shanx
Hankyu
Messages : 42
Inscription : dim. 08 août 2010, 10:28

Re: [pacman] màj ou installation impossibles (en cours)

Message par Shanx »

J’ai testé la méthode bourrin, ça ne fonctionne pas. Du coup, je teste l’autre.
Shanx
Hankyu
Messages : 42
Inscription : dim. 08 août 2010, 10:28

Re: [pacman] màj ou installation impossibles (en cours)

Message par Shanx »

Par contre, comment je peux récupérer la sortie (très longue) ?
> et >> ne fonctionnent pas, car --debug est considéré comme un message d’erreur.
2> ne marche pas, car dans ce cas la commande ne me pose aucune question et donc ne peut pas fonctionner.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [pacman] màj ou installation impossibles (en cours)

Message par FoolEcho »

Ah oui, exact. Coincé. :mrgreen:

Si tu as sudo d'installé, tu peux passer par ton interface graphique et un copier-coller en console.
Sinon passe quand même par ton interface graphique et fais su - pour te connecter en root, puis pacman et enfin exit (tu peux aussi lancer pacman sans confirmation, mais dans ton cas, on va éviter :chinois: ), ou su -c "pacman -Syyu --debug" --.
«The following statement is not true. The previous statement is true.» :nage:
Shanx
Hankyu
Messages : 42
Inscription : dim. 08 août 2010, 10:28

Re: [pacman] màj ou installation impossibles (en cours)

Message par Shanx »

C’est ce que je faisais, mais la sortie est tellement longue qu’elle “sort” (en haut) de mon terminal.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [pacman] màj ou installation impossibles (en cours)

Message par FoolEcho »

Tu n'as pas de défilement ou l'historique est trop court ? C'est quel terminal ?

Sinon, assez vilain, mais je suppose que tu répondais oui aux questions de remplacement, donc tu devrais pouvoir faire:

Code : Tout sélectionner

su -c "yes 'o'|pacman -Syyu --debug >& pacmandebug.log" --
(au vu de ce que je vois de ta sortie précédente, tu ne prends pas toujours le choix par défaut donc tu ne peux utiliser le --noconfirm)
«The following statement is not true. The previous statement is true.» :nage:
Shanx
Hankyu
Messages : 42
Inscription : dim. 08 août 2010, 10:28

Re: [pacman] màj ou installation impossibles (en cours)

Message par Shanx »

Bravo.
Image

Voilà ce que ça donne.
J’avoue que c’est un peu du chinois pour moi…
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [pacman] màj ou installation impossibles (en cours)

Message par FoolEcho »

Code : Tout sélectionner

debug: found cached pkg: /var/cache/pacman/pkg/zsh-4.3.17-2-x86_64.pkg.tar.xz
debug: setting download size 0 for pkg zsh
debug: returning error 31 from alpm_db_get_pkg : impossible de trouver ou de lire le paquet
(le paquet est censé faire 1.5 Mo de téléchargement d'après archlinux.org et là il est vide)
S'en suit logiquement:

Code : Tout sélectionner

debug: checking sha256sum for /var/cache/pacman/pkg/zsh-4.3.17-2-x86_64.pkg.tar.xz
debug: returning error 33 from check_validity : paquet invalide ou corrompu
Erreur : la validation de la transaction a échoué (paquet invalide ou corrompu)
Donc rm var/cache/pacman/pkg/zsh-4.3.17-2-x86_64.pkg.tar.xz, suivi de la mise à jour.
«The following statement is not true. The previous statement is true.» :nage:
Shanx
Hankyu
Messages : 42
Inscription : dim. 08 août 2010, 10:28

Re: [pacman] màj ou installation impossibles (en cours)

Message par Shanx »

Ça marche toujours pas (même erreur). :(
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [pacman] màj ou installation impossibles (en cours)

Message par FoolEcho »

Étrange... Tu utilises peut-être un miroir foireux (pourtant, ça n'a pas l'air... au passage, tu ne devrais pas utiliser les .org, leur débit est limité).

Avec

Code : Tout sélectionner

pacman -U http://www.archlinux.org/packages/extra/x86_64/zsh/download
, ça fonctionne ? (si oui, mettre à jour le reste normalement par pacman bien sûr).
«The following statement is not true. The previous statement is true.» :nage:
Shanx
Hankyu
Messages : 42
Inscription : dim. 08 août 2010, 10:28

Re: [pacman] màj ou installation impossibles (en cours)

Message par Shanx »

La màj de zsh se passe bien, mais quand je relance la màj complête… Même erreur (et pourtant zsh n’est plus compris dans ladite màj). :/
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [pacman] màj ou installation impossibles (en cours)

Message par FoolEcho »

L'erreur ne devrait plus concerner plus le(s) même(s) paquet(s). Tu as vérifié à la toute fin quand tu refais le debug, ça donne quoi maintenant ?
«The following statement is not true. The previous statement is true.» :nage:
Shanx
Hankyu
Messages : 42
Inscription : dim. 08 août 2010, 10:28

Re: [pacman] màj ou installation impossibles (en cours)

Message par Shanx »

Bon, j’ai du procédé de la même manière que pour zsh, mais avec plein d’autres paquets (tout ceux nommés xorg-* ou xf86-*).
Maintenant j’ai une nouvelle erreur que je ne comprend pas :

Code : Tout sélectionner

debug: returning error 6 from _alpm_pkg_validate_internal : un argument erroné ou nul a été fourni
Erreur : la validation de la transaction a échoué (un argument erroné ou nul a été fourni)
Des erreurs se sont produites, aucun paquet n'a été mis à jour.
Et google ne veut pas m’aider. :(
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [pacman] màj ou installation impossibles (en cours)

Message par FoolEcho »

:?
Je ne sais pas si ça impacte, mais as-tu réinstallé aussi pacman par lui même comme je t'avais dit ? Fais même un pacman -S pacman libarchive openssl d'ailleurs (tu devrais exceptionnelement vider complétement le cache avec pacman -Scc avant). Puis pacman -Syyu avec le debug si ça coince encore.

Quelles sont les lignes un peu avant ton erreur ?
«The following statement is not true. The previous statement is true.» :nage:
hopimet
Elfe
Messages : 996
Inscription : mer. 14 mars 2012, 22:48

Re: [pacman] màj ou installation impossibles (en cours)

Message par hopimet »

@FoolEcho,

Pardon de m'immiscer dans la discussion fort intéressante au demeurant mais en lisant ton dernier message je me pose une question. Pourquoi dis tu qu'il faut exceptionnellement vider le cache de pacman ?

Je le vide régulièrement, après m'être assuré que tout fonctionne bien sûr. Mais peut être ai-je tort ?
Répondre