我使用 Katoolin 脚本安装了几个 Kali 工具。一段时间后,我尝试卸载这些工具,我能够删除其中的大部分,但有几个应用程序无法使用
sudo apt-get remove <package name>
命令卸载。
我得到:E: Unable to locate package <package name>
。
也尝试使用sudo apt autoremove <package name>
相同的结果。
我假设实际安装的软件包名称与我在“应用程序”窗口中看到的名称不同。如何删除这些包或找到它们的实际名称?
apt
只能卸载由 apt 安装的软件包或使用 apt 作为后端的应用程序,如 Ubuntu Software 或 Synaptic。结果apt policy searchsploit snmp-check ssltrip thcping6
显示这 4 个包都不是来自默认的 Ubuntu 存储库。这些软件包是由 Katoolin 安装的,它是一个有助于在 Ubuntu 和其他 Linux 发行版上安装 Kali Linux 工具的脚本。Katoolin 将自己的存储库添加到 Ubuntu 的软件源中,因此这 4 个软件包可能是由 apt 安装的,但 Katoolin 也可以从 GitHub 和其他不总是提供 apt 可以安装的 .deb 文件的源安装软件包,在这种情况下检查这个问题:如果我从源代码构建一个包,我怎样才能完全卸载或删除?.即使软件包是使用 apt 安装的,也只能通过运行包含其确切软件包名称的命令来卸载它。Ubuntu 中的包名区分大小写,并且包名的片段不会被解释
apt
为确切的包名。但是,如果您知道某个包的名称,则可以通过运行如下命令轻松找到完整的包名称:此命令返回以字符串开头的包,
rhythmb
例如节奏盒。或者,您可以运行如下命令:此命令返回名称中任意位置包含5.4.0-48字符串(Linux 内核版本)的包。
不要假设任何特性是由与该特性同名的包提供的。多个命令可以由同一个包提供,该包的名称与其提供的任何程序和命令的名称不同。
但是,您可以从命令的确切名称中轻松找到包名称,如下所示。这是一个使用
xdg-open
在用户首选应用程序中打开文件或 URL 的命令的示例。上面的命令返回
/usr/bin/xdg-open
.上面的命令返回
xdg-utils: /usr/bin/xdg-open
表明该xdg-open
命令是由xdg-utils包提供的。Karel 的回答是正确的,但这是另一个角度:如果包管理器不知道要删除的包,则无法同时安装它,这意味着无需进一步删除它。