云网牛站
所在位置:首页 > Linux软件 > 安装与使用Whohas,用来确定Linux中有没有某个软件包

安装与使用Whohas,用来确定Linux中有没有某个软件包

2018-08-29 10:44:35作者:DavidChenLiang稿源:linux中国社区

下面教你在 Linux 系统中寻找一个特定的软件包的方法,那就是使用 Whohas,以下介绍它的安装及使用方法,它是一款命令行软件,能一次查询很多的软件包列表,当然还能知道软件是什么版本,以检查的你软件包是否存在。目前,whohas 支持很多 Linux 版本,比如 Arch、Debian、Fedora、Gentoo、Mandriva、openSUSE、Slackware、Source Mage、Ubuntu、FreeBSD、NetBSD、OpenBSD(BSD 不是 Linux)、Fink、MacPorts 和 Cygwin。使用这个小工具,软件包的维护者能轻而易举从别的 Linux 发行版里找到 ebuilds、 pkgbuilds 等等类似的包定义文件。同时 Whohas 是用 Perl 语言开发的自由、开源的工具。

安装与使用Whohas,用来确定Linux中有没有某个软件包

 

下载Whohas

这里下载源代码并手工编译安装。当前版本 whohas 0.29。github 地址在这里

 

安装Whohas

Whohas 在 Debian、Ubuntu、Linux Mint 的默认软件仓库里提供。如果你正在使用某种基于 DEB 的系统,你可以用如下命令安装:

$ sudo apt-get install whohas

对基于 Arch 的系统,AUR 里就有提供 whohas。你能使用任何的 AUR 助手程序来安装。

使用 Packer:

$ packer -S whohas

或使用Trizen:

$ trizen -S whohas

使用Yay:

$ yay -S whohas

使用 Yaourt:

$ yaourt -S whohas

 

使用Whohas的方法

Whohas 的主要目标是想让你知道:

哪个 Linux 发布版提供了用户依赖的包。

对于各个 Linux 发行版,指定的软件包是什么版本,或者在这个 Linux 发行版的各个不同版本上,指定的软件包是什么版本。

让我们试试看上面的的功能,比如说,哪个 Linux 发行版里有 vim 这个软件?我们可以运行如下命令:

$ whohas vim

这个命令将会显示所有包含可安装的 vim 的 Linux 发行版的信息,包括包的大小,仓库地址和下载URL。

安装与使用Whohas,用来确定Linux中有没有某个软件包

你甚至可以通过管道将输出的结果按照发行版的字母排序,只需加入 sort 命令即可。

$ whohas vim | sort

请注意上述命令将会显示所有以 vim 开头的软件包,包括 vim-spell、vimcommander、vimpager 等等。你可以继续使用 Linux 的 grep 命令在 “vim” 的前后加上空格来缩小你的搜索范围,直到满意为止。

$ whohas vim | sort | grep " vim"

$ whohas vim | sort | grep "vim "

$ whohas vim | sort | grep " vim "

所有将空格放在包名字前面的搜索将会显示以包名字结尾的包。所有将空格放在包名字后面的搜索将会显示以包名字开头的包。前后都有空格将会严格匹配。

又或者,你就使用 --strict 来严格限制结果。

$ whohas --strict vim

有时,你想知道一个包在不在一个特定的 Linux 发行版里。例如,你想知道 vim 是否在 Arch Linux 里,请运行:

$ whohas vim | grep "^Arch"

(注:在结果里搜索以 Arch 开头的 Linux)

Linux 发行版的命名缩写为:'archlinux'、'cygwin'、'debian'、'fedora'、‘fink'、'freebsd'、'gentoo'、'mandriva'、'macports'、'netbsd'、'openbsd'、'opensuse'、'slackware'、'sourcemage’ 和 ‘ubuntu'。

你也可以用 -d 选项来得到同样的结果。

$ whohas -d archlinux vim

这个命令将在仅仅 Arch Linux 发行版下搜索 vim 包。

如果要在多个 Linux 发行版下搜索,如 'archlinux'、'ubuntu',请使用如下命令。

$ whohas -d archlinux,ubuntu vim

你甚至可以用 whohas 来查找哪个发行版有 whohas 包。

$ whohas whohas

更详细的信息,请参照手册。

$ man whohas

 

总结

当然,任何一个 Linux 发行版的包管理器都能轻松的在对应的软件仓库里找到自己管理的包。不过,whohas 帮你整合并比较了在不同的 Linux 发行版下指定的软件包信息,这样你能轻易的跨平台之间进行比较。试一下 whohas,按照本文的方法安装后使用,它比同类软件更为直观简单。

 

相关主题

玩转RHEL、CentOS、Debian、Ubuntu的软件包管理器

精选文章
热门文章