当我尝试安装时出现此错误:
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
这解决了它