查找软件包是否可用于Linux发行版

时间:2020-03-21 11:43:37  来源:igfitidea点击:

有时,我们可能想知道如何查找Linux发行版中是否有可用的软件包。
或者,我们只是想知道可用于发行版的软件包的版本。

我知道一个可以为我们提供此类信息的工具。
认识“ Whohas”命令行工具,该工具可一次查询多个软件包列表。
当前,它支持Arch,Debian,Fedora,Gentoo,Mandriva,openSUSE,Slackware,Source Mage,Ubuntu,FreeBSD,NetBSD,OpenBSD,Fink,MacPorts和Cygwin。
使用此工具,软件包维护者可以从其他发行版中轻松找到ebuild,pkgbuild和类似的软件包定义。
Whohas是免费的开放源代码,并使用Perl编程语言编写。

查找软件包是否可用于Linux发行版

安装Whohas

在Debian,Ubuntu和Linux Mint的默认存储库中可以找到Whohas。
如果使用的是任何基于DEB的系统,则可以使用以下命令进行安装:

$sudo apt-get install whohas

对于基于Arch的系统,它在AUR中可用。

我们可以使用任何AUR帮助程序进行安装。

使用Yay:

$yay -S whohas

在其他Linux发行版中,从此处下载Whohas实用程序源,然后手动编译并安装它。

用法

Whohas工具的主要目的是让我们知道,

  • 哪个发行版提供了用户依赖的软件包。
  • 给定软件包的哪个版本在每个发行版和/或者发行版的每个发行版中使用。

让我们找到哪个发行版包含特定的软件包,例如vim。
为此,请运行:

$whohas vim

该命令将显示包含vim软件包的所有发行版,以及给定软件包的可用版本,其大小,存储库和下载URL。

我们甚至可以通过将输出通过管道传递到“ sort”命令(如下所示)来通过分配来按字母顺序对结果进行排序。

$whohas vim | sort

请注意,以上命令将显示所有以vim开头的软件包,例如vim-spell,vimcommander,vimpager等。
我们可以使用grep命令将搜索范围缩小到确切的软件包,在前后或者前后使用空格如下所示。

$whohas vim | sort | grep " vim"
$whohas vim | sort | grep "vim "
$whohas vim | sort | grep " vim "

软件包名称前的空格将显示所有以搜索词结尾的软件包。
软件包名称后面的空格将显示所有名称以搜索词开头的软件包。
搜索两侧的空格将显示完全匹配。

或者,我们可以简单地使用“ --strict”选项,如下所示。

$whohas --strict vim

有时,我们想知道某个软件包是否仅可用于特定的发行版。
例如,要查找Arch Linux中是否提供vim软件包,请运行:

$whohas vim | grep "^Arch"

发行名称缩写为“ archlinux”,“ cygwin”,“ debian”,“ fedora”,“ fink”,“ freebsd”,“ gentoo”,“ mandriva”,“ macports”,“ netbsd”,“ openbsd”, “ opensuse”,“ slackware”,“ sourcemage”和“ ubuntu”。

我们还可以通过使用-d选项获得相同的结果。

$whohas -d archlinux vim

该命令将仅在vim软件包中搜索Arch Linux发行版。

要搜索多个发行版,例如arch linux,ubuntu,请改用以下命令。

$whohas -d archlinux,ubuntu vim

我们甚至可以找到哪些发行版具有“ whohas”软件包。

$whohas whohas

有关更多详细信息,请参见手册页。

$man whohas