为什么通过编译源代码安装的软件包没有出现在 dpkg -l 输出中?

为什么通过编译源代码安装的软件包没有出现在 dpkg -l 输出中?

当我使用命令行时,我发现这里存在一个潜在的问题:

dpkg -l | grep macchanger 

它会列出 macchanger 和没有问题的版本。

我最近通过以下方式卸载了这个有缺陷的版本:

apt-get remove macchanger

然后重新安装它,但我从 GitHub 的源代码手动编译并安装了它。现在当我使用时:

dpkg -l | grep macchanger 

我什么也没得到,问题是我希望能够跟踪包裹。

答案1

Debian 软件包管理系统仅跟踪由dpkg和基于它的其他实用程序安装的软件包。从源代码安装(编译源代码并安装生成的文件)是安装程序包的另一种方法。这意味着通过编译源代码安装的软件包未在 中列出,dpkg -l并且无法使用 删除dpkg -r。删除通过编译源代码安装的软件包的唯一方法是在其编译目录中发出此命令:

make uninstall

请注意,一些源代码不支持make uninstall

在某些情况下,您可以下载.deb该版本并通过dpkg -i命令安装。这种方式需要对 Ubuntu 中的包管理有很高的了解,因为一个错误会导致dpkg数据库损坏。

相关内容