如何让dpkg再次工作?
我试着通过输入以下命令在ubuntu 10.04上安装sqlite3:
sudo apt-get install sqlite3
这给了我这个消息
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
所以我尝试了“sudo dpkg –configure -a”,没有错误。 我试着再次安装sqlite3。 这次它显示了将要进行的更新。 所以我继续并收到此错误消息(部分翻译为greman):
Unpacking substitution for ubuntu-docs ... dpkg: ../../src/archives.c:763: tarobject: Assertion »r == stab.st_size« not fullfilled E: Sub-process /usr/bin/dpkg exited unexpectedly
我希望这里的一些专家可以帮助我:)
我会通过检查你的dpkg的完整性来开始故障排除。
以下是Ubuntu 11.04的所有dpkg文件,其中过滤了文档和目录:
http://biocluster.ucr.edu/~alevchuk/dpkg-1.16.0~ubuntu7-file-list
你发布了你的文件的校验和。 要获得这些运行:
wget http://biocluster.ucr.edu/~alevchuk/dpkg-1.16.0~ubuntu7-file-list cat dpkg-1.16.0~ubuntu7-file-list | xargs md5sum > my-dpkg-checksums
然后请发布my-dpkg-checksums文件,以便我们比较校验和。
还请发布你的Ubuntu是32位还是64位(例如只发布uname -r
的输出)
原来一个包(ubuntu-docs)处于不一致状态,导致上面显示的错误消息。
我在UbuntuFormus上发现了这篇post并使用过
sudo dpkg --force-all -r ubuntu-docs
强制删除所有与ubuntu-docs相关的包信息。 由于状态不一致,apt-get / aptitude purge / remove(即使用force)也不起作用。
使用此命令时要小心,因为它可能会破坏您的系统
首先。 不要删除dpkg二进制文件并尝试使用wget下载它,这是一个可怕的想法。
第二关。 您使用的是NTFS还是EncryptFs卷? 这听起来很像:
建议是回到ext3文件系统。 有关您所使用的系统的更多信息(包括Ubuntu版本以及访问这些文件的文件系统)将会很有帮助。