我收到此错误:dpkg:无法恢复的致命错误,中止:包“fonts-tlwg-kinnari”的文件列表文件包含空文件名

我收到此错误:dpkg:无法恢复的致命错误,中止:包“fonts-tlwg-kinnari”的文件列表文件包含空文件名

当我尝试安装时出现此错误:

dpkg: unrecoverable fatal error, aborting:  files list file for package `fonts-tlwg-kinnari' contains empty filename
E: Sub-process /usr/bin/dpkg returned an error code (2)

安装中止。

我正在使用 Ubuntu 14.04

答案1

这是在启动板上报告的一个错误。

显示的错误可能是:

files list file for package '*' is missing final newline

或者:

files list file for package '*' contains an empty filename

其中 * start 是随机但稳定的“每个安装”包名称。

解决方案:

下载.deb

sudo apt-get download fonts-tlwg-kinnari

运行此代码

sudo dpkg -c /var/cache/apt/archives/fonts-tlwg-kinnari_1%3a0.5.1-3_all.deb  | awk '{if ($6 == "./") { print "/."; } \
else if (substr($6, length($6), 1) == "/") \
{print substr($6, 2, length($6) - 2); } \
else { print substr($6, 2, length($6) - 1);}}' > /var/lib/dpkg/info/fonts-tlwg-kinnari.list 

您可以在以下网址阅读更多内容发射台

答案2

上述 Adrian 的回答中的另一个选择是:

sudo rm /var/lib/dpkg/info/fonts-tlwg-kinnari.list

进而

sudo apt-get install --reinstall fonts-tlwg-kinnari

基本上,这个错误意味着你的文件系统上有东西损坏了。这是一个不好的迹象,软件包管理器需要这些列表文件来确定哪些东西可以安全升级,哪些东西不可以安全升级。

这个列表文件的重新生成是最好的选择,但它并不是 100% 安全的。

无论哪种方式,请记住您的驱动器出现了问题,并警惕更多错误。

答案3

Adrian Cid Almaguer 的回答是唯一对我有用的,其基本思路是“从 .deb 包中重新创建丢失的文件”。

但请注意:首先检查/var/cache/apt/archives/.deb/var/lib/dpkg/info文件是否已存在。如果存在,则直接使用该文件,而不要执行sudo apt-get download

此外,sudo dpkg ... | awk ... | sudo tee /var/lib/dpkg/info/example.list对于大多数人来说,这种组合可能会更好地发挥作用;sudo tee克服重定向遇到的权限问题>

答案4

我终于有时间自己解决这个问题了。以供将来参考

我将所有 linux* 文件移动到了其他地方。例如:~/ (home) sudo mv /var/lib/dpkg/info/linux* ./

sudo dpkg --configure -a
sudo apt update
sudo apt upgrade

这解决了它

相关内容