debian, dpkg, apt-get, Problème de corruption de paquets

Forum d'assistance et d'échange sur l'installation, la configuration, et l'utilisation des système Linux et BSD. Vous pouvez y poster vos questions concernant ces systèmes d'exploitation en faisant l'effort préalable de rechercher dans le forum, dans les manuels et les documentations que la réponse n'y figure pas.

Modérateur: modos Ixus

debian, dpkg, apt-get, Problème de corruption de paquets

Messagepar kyo54 » 25 Sep 2004 10:05

Bonjour.

Cela fait plusieurs semaine sans que ni moi ni personne ne trouve de solutions: Depuis une mise à jour fin août deux paquets openoffice posent problèmes: pas moyen de les mettre à jour et maintenant de les installer.
voici le résultat d'un apt-get dist-upgrade
Code: Tout sélectionner
[root@latibo]$ apt-get dist-upgrade
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Calcul de la mise à jour... Fait
Les paquets suivants seront mis à jour :
  openoffice.org openoffice.org-mimelnk
2 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
6 partiellement installés ou enlevés.
Il est nécessaire de prendre 10,5Mo dans les archives.
Après dépaquetage, 0o d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n]
Réception de : 1 ftp://ftp.de.debian.org testing/main openoffice.org-l10n-en 1.1.2-3 [3518kB]
Réception de : 2 ftp://ftp.de.debian.org testing/main openoffice.org 1.1.2-3 [6926kB]
Réception de : 3 ftp://ftp.de.debian.org testing/main openoffice.org-mimelnk 1.1.2-3 [62,2kB]
10,5Mo réceptionnés en 26s (404ko/s)
Reading package fields... Done
Reading package status... Done
Retrieving bug reports... Done
(Lecture de la base de données... 106885 fichiers et répertoires déjà installés.)
Préparation du remplacement de openoffice.org-l10n-en 1.1.2-3 (en utilisant .../openoffice.org-l10n-en_1.1.2-3_all.deb) ...
dpkg : erreur de traitement de /var/cache/apt/archives/openoffice.org-l10n-en_1.1.2-3_all.deb (--unpack) :
le sous-processus pre-installation script a retourné une erreur de sortie d'état 139
dpkg : erreur lors du nettoyage :
le sous-processus post-removal script a retourné une erreur de sortie d'état 139
Préparation du remplacement de openoffice.org 1.1.2-2 (en utilisant .../openoffice.org_1.1.2-3_all.deb) ...
dpkg : avertissement - ancien script pre-removal a retourné un code d'erreur de sortie 139
dpkg - tentative d'exécution du script du nouveau paquet à la place ...
dpkg : erreur de traitement de /var/cache/apt/archives/openoffice.org_1.1.2-3_all.deb (--unpack) :
le sous-processus nouveau script pre-removal a retourné une erreur de sortie d'état 139
dpkg : erreur lors du nettoyage :
le sous-processus post-installation script a retourné une erreur de sortie d'état 139
Préparation du remplacement de openoffice.org-mimelnk 1.1.2-2 (en utilisant .../openoffice.org-mimelnk_1.1.2-3_all.deb) ...
dpkg : avertissement - ancien script pre-removal a retourné un code d'erreur de sortie 139
dpkg - tentative d'exécution du script du nouveau paquet à la place ...
dpkg : erreur de traitement de /var/cache/apt/archives/openoffice.org-mimelnk_1.1.2-3_all.deb (--unpack) :
le sous-processus nouveau script pre-removal a retourné une erreur de sortie d'état 139
dpkg : erreur lors du nettoyage :
le sous-processus post-installation script a retourné une erreur de sortie d'état 139
Des erreurs ont été rencontrées pendant l'exécution :
/var/cache/apt/archives/openoffice.org-l10n-en_1.1.2-3_all.deb
/var/cache/apt/archives/openoffice.org_1.1.2-3_all.deb
/var/cache/apt/archives/openoffice.org-mimelnk_1.1.2-3_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
[root@latibo]$

openoffice et openoffice-l10n-fr ne veulent pas s'installer quoi que je fasse. J'ai essayé:
- de faire un apt-get update évidemment.
- de faire un apt-get clean mais les nouveaux paquets sont pareil.
- d'installer les paquets de sid et de woody, j'ai toujours le bug.
- de les désinstaller mais le système me répond que leur état est bizarre et qu'il faut les réinstaller. Par la suite en ayant modifié /var/lib/dpkg/status et en utilisant force, la désinstallation est passé mais toujours pas l'install
- de les réinstaller un a un mais ça loupe à chaque fois, erreur 139, même avec force-all comme lors du dist-upgrade.
- d'utiliser aptitude ou dpkg ou synaptic à la place d'apt-get mais le résultat est le même, même avec des force.
- d'installer les binaries téléchargées sur le site d'openoffice dans /usr/local puis de le désinstaller le tout pour faire le ménage. ça fonctionne mais ne résoud pas le problème
- de copier /etc/openoffice et /usr/lib/openoffice de mon pc de bureau qui a une config proche, toujours erreur 139.
- de modifier /var/lib/dpkg/status pour déclarer les paquet récalcitrants comme installés ou désinstallés. Si je les déclare comme installé dpkg dit que le fichier de conf contient une erreur et refuse d'aller plus loin. Et si je le déclare comme supprimé, que je déplace les fichiers de l'appli, alors dpkg lors de la ré-install ressort la même erreur 139.
- de modifier /var/lib/dpkg/info, ça c'est le seul truc qui a un tant soit peu marché puisque avec des force la désinstalle des paquet passe

