Aptitude 一直提示软件包已安装,但实际上该软件包已被删除和清除

Aptitude 一直提示软件包已安装,但实际上该软件包已被删除和清除

我有一台 8.04 版的服务器,我一直在使用 Postfix,使用清除选项进行安装和删除。问题是,我想重新安装它(这样它会显示配置菜单),但 Aptitude 和 apt 一直提示它已经安装。

我删除并清除了几次,甚至手动删除了清除后留下的一些文件,但还是没有成功。

那么,有没有办法手动删除该条目或其他内容,以便 Aptitude 正常安装它?

谢谢!!

答案1

警告:除非您已经用尽所有其他方法,否则请不要尝试此操作。

由于 apt-get、aptitude 等都在内部使用 dpkg 命令,我们将从 dpkg 数据库中删除软件包安装的所有痕迹,并让 dpkg、apt-get、aptitude 等认为该软件包从未安装过。

  • dpkg 数据库是/var/lib/dpkg/状态文件。备份此文件。我们将要对 dpkg 系统的核心进行修改,并且您需要原始文件以防这个过程失败。
  • 编辑状态文件:

    sudo gedit /var/lib/dpkg/status

  • 找到后缀此文件中的软件包。每个软件包通常都会有一个如下所示的条目。删除整个条目。笔记:不应有任何依赖此包的包。如果有,您应该先删除这些包,这样当您打开此文件时,该包仅在一个块中被引用,然后您才可以继续删除它。

    软件包:autokey
    状态:安装成功
    优先级:可选
    部分:kde
    安装大小:456
    维护者:Chris Dekter
    架构:全部
    版本:0.60.4-0~jaunty
    依赖项:python (>= 2.6)、python-central (>= 0.6.11)、python-kde4、python-qt4、python-qscintilla2、python-xlib
    配置文件:
    /etc/init.d/autokey 1f0e894e58a6ff428e3a892c27caf300
    描述:桌面自动化实用程序
    AutoKey 是适用于 Linux 和 X11 的桌面自动化实用程序。它允许
    通过响应键入的缩写和
    热键来自动执行几乎任何任务。它提供了一个功能齐全的 GUI,使
    新手可以轻松使用,以及一个脚本界面,提供
    Python 语言的全部灵活性和强大功能。
    主页:http://autokey.googlecode.com/
    Python 版本:>= 2.6

  • 保存文件。

  • 重启。 该文件可能有缓存版本,因此需要重新启动以确保每个人都读取这个新文件。
  • 重新安装该包。

我发布这些说明的唯一原因是我最近遇到了类似的问题:自动键包处于非常混乱的状态(安装过程中磁盘已满,应该写入的条目没有写入),最后我不得不采取上述步骤来重新安装该包。它对我有用,对你也应该有用,但你使用这些说明时需要自担风险。

编辑:我还应该让你知道我使用 apt-get 进行(失败的)安装和重新安装。

答案2

您的软件包处于不一致状态。您可能需要重新安装它(aptitude install postfix)。并可能需要重新配置它(dpkg-reconfigure postfix)。

答案3

您声称已经使用了Aptitudeapt,我只是希望您没有尝试使用 来安装Aptitude并使用 来删除apt或反之亦然,因为这是绝对不行的。您可以尝试

aptitude hold postfix

这应该可以修复当前状态的软件包。然后尝试清除。或者尝试覆盖它:

aptitude install postfix

然后清除。

相关内容