Voici la sortie que j'ai obtenue de apt-get
:
dpkg: warning: files list file for package `libecryptfs0' missing, assuming package has no files currently installed.
dpkg: warning: files list file for package `libplexus-containers1.5-java' missing, assuming package has no files currently installed.
dpkg: warning: files list file for package `apport' missing, assuming package has no files currently installed.
Et voilà comment je l'ai réparé :
-
Sauvegarde du fichier d'état de dpkg :
cp /var/lib/dpkg/status{,.backup}
-
Modifier le /var/lib/dpkg/status
et supprimez les sections pour les paquets que apt-get
des avertissements imprimés sur. Assurez-vous que vous supprimez toute la section concernant ces paquets, c'est-à-dire celle qui commence par la ligne Package: libecryptfs0
jusqu'à la première ligne vierge.
Vous pouvez également utiliser sed
pour faire le travail à votre place :
sed -i.backup -e '/^Package: \(libecryptfs0\|libplexus-containers1\.5-java\|apport\)$/,/^$/d' /var/lib/dpkg/status
Cette commande supprime toutes les sections comprises entre et incluant les lignes avec Package: <PACKAGE_NAME>
et la ligne vide suivante. Vous pouvez placer n'importe quel nom de paquet valide entre les parenthèses \(…\)
et les délimiter avec \|
et échapper aux points ( .
\.
). L'option -i.backup
édite le fichier en place et crée un fichier de sauvegarde suffixé par .backup
(vous pouvez donc sauter l'étape 1 si vous utilisez la variante) au lieu d'écrire le résultat dans stdout.
-
Exécuter sudo apt-get -f install
pour configurer les paquets non configurés et (ré)installer les paquets manquants. Les paquets sont manquants parce que nous les avons supprimés de la base de données de la status
Datei.
¹ Voir Comment obtenir les autorisations nécessaires pour modifier les fichiers de configuration du système ? pour savoir comment le faire.