apt-get失败,出现以下错误:linux-headers-3.2.0-58-generic'包含空文件名

时间:2014-04-15 21:18:12

标签: ubuntu apt-get

  

预配置包...
  选择以前未选择的包libc-ares2   (阅读数据库... 85%dpkg:不可恢复的致命错误,中止:
   软件包`linux-headers-3.2.0-58-generic'的文件列表文件包含空文件名
  E:子进程/ usr / bin / dpkg返回错误代码(2)

这是带有win7 amd64双启动的ubuntu。当我尝试使用sun jdk而不是open jdk时,这个错误似乎已经开始了。谢谢,蒂姆

2 个答案:

答案 0 :(得分:3)

当程序包的文件列表损坏时会发生此问题。修复:

cd /var/lib/dpkg/info sudo rm {package with problems}.list

在您的情况下{package with problems}将是linux-headers-3.2.0-58-generic 下次运行dpkg时,您将获得类似

的内容
dpkg: Warning: list file for linux-headers-3.2.0-58-generic are missing package assumed to not be installed

假设你没有再获得

files list contains empty filename

错误,你可以做到

sudo apt-get install {package with problems}

apt-get安装其他文件有问题,你的问题应该修复。

这是删除损坏的列表文件并重新安装受影响的程序包的手动方法。

修改:您可能想要使用

sudo apt-get install --reinstall

而不仅仅是

sudo apt-get install

我的信息可能有点旧,因为我使用的是trisquel 7,可靠的ubuntu的衍生物,这不是最新的,但大多数命令是相同的,或者只需要替换apt-get aptitude

答案 1 :(得分:0)

您必须在var / lib / dpkg中打开状态文件,并删除引用为失败的整个包的条目。 http://ubuntuforums.org/archive/index.php/t-1232143.html 我也不得不重新安装tzdata-java