Page 1 sur 1

[mise à jour]Erreur d'extraction(résolu)

Publié : ven. 25 oct. 2013, 10:19
par karhu
Bonjour
Ma mise à jour hebdomadaire c'est très mal passée :

Code : Tout sélectionner

(139/162) mise à jour de pacman                           [###############################] 100%
avertissement : /etc/makepkg.conf installé en tant que /etc/makepkg.conf.pacnew
erreur : l’extraction de usr/bin/repo-elephant a échoué (Lzma library error: Corrupted input data)
erreur : des erreurs sont survenues pendant la mise à jour de pacman
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.
package-query: error while loading shared libraries: libalpm.so.8: cannot open shared object file: No such file or directory
testdb: error while loading shared libraries: libalpm.so.8: cannot open shared object file: No such file or directory
mais le plus grave c'est la suite

Code : Tout sélectionner

yaourt -Suy
Mot de passe : 
bash: pacman : commande introuvable
Ma première idée a été de copier le contenu manquant du paquet vers les bonnes places, un peu à la hussarde.
Ma deuxième idée a été de demander conseil plutôt.
Sont manquants : huit programmes de /usr/bin la bibliothèque libalpm ainsi que le contenu pour les répertoires /usr/include, /usr/share et /var.
Je ne coupe pas le PC de craintes de plus mauvaise suprises suite à une mise à jour bancale.

Re: [mise à) jour]Erreur d'extraction

Publié : ven. 25 oct. 2013, 10:46
par benjarobin
As tu bien les signatures d'activées ?

Re: [mise à) jour]Erreur d'extraction

Publié : ven. 25 oct. 2013, 10:48
par karhu
À priori oui. Comment vérifier ?

Re: [mise à) jour]Erreur d'extraction

Publié : ven. 25 oct. 2013, 10:56
par benjarobin
Tu as 2 solutions (Une fois que l'on aura compris le pourquoi de cette erreur : Lzma library error: Corrupted input data)
* Extraire à la main les fichiers de pacman, il te manque apparemment juste /usr/lib/libalpm.so et ses liens symboliques
* LiveCD de ArchLinux et réinstallation de pacman hors chroot

Donc si j'étais toi :
* je re-téléchargerai la dernière version de pacman
* j’extrais dans /tmp/pkg-pacman/ le contenu de l'archive
* je copie libalpm.so dans /usr/lib/
* je créer les liens symboliques usr/lib/libalpm.so.8 et usr/lib/libalpm.so.8.0.2
* je supprime le paquet pacman du cache
* je relance la mise à jour

Re: [mise à) jour]Erreur d'extraction

Publié : ven. 25 oct. 2013, 11:17
par karhu
Sans oublier les huit fichiers de /usr/bin manquants, car parmi eux il y a pacman.
C'était la méthode à la husarde que je prévoyais.
Donc résumons :
Je force l'extraction des fichiers manquants
Je termine la mise à jour
Je ré-installe pacman proprement.
Je reboote et .....

Re: [mise à) jour]Erreur d'extraction

Publié : ven. 25 oct. 2013, 11:21
par benjarobin
Non, pas besoin, tu n'as besoin que de pacman, et celui-ci est apparemment déjà extrait, sinon tu n'aurais pas l'erreur que tu donnes.
Je te conseil de n'extraire que le fichier que je t'ai indiqué (+ liens symboliques), tout le reste n'est pas nécessaire.

Re: [mise à) jour]Erreur d'extraction

Publié : ven. 25 oct. 2013, 11:31
par karhu
Lors de la mise à jour, j'ai l'impression qu'il y a d'abord suppression des anciennes versions, puis installations des nouvelles. Il ne semble pas y avoir d'écrasement.

Code : Tout sélectionner

type pacman
bash: type: pacman : non trouvé
Il manque :
checkupdates paccache pacdiff paclog-pkglist pacman pacman-key pacsysclean pactree

C'est pour cette raison que je voulais tout extraire.

Re: [mise à) jour]Erreur d'extraction

Publié : ven. 25 oct. 2013, 15:31
par karhu
Bon voilà c'est fait.
Avant de redémarrer la machine j'avais fait une réinstallation de pacman

Code : Tout sélectionner

yaourt -S pacman
Donc il semblerait que lors d'une mise à jour d'un paquet le déroulement se passe à peu près comme ceci :
- chargement du fichier
- vérifications diverses (dépendances, places, ...)
- suppression des anciens fichiers
- installation des nouveaux

Dans le principe c'est bien, cela évite de garder des fichiers qui n'existent plus. Seulement en cas d'erreur dans la phase de copie, plouf. D'un autre coté puisque l'extraction à la main fonctionne consideront ça comme un incident. :D