当我使用基于 APT 的程序从系统中删除软件包时,它们通常会留下某种残留物(称为“残留配置”),这些残留物似乎除了烦人之外没有任何用处。清理这些通常非常简单:只需在 Synaptic 中清除它们或运行aptitude purge '?config-files'
。
有些软件包比较持久。使用 Synaptic 清除它们会返回消息“忽略删除未安装的 [软件包] 的请求”,Aptitude 也会返回消息“未安装”。我想要一种方法来删除这些异常持久的软件包。
此行为的具体示例:之前的 Ubuntu 设置使用fglrx
和执行此操作fglrx-updates
,具体取决于我安装的版本。我当前的 Mint 14 安装使用的是libav-tools
,我用ffmpeg
官方 Launchpad PPA 替换了它。我想我在其他软件包上也遇到过这个问题,但我不记得具体了。我不知道他们有什么共同点,除非他们在包设计中共享一个错误,并且他们的维护者只需要使用 lintian。
使用 Synaptic 的解决方案可加分。
答案1
这应该可以完成这项工作:
dpkg --purge $PACKAGE
答案2
好吧,我能够找到自己的解决方案(讽刺的是),因为吉尔斯没有正确解释自己并让我研究他的神秘评论。
第 1 步:使用dpkg -L $package
Synaptic 的“属性”对话框查找未与包的其余部分一起清除的文件。我不知道为什么文件可能无法正确清除,但这就是导致此问题的原因。就我而言,它是/etc/avserver.conf。
第 2 步:安装有问题的软件包。这样包管理器就会认为它本身解决了问题。
第三步:运行sudo rm $offendingfile
删除包管理器不想要的文件。
第四步:再次清洗包装。所有的包管理器都会认识到什么都没有留下,因为这次一切都真的消失了。
除了那个 rm 之外,这与 Synaptic 一起工作,所以我可以给自己这些奖励积分。