J'ai une Debian Testing, kernel 2.6.7. Mon PC n'est pas overckloké et n'a pas de trous dans la ram comme dans le disque dur.
ça fait 1 mois et plusieurs dizaines d'heures que je me bat contre ce problème. Y'a pas trop d'infos sur le net et personne ne sait quoi faire devant ce problème.
Merci de votre aide, je désespère.
Avatar de l’utilisateur
kyo54
Matelot
Matelot
 
Messages: 8
Inscrit le: 09 Oct 2003 00:00

Messagepar tomtom » 25 Sep 2004 10:34

As-tu essayé de :

- marquer le paquet comme desinstallé dans status
- supprimer le paquet dans la repertoire de cache
- reessayer de l'installer.


sinon, au pire des cas, il te faut suppriemr tout le repertoire de cache (/var/cache/apt/...) et reconstituer les fichiers de status grace aux commandes de dselect --expoert..

sinon, tu peux recuperer peut-etre une ancienne version valable dans /var/backup/

Dans le pire des cas, tu supprime tout ce qu'il y a dans /var/lib/dpkg et tu utilises les commandes magiques :

Code: Tout sélectionner
    # ls /usr/share/doc | \
      grep -v [A-Z] | \
      grep -v '^texmf$' | \
      grep -v '^debian$' | \
      awk '{print $1 " install"}' | \
      dpkg --set-selections

    # dselect --expert # reinstall system, de-select as needed



t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar kyo54 » 06 Oct 2004 18:54

tomtom a écrit:As-tu essayé de :

- marquer le paquet comme desinstallé dans status
- supprimer le paquet dans la repertoire de cache
- reessayer de l'installer.

oui

sinon, au pire des cas, il te faut suppriemr tout le repertoire de cache (/var/cache/apt/...) et reconstituer les fichiers de status grace aux commandes de dselect --expoert..

bah c'est ce qu'on fait avec un apt-get clean non?

sinon, tu peux recuperer peut-etre une ancienne version valable dans /var/backup/

ouais j'ai tenté le coup et demandé une MAJ d'openoffice, le résultat a été erreur 139, comme d'hab.

Dans le pire des cas, tu supprime tout ce qu'il y a dans /var/lib/dpkg et tu utilises les commandes magiques :

Code: Tout sélectionner
    # ls /usr/share/doc | \
      grep -v [A-Z] | \
      grep -v '^texmf$' | \
      grep -v '^debian$' | \
      awk '{print $1 " install"}' | \
      dpkg --set-selections

    # dselect --expert # reinstall system, de-select as needed


nan mais je veux réinstaller qu'une appli pas tout le système! A ce tarif là autant faire un format comme un windozien après avoir copié /etc dans un coin.
Avatar de l’utilisateur
kyo54
Matelot
Matelot
 
Messages: 8
Inscrit le: 09 Oct 2003 00:00

Messagepar tomtom » 06 Oct 2004 19:23

La dernièhode a été testée par moi même avec succès. DOnc elle marche. Les paquets eja installés ne seront pas réinstallés !

Si tu n'as pas confiance, il existe des outils pour reconstruire le fichier status. ex :
http://www.cs.duke.edu/~reynolds/projects/dpkg-rebuild (en perl)


t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar kyo54 » 06 Oct 2004 19:29

très bien si t'es sûr de ton coup et que le code et correct alors je me lance. Par prudence je fais quand même un petit backup :wink:

Donc je supprime tout ce qu'il y a dans /var/lib/dpkg et je lance les trois commandes suivantes succésivement:

Code:

ls /usr/share/doc | \ grep -v [A-Z] | \ grep -v '^texmf$' | \ grep -v '^debian$' | \ awk '{print $1 " install"}' | \ dpkg --set-selections

dselect --expert
reinstall system, de-select as needed
Avatar de l’utilisateur
kyo54
Matelot
Matelot
 
Messages: 8
Inscrit le: 09 Oct 2003 00:00


Retour vers Linux et BSD (forum généraliste)

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité