我尝试在 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。这次它显示了将进行哪些更新。所以我继续并收到此错误消息(部分从德语翻译而来):
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
我希望这里的一些专家可以帮助我:)
答案1
事实证明,一个包(ubuntu-docs)处于不一致的状态,导致了上面显示的错误消息。
我发现这个帖子UbuntuFormus并使用
sudo dpkg --force-all -r ubuntu-docs
强制删除所有与 ubuntu-docs 相关的软件包信息。由于状态不一致,apt-get/aptitude purge/remove(即使使用强制)也不起作用。
使用此命令时要小心,因为它可能会破坏你的系统
答案2
我将通过检查 dpkg 的完整性来开始排除故障。
这里是 Ubuntu 11.04 的所有 dpkg 文件,其中过滤掉了文档和目录:
http://biocluster.ucr.edu/~alevchuk/dpkg-1.16.0~ubuntu7-文件列表
您可以发布文件的校验和。要运行这些校验和,请执行以下操作:
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
然后请发布我的 dpkg 校验和文件,以便我们可以比较校验和。
另外,请发布你的 Ubuntu 是 32 位还是 64 位(例如,只发布输出uname -r
)
答案3
首先。不要删除 dpkg 二进制文件并尝试使用 wget 下载它,这是一个糟糕的主意。
其次。您使用的是 NTFS 还是 EncryptFs 卷?这听起来很像:
https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/573696和或https://bugs.launchpad.net/ubuntu/+source/linux/+bug/524919
建议重新使用 ext3 文件系统。有关您所使用的系统的更多信息(包括 Ubuntu 版本和访问这些文件的文件系统)会很有帮助。