如何在Arch Linux中搜索软件包

时间:2020-01-09 10:40:40  来源:igfitidea点击:

如何使用命令行选项在Arch Linux下在存储库中搜索可安装的软件包?
可以使用bash shell提示,使用pacman或pkgfile命令在Arch Linux中搜索软件包。

如何使用pacman搜索软件包?

搜索包的语法如下:

pacman -Ss {pkgNameHere}
pacman -Ss {keyWordHere}
pacman --sync --search packageName

例如,搜索nmap,执行pacman命令:

$ pacman -Ss nmap

或者

$ pacman -Ss auditing

输出示例:

extra/nmap 7.80-2
    Utility for network discovery and security auditing
community/dsniff 2.4b1-28
    Collection of tools for network auditing and penetration testing
community/lynis 2.7.5-2
    Security and system auditing tool to harden Unix/Linux systems
community/perf 5.7-1 (linux-tools)
    Linux kernel performance auditing tool
community/python-sqlalchemy-continuum 1.3.9-2
    Versioning and auditing extension for SQLAlchemy

其中:

  • -S,--sync:同步软件包。软件包直接从远程存储库安装,包括运行软件包所需的所有依赖项。
  • -s,--search:在每个本地安装的软件包中搜索与regexp匹配的名称或描述。当包含多个搜索词时,仅返回描述与所有这些词匹配的软件包。

如何使用pkgfile搜索软件包?

pkgfile命令不过是一个pacman .files元数据资源管理器。
首先使用以下语法安装pkgfile:

$ sudo pacman -S pkgfile

输出示例:
在Arch Linux上安装pkgfile

执行以下命令以更新索引:

$ sudo pkgfile --update

输出示例:

:: Updating 3 repos...
  download complete: core                 [   693.9 KiB   208K/s  2 remaining]
  download complete: extra                [     7.1 MiB   807K/s  1 remaining]
  download complete: community            [    15.5 MiB  48.6K/s  0 remaining]
:: download complete in 325.94s           <    23.2 MiB  73.0K/s  3 files    >
:: waiting for 1 process to finish repacking repos...

简单搜索

输入命令:

$ pkgfile nginx
$ pkgfile php
$ pkgfile nmap

输出示例:

extra/bash-completion
extra/nmap

如何显示远程程序包(即已卸载的程序包)提供的文件?

语法是

$ pkgfile -l packageName
$ pkgfile -l nmap
$ pkgfile -l bash

要查看本地软件包提供的文件列表,请使用:

$ pacman -Ql bash

如何执行正则表达式匹配?

语法为:

$ pkgfile -r regex
$ pkgfile -r php*
$ pkgfile -r nginx*

查看所有其他选项

语法为:

$ pkgfile -h
pkgfile 21
Usage: pkgfile [options] target

Operations:
  -l, --list              list contents of a package
  -s, --search            search for packages containing the target (default)
  -u, --update            update repo files lists

Matching:
  -b, --binaries          return only files contained in a bin dir
  -d, --directories       match directories in searches
  -g, --glob              enable matching with glob characters
  -i, --ignorecase        use case insensitive matching
  -R, --repo        search a singular repo
  -r, --regex             enable matching with regular expressions

Output:
  -q, --quiet             output less when listing
  -v, --verbose           output more
  -w, --raw               disable output justification
  -0, --null              null terminate output

Downloading:
  -z, --compress[=type]   compress downloaded repos

General:
  -C, --config      use an alternate config (default: /etc/pacman.conf)
  -D, --cachedir     use an alternate cachedir (default: /var/cache/pkgfile)
  -h, --help              display this help and exit
  -V, --version           display the version and exit

关于CentOS/Red Hat Enterprise Linux用户的注释

使用以下yum命令

$ yum search pkgName
$ yum search php

关于Fedora Linux用户的说明

使用以下dnf命令

$ dnf search pkgName
$ dnf search php

关于Debian/Ubuntu Linux用户的说明

使用以下apt命令

$ apt search pkgName
$ apt search php

关于Suse/OpenSuse Linux用户的说明

使用以下zypper命令

$ zypper search pkgName
$ zypper search php

关于Alpin Linux用户的说明

使用以下apk命令

$ apk search pkgName
$ apk search php

关于Gentoo Linux用户的说明

使用以下emerge命令

$ emerge -S pkgName
$ emerge -S pkgName