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.
[^] # Re: Corruption de la base de donnée de apt ?
Posté par gros_rouge . En réponse au message Problème avec apt/dpkg !. Évalué à 1.
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).
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.
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(...)