Forum Linux.debian/ubuntu Problème avec apt/dpkg !

Posté par  (site web personnel) .
Étiquettes : aucune
0
27
oct.
2005
Bonjour,

Voila : j'essaye ce matin de réinstaller metacity avec mon synaptic préféré, il télécharge le paquet, puis au moment de configurer le paquet, il me sort :

(Lecture de la base de données... dpkg : erreur de traitement de metacity_2.13.0-0ubuntu1_i386.deb (--install) :
files list file for package `procps' is missing final newline
Des erreurs ont été rencontrées pendant l'exécution :
metacity_2.13.0-0ubuntu1_i386.deb
L'exécution a été arrêtée car il y avait trop d'erreurs.


Depuis, toute installation via apt échoue lamentablement avec ce message.
Je pense peut être à un problème du fs /proc mais c'est un peu confu.

Je suis preneur pour tout avis :-)
  • # Corruption de la base de donnée de apt ?

    Posté par  . Évalué à 2.

    As-tu eu des petits problème de fs ces derniers temps ? En fouillant un peu, ce style d'erreur à l'air d'être lié à des problème de corruption des données utilisées par apt (et donc il cafouille...). Regardes ici:
    http://ubuntuforums.org/archive/index.php/t-12737.html
    un gars suggère une méthode (bourrine ?) pour tenter de sauver la mise.
    • [^] # Re: Corruption de la base de donnée de apt ?

      Posté par  (site web personnel) . Évalué à 1.

      oui en effet, j'ai trouvé cette page, appliqué la méthode carrément bourrine et ...... ca marche !

      je pense que le probleme était clairement une "corruption de le base de dpkg"

      N'empèche, c'est une méthode a connaitre !

      • [^] # Re: Corruption de la base de donnée de apt ?

        Posté par  . Évalué à 1.

        Personnellement, j'aurais plutôt fait comme ça :
        $ sudo rm /var/lib/dpkg/info/procps.list
        $ sudo apt-get install --reinstall procps

        C'est plus propre et je ne suis pas certain que la méthode proposée fonctionne à tous les coups.

        Question : Qu'as-tu fait exactement ? Je demande ça parce que j'ai vraiment beaucoup mal à comprendre comment l'installation d'un paquet au hasard (a random pkg) peut résoudre le problème.
        • [^] # Re: Corruption de la base de donnée de apt ?

          Posté par  . Évalué à 1.

          c'est plutôt une mauvaise constitution de l'archive : vraisemblablement, le fichier procps manque

          essaye de faire un "apt-get remove metacity", de télécharger la source de ce programme et de la compiller manuellement

          mais ce n'est pas un probleme du /proc

          par contre ! je ne conseille pas de supprimer le fichier .list ! cela risque de destabiliser la base de donnée apt définitivement. En effet celui-ci risque ,ne trouvant la liste de fichiers contenue dans le .list, de bloquer toutes les tentatives d'installation ...
          • [^] # Re: Corruption de la base de donnée de apt ?

            Posté par  . Évalué à 1.

            c'est plutôt une mauvaise constitution de l'archive : vraisemblablement, le fichier procps manque
            Non, l'archive n'est pas en cause. Le problème serait exactement le même avec n'importe quelle autre archive.
            Les fichiers /var/lib/dpkg/info/*.list ne sont pas fournis par les paquets mais sont générés automatiquement par dpkg lors de l'installation desdits paquets.
            De plus, le message ne dit pas que le fichier est manquant. Il indique en revanche que le fichier est corrompu (missing final newline).

            essaye de faire un "apt-get remove metacity", de télécharger la source de ce programme et de la compiller manuellement
            Le « apt-get remove » ne fonctionnera pas car dpkg retournera la même erreur. La compilation ne résoudra pas le problème dans la mesure où le paquet n'est pas en cause.

            par contre ! je ne conseille pas de supprimer le fichier .list ! cela risque de destabiliser la base de donnée apt définitivement. En effet celui-ci risque ,ne trouvant la liste de fichiers contenue dans le .list, de bloquer toutes les tentatives d'installation ...
            Bon, plusieurs choses :

            • les fichiers *.list font partie de la base de donnée de dpkg, pas d'apt. La vraie base de donnée, c'est-à-dire celle contenant la liste des paquets installés/supprimés ainsi que leur état, se trouve dans /var/lib/dpkg/status et ne doit pas être supprimée. En cas de pépin, il existe une sauvegarde dans /var/lib/dpkg/status-old et dans /var/backups/dpkg.status.* ;

            • Avant de poster ma solution(1), je me suis assuré qu'elle répondait effectivement au problème et qu'elle n'en créerait pas de nouveaux. De manière générale, j'évite de proposer des manipulations susceptibles de pourrir le système ;

            • La suppression d'un *.list ne déstabilise pas la base de donnée. dpkg affiche seulement un avertissement et continue l'opération. Cela nous permet ici la réinstallation du paquet procps qui régénérera le fichier qui posait problème. Quant au fait que la suppression du .list bloque toutes tentatives d'installation, je pense que c'était déjà le cas avant.

            (1) : C'est d'ailleurs celle proposée par un développeur Debian
            http://lists.alioth.debian.org/pipermail/pkg-gnome-maintaine(...)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.