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


20

私はいくつかのパッケージのために、私はインストールするたびにこの警告を取得する任意のパッケージを実行するかを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

ls -la /var/lib/dpkg/info | grep libssh
量子

質問に出力を追加しました。
マーク

シンプルなものを試しましたapt-get updateか?
ベン・レッサーニ-ソナシ

はい、多くのパッケージをインストールし、アップデートを数回実行しました。
マーク

回答:


18

はそこに現れたファイルを再インストールして修正しました。したがって、次のようなものを試してみてください。

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

-bash: syntax error near unexpected token ``do'。bashが苦手です。修正してもらえますか?
マーク

マーク:ここでは大丈夫forです。前の行の冒頭を見逃していませんか?
-exic

悲しいことに、これは私が指揮している間は何もしません。しかし、私はアイディアが大好き
ジェイミーハトバー14年

1
スクリプトはまったく機能しませんでしたが、再インストールのアイデアはトリックsudo apt-get install --reinstall "package name"
-AllGamer

最初に実行してsudo bashからスクリプトを貼り付ける
ソリマン

7

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

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

実行することで修正できます(最新バージョンと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

ソース:http : //forums.debian.net/viewtopic.php?f=5&t=93201

将来これを読んで、それを使用できると思う人に幸運を。


場合は、作品はありませんdpkg-deb -c /var/cache/apt/archives/libc6_2.13-38_amd64.debシンボリックリンク、例えば持つエントリがあるdpkg-deb -c /var/cache/apt/archives/mc_3%3a4.8.13-3_amd64.deb | grep mc.cshリターンを./usr/share/mc/bin/mc.csh -> ../../../lib/mc/mc.csh
AB

@ABは知りません。私はDebianを捨て、どこでもできる限りFreeBSDを使いました。
-dzhi

2

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

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いくつかのエラーが表示されます。


1

コメントするのに十分な担当者がいません:@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

0

たとえば、エラーメッセージをファイルにコピーします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

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

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

sudo apt remove <package list>

次に、aptには実行可能なコマンドがあります。これにより、パッケージをアンインストールしたままで警告がなくなります。

sudo apt autoclean

Ask Ubuntuのソース:パッケージのファイルリストファイルがない


残念ながら、これは私にとってはうまくいきませんでした。(
ヘイデンスリング

@HaydenThringどのパッケージが問題を引き起こしていますか?
スティーブンオステルミラー

たくさんあります。
ヘイデンスリング

私は答えを編集しました-最初にそれらを削除することを確認する必要があります
スティーブンオステルミラー

0

ディープイン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


-1

上記のコマンドが機能することはありませんでしたが、エラーメッセージをerror.txtファイルに出力した後、最終的に機能しました

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

それが他の誰かに役立つことを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.