无法在 linux mint 中安装/升级包,无论是终端还是包管理器

无法在 linux mint 中安装/升级包,无论是终端还是包管理器

如前所述,无法安装软件包。我尝试在包管理器中安装 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以老式方式安装它。

另一种可以尝试的缓存清理方法是:

https://askubuntu.com/questions/648736/i-get-this-error-dpkg-unrecoverable-fatal-error-aborting-files-list-file-for

答案2

转到您的根文件系统并转到

/var/lib/dpkg/info/ 

剪切那里的所有文件并创建一个名为info.bakunder 的新文件

/var/lib/dpkg

粘贴您之前剪切的所有文件info.bak,这解决了我的问题

相关内容