如何在 Ubuntu 上找到包含给定程序的包?

如何在 Ubuntu 上找到包含给定程序的包?

我经常知道我需要的命令行程序的名称,但不知道提供该程序的软件包的名称。如何找到包含我需要的程序的软件包的名称?在基于 RPM 的系统上,他们有一个选项whatprovides可以rpm -q --whatprovides /usr/X11R6/bin/xclock找到正确的软件包。基于 Debian 的系统有类似的功能吗?

答案1

如果软件包已安装,则需要dpkg -S /path/to/file。如果软件包未安装,则使用 apt-file 实用程序 ( apt-file update; apt-file search /path/to/file)。

答案2

Ubuntu 有一个命令未找到实用程序,它会告诉您需要安装哪个包才能获取特定命令。如果配置正确(可能是在默认安装中?),它会在您输入未安装的命令时显示。但是,您也可以手动运行它:

$ /usr/lib/command-not-found --ignore-installed test
The program 'test' is currently not installed.  You can install it by typing:
sudo apt-get install coreutils

答案3

Ubuntu 和 Debian 一样,都自带 apt-file 应用程序。它允许您搜索软件包中的文件,与 apt-get 非常相似。

因此,你会

$ apt-file update
$ apt-file search xclock

就这样。如果你够幸运的话,你也可以使用Debian 软件包网站。如果 Ubuntu 维护人员与原始 Debian 版本相比没有做太大的更改,那么这将有效。

答案4

您可以使用 Nala(apt 上的前端)。nala 搜索“应用程序名称”。Nala 将返回包名称。

娜拉搜索

相关内容