前述のようにパッケージをインストールできません。 Package ManagerでVLCをインストールしようとしていますが、エラーメッセージが表示されます。
installArchives() failed: Selecting previously unselected package libaribb24-0:amd64.
(Reading database ...
(Reading database ... 5%%
(Reading database ... 10%%
(Reading database ... 15%%
(Reading database ... 20%%
(Reading database ... 25%%
(Reading database ... 30%%
(Reading database ... 35%%
(Reading database ... 40%%
(Reading database ... 45%%
(Reading database ... 50%%
(Reading database ... 55%%
dpkg: unrecoverable fatal error, aborting:
files list file for package 'libstdc++-6-dev:amd64' contains empty filename
デフォルトでは、他のパッケージでも同じことができます。私はこれを試みます:
sudo rm /var/lib/dpkg/available
sudo touch /var/lib/dpkg/available
sudo sh -c 'for i in /var/lib/apt/lists/*_Packages; do dpkg --merge-avail "$i"; done'
sudo dpkg --configure -a
sudo apt-get -f install
sudo apt-get clean
sudo apt-get update && sudo apt-get upgrade
何の進展もなく、まだ同じエラーが発生しました。入力後の端末で
sudo apt-get install vlc
わかりました:
dpkg: unrecoverable fatal error, aborting:
files list file for package 'libstdc++-6-dev:amd64' contains empty filename
E: Sub-process /usr/bin/dpkg returned an error code (2)
では、この問題をどのように解決しますか?
答え1
キャッシュされたパッケージのコピーを消去すると便利ですか?
清掃が容易特に、半分しかインストールされていないパッケージやインストール用にマークされたパッケージの場合、必ずしも正しく機能するわけではありません。 libstdc++のdebファイルが/var/cache/aptで何とか破損しているようです。ファイルを削除またはaptに移動しても問題はなく、新しいコピーが再度ダウンロードされます。手動で手動でダウンロードし、ハッシュを確認して正しくダウンロードされたことを確認してから使用することもできます。dpkg -i xxx.deb昔ながらの方法でインストールしてみてください。
試してみるもう1つのキャッシュクリーンアップ方法は次のとおりです。
答え2
ルートファイルシステムに移動して
/var/lib/dpkg/info/
そこにあるすべてのファイルを切り取り、以下に示すinfo.bak
新しいファイルを作成します。
/var/lib/dpkg
以前に切り取ったすべてのファイルを貼り付けるとinfo.bak
問題が解決しました。