如何彻底删除安装错误的 .deb?

如何彻底删除安装错误的 .deb?

每当我尝试使用dpkg或 时apt-get,都会收到警告:

dpkg: warning: parsing file '/var/lib/dpkg/available' near line 12674 package 'jarnal':
 error in Version string 'build901': version number does not start with digit

查看/var/lib/dpkg/available文件,我找到了条目

Package: jarnal
Priority: optional
Section: non-free
Maintainer: David K. Levine <[email protected]>
Architecture: all
Version: build901
Depends: sun-java5-jre | sun-java6-jre
Recommends: sun-jai, sun-jai-imageio
Size: 11217466
Description: a Java Notetaker and PDF Annotator... <snip>

对应/DEBIAN/controljarnal-build918_all.deb。我大约一年前(升级到 11.04 之前)安装了这个软件包,但无法使用 apt 或 dpkg 或各种前端删除它。

locate找到安装在中的文件/usr/lib/jarnal/,但它看起来不完整 - 我认为它可能是卸载失败 - 因为我记得曾经玩过它,所以它一定是在某个时候正确安装的。

无论如何,我怎样才能从我的系统中干净地删除 apt/dpkg 存储的文件和数据?

答案1

编辑/var/lib/dpkg/available并将软件包的行/var/lib/dpkg/status更改为 dpkg 喜欢的内容,例如。Version:jarnal0build901

如果文件中没有条目status,则根据定义,您没有安装该软件包。卸载可能失败,并且您没有正确完成清理;检查是否有文件/var/lib/dpkg/info/jarnal.*。如果安装了软件包,应该有一个文件,jarnal.list其中包含软件包提供的文件列表。如果您手动删除格式错误的软件包,则无需担心中的其他文件/var/lib/dpkg/info

答案2

如果这些是针对未安装的软件包,只需运行sudo dpkg --clear-avail(以下

答案3

您可以备份该available文件,然后清空它(将其留在那里,但是是空的)。

apt-get根本不需要该文件,dpkg有时会使用它作为参考,但这不是必需的,并且它会在一段时间后再次填充它。

另一种选择是手动jarnalavailable文件中删除有问题的条目。

相关内容