web-dev-qa-db-ja.com

dpkg:警告:パッケージ 'x'のファイルリストファイルがありません

anyパッケージをインストールするか、apt-get upgradeを実行するたびに、いくつかのパッケージに対してこの警告が表示されます。何が原因かわからない。これは私のOpenVZサーバーでのDebianの新規インストールであり、dpkg設定を変更していません。

次に例を示します。

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:~# 

すべてが正常に動作しますが、これらの警告メッセージはかなり迷惑です。誰か私がこれを修正する方法を知っていますか?

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
22
Mark

そこに現れたファイルを再インストールすることを修正しました。だからあなたはこのようなことを試してみたいかもしれません:

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

1行で使いやすいコピーアンドペースト:

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

すべてのパッケージを循環するため、このコマンドの実行には時間がかかることに注意してください。

ある場合には apt upgradeはエラーを表示しないため、エラーが発生する1つのパッケージ(たとえば、x)を再インストールして、次のように実行できます。

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
19
exic

上記の答えは私には完全にはうまくいきませんでした。いくつかのパッケージ、つまりlibc6はまだこのエラーを示していました。

1つのフォーラムで解決策を見つけました。バグは、新しいバージョンのlibcがファイルのリストをエコーし​​てファイルを修正しなかったことです。 /var/lib/dpkg/info/libc6:AMD64.listにエコーする代わりに、/var/lib/dpkg/info/libc6.listにエコーしました

実行することで修正できます(最新バージョンとlibc6のArchに合わせて調整してください):

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

出典: http://forums.debian.net/viewtopic.php?f=5&t=93201

これを将来読んで、それが使えると思う人には幸運があります。

7
dzhi

このスクリプトを保存してみてください:

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

次に、それを実行します

Sudo /bin/bash ./scriptname

これは少し余分な作業といくつかの他のコマンドも必要でした

Sudo apt-get -f install
Sudo apt-mark hold packagename
Sudo dpkg -r --force-depends packagename

いくつかの特定のパッケージを削除して再インストールするとともに。

これにはかなりの時間と労力がかかりますが、それでもapt-getでもいくつかのエラーが表示されます。

2
user308018

コメントするには十分な担当者ではありません:@exic/@mark、パッケージ名の先頭にバックティックを使用し、その後に引用符を使用しているため、別の句読点を確認する必要があります。これが関連していたかどうかはわかりません。私の解決策:

for package in $(apt-get upgrade 2>&1 | grep "warning: files list file" | sed "s/.*\`//; s/'.*//"); do apt-get install --reinstall "$package"; done
1
zaTricky

ここでの他のすべての回答は、パッケージを再インストールすることを前提としています。私の場合、そうしたくありませんでした。私はlocateを使用して、aptファイルリストを含むそれらのすべてのトレースを削除しようとしました。

最初のステップは、パッケージマネージャーを使用してパッケージが削除されていることを確認することです。

Sudo apt remove <package list>

次に、aptには、それをクリーンアップするために実行できるコマンドがあります。これにより、パッケージがアンインストールされたままの状態で警告が表示されなくなります。

Sudo apt autoclean

Ask Ubuntuのソース: パッケージのファイルリストファイルがありません

1

エラーメッセージを111.txtなどのファイルにコピーします。次に、コマンドを実行します

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
0
user259719

私は、deepin linuxオペレーティングシステムを使用しています。上記のコマンドを機能するように変更しました。私は中国語を使用しています。 for package in $(sed "s/.*\ \(.*\)\ .*/\1/" error.txt); do apt-get install -y --reinstall "$package"; done英語を使用する場合

for package in $(sed "s/.*'\(.*\)'.*/\1/" error.txt); do apt-get install -y --reinstall "$package"; done

0
jay