J'obtiens cet avertissement pour plusieurs packages chaque fois que j'installe any package ou effectue apt-get upgrade
. Je ne sais pas ce qui en est la cause; c'est une nouvelle installation de Debian sur mon serveur OpenVZ et je n'ai changé aucun paramètre de dpkg.
Voici un exemple:
root@debian:~# apt-get install cowsay
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
filters
The following NEW packages will be installed:
cowsay
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 21.9 kB of archives.
After this operation, 91.1 kB of additional disk space will be used.
Get:1 http://ftp.us.debian.org/debian/ unstable/main cowsay all 3.03+dfsg1-4 [21.9 kB]
Fetched 21.9 kB in 0s (70.2 kB/s)
Selecting previously unselected package cowsay.
dpkg: warning: files list file for package 'libssh2-1:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libkrb5-3:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libwrap0:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libcap2:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libpam-ck-connector:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libc6:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libtalloc2:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libselinux1:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libp11-kit0:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libavahi-client3:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libbz2-1.0:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libpcre3:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libgpm2:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libgnutls26:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libavahi-common3:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libcroco3:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'liblzma5:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libpaper1:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libsensors4:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libbsd0:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libavahi-common-data:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libss2:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libblkid1:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libslang2:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libacl1:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libcomerr2:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libkrb5support0:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'e2fslibs:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'librtmp0:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libidn11:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libpcap0.8:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libattr1:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libdevmapper1.02.1:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'odbcinst1debian2:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libexpat1:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libltdl7:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libkeyutils1:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libcups2:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libsqlite3-0:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libck-connector0:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'zlib1g:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libnl1:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libfontconfig1:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libudev0:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libsepol1:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libmagic1:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libk5crypto3:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libunistring0:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libgpg-error0:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libusb-0.1-4:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libpam0g:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libpopt0:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libgssapi-krb5-2:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libgeoip1:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libcurl3-gnutls:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libtasn1-3:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libuuid1:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libgcrypt11:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libgdbm3:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libdbus-1-3:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libsysfs2:AMD64' missing; assuming package has no files currently installed
dpkg: warning: files list file for package 'libfreetype6:AMD64' missing; assuming package has no files currently installed
(Reading database ... 21908 files and directories currently installed.)
Unpacking cowsay (from .../cowsay_3.03+dfsg1-4_all.deb) ...
Processing triggers for man-db ...
Setting up cowsay (3.03+dfsg1-4) ...
root@debian:~#
Tout fonctionne bien, mais ces messages d'avertissement sont assez ennuyeux. Est-ce que quelqu'un sait comment je peux résoudre ce problème?
ls -la /var/lib/dpkg/info | grep libssh
:
-rw-r--r-- 1 root root 327 Sep 21 15:51 libssh2-1.list
-rw-r--r-- 1 root root 359 Aug 15 06:06 libssh2-1.md5sums
-rwxr-xr-x 1 root root 135 Aug 15 06:06 libssh2-1.postinst
-rwxr-xr-x 1 root root 132 Aug 15 06:06 libssh2-1.postrm
-rw-r--r-- 1 root root 20 Aug 15 06:06 libssh2-1.shlibs
-rw-r--r-- 1 root root 4377 Aug 15 06:06 libssh2-1.symbols
He a corrigé la réinstallation des fichiers qui y figuraient. Donc, vous voudrez peut-être essayer quelque chose comme ceci:
for package in $(apt-get upgrade 2>&1 |\
grep "warning: files list file for package '" |\
grep -Po "[^'\n ]+'" | grep -Po "[^']+"); do
apt-get install --reinstall "$package";
done
Copiez-collez facilement sur une seule ligne:
for package in $(apt-get upgrade 2>&1 | grep "warning: files list file for package '" | grep -Po "[^'\n ]+'" | grep -Po "[^']+"); do apt-get install --reinstall "$package"; done
Sachez que l'exécution de cette commande prend un certain temps , car nous parcourons chaque package.
Dans certains cas apt upgrade
n'affiche pas les erreurs donc vous pouvez réinstaller un paquet (par exemple x) qui donne l'erreur et exécuter comme ceci:
for package in $(apt-get install --reinstall x 2>&1 |\
grep "warning: files list file for package '" |\
grep -Po "[^'\n ]+'" | grep -Po "[^']+"); do
apt-get install --reinstall "$package";
done
La réponse ci-dessus n'a pas complètement fonctionné pour moi. Quelques paquets, à savoir libc6, affichaient toujours cette erreur.
J'ai trouvé une solution sur un forum. Le bug est que la nouvelle version de libc n'a pas fait écho à la liste des fichiers à corriger. Au lieu de le faire écho à /var/lib/dpkg/info/libc6:AMD64.list
il a fait écho à /var/lib/dpkg/info/libc6.list
Il peut être corrigé en exécutant (ajustez pour votre dernière version et Arch of libc6):
dpkg-deb -c /var/cache/apt/archives/libc6_2.13-38_AMD64.deb | awk {'print $6'} | cut -f2- -d. | sed 's|^/$|/.|' | sed 's|/$||' > /var/lib/dpkg/info/libc6:AMD64.list
Source: http://forums.debian.net/viewtopic.php?f=5&t=93201
Bonne chance à quiconque lira ceci à l'avenir et le trouvera utilisable.
Essayez d'enregistrer ce script:
for package in $(Sudo apt-get install catdoc 2>&1 | grep "warning: files list file for package '" | grep -Po "[^'\n ]+'" | grep -Po "[^']+");
do
Sudo apt-get -y install --reinstall "$package"
done
Ensuite, exécutez-le avec
Sudo /bin/bash ./scriptname
Cela a pris un peu de travail supplémentaire et quelques autres commandes aussi bien que comme
Sudo apt-get -f install
Sudo apt-mark hold packagename
Sudo dpkg -r --force-depends packagename
ainsi que la suppression et la réinstallation de certains packages spécifiques.
Cela prend un peu de temps et d'efforts, encore un apt-get
affichera cependant quelques erreurs.
Pas assez de représentant pour commenter: @exic/@mark, j'ai trouvé qu'il utilise un backtick au début du nom du package et un guillemet par la suite, donc une ponctuation différente doit être vérifiée. Je ne sais pas si c'était lié. Ma solution:
for package in $(apt-get upgrade 2>&1 | grep "warning: files list file" | sed "s/.*\`//; s/'.*//"); do apt-get install --reinstall "$package"; done
Toutes les autres réponses ici supposent que vous souhaitez réinstaller les packages. Dans mon cas, je ne voulais pas le faire. J'avais utilisé locate
pour essayer d'en supprimer toutes les traces, y compris leurs listes de fichiers apt.
La première étape consiste à s'assurer que les packages sont supprimés à l'aide du gestionnaire de packages:
Sudo apt remove <package list>
Ensuite, apt a une commande que vous pouvez exécuter pour le nettoyer. Cela supprimera l'avertissement tout en laissant les packages désinstallés:
Sudo apt autoclean
Source sur Ask Ubuntu: fichier de liste de fichiers pour le paquet manquant
Copiez le message d'erreur dans un fichier, par exemple 111.txt
. Exécutez ensuite la commande
for package in $(cat 111.txt | grep "warning: files list file" | sed "s/'//g" | sed "s/\`//g"|awk '{print $8}'); do apt-get purge "$package" -y; apt-get install "$package" -y;done
J'utilise le système d'exploitation deepin linux, j'ai changé les commandes ci-dessus pour qu'elles fonctionnent. J'utilise la langue chinoise. for package in $(sed "s/.*\ \(.*\)\ .*/\1/" error.txt); do apt-get install -y --reinstall "$package"; done
si vous utilisez l'anglais
for package in $(sed "s/.*'\(.*\)'.*/\1/" error.txt); do apt-get install -y --reinstall "$package"; done