皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

如何搜索一个包是否在你的 Linux 发行版中

如果你知道包名称,那么你可以直接安装所需的包。

在某些情况下,如果你不知道确切的包名称或者你想搜索某些包,那么你可以在发行版的包管理器的帮助下轻松搜索该包。搜索会自动包括已安装和可用的包。结果的格式取决于选项。如果你的查询没有输出任何信息,那么意味着没有匹配条件的包。这可以通过发行版的包管理器的各种选项来完成。我已经在本文中添加了所有可能的选项,你可以选择最好的和最合适你的选项。

或者,我们可以通过 whohas 命令实现这一点。它会从所有的主流发行版(例如 Debian、Ubuntu、 Fedora 等)中搜索,而不仅仅是你自己的系统发行版。

建议阅读:

如何在 Debian/Ubuntu 中搜索一个包

我们可以使用 aptapt-cache 和 aptitude 包管理器在基于 Debian 的发行版上查找给定的包。我为这个包管理器中包括了大量的选项。

我们可以在基于 Debian 的系统中使用三种方式完成此操作。

  • apt 命令
  • apt-cache 命令
  • aptitude 命令

如何使用 apt 命令搜索一个包

APT 代表高级包管理工具Advanced Packaging Tool(APT),它取代了 apt-get。它有功能丰富的命令行工具,包括所有功能包含在一个命令(apt)里,包括 apt-cacheapt-searchdpkgapt-cdromapt-configapt-key 等,还有其他几个独特的功能。

APT 是一个强大的命令行工具,它可以访问 libapt-pkg 底层库的所有特性,它可以用于安装、下载、删除、搜索和管理以及查询包的信息,另外它还包含一些较少使用的与包管理相关的命令行实用程序。

  1. $ apt -q list nano vlc
  2. Listing...
  3. nano/artful,now 2.8.6-3 amd64 [installed]
  4. vlc/artful 2.2.6-6 amd64

或者,我们可以使用以下格式搜索指定的包。

  1. $ apt search ^vlc
  2. Sorting... Done
  3. Full Text Search... Done
  4. vlc/artful 2.2.6-6 amd64
  5. multimedia player and streamer
  6. vlc-bin/artful 2.2.6-6 amd64
  7. binaries from VLC
  8. vlc-data/artful,artful 2.2.6-6 all
  9. Common data for VLC
  10. vlc-l10n/artful,artful 2.2.6-6 all
  11. Translations for VLC
  12. vlc-plugin-access-extra/artful 2.2.6-6 amd64
  13. multimedia player and streamer (extra access plugins)
  14. vlc-plugin-base/artful 2.2.6-6 amd64
  15. multimedia player and streamer (base plugins)

如何使用 apt-cache 命令搜索一个包

apt-cache 会在 APT 的包缓存上执行各种操作。它会显示有关指定包的信息。apt-cache 不会改变系统的状态,但提供了从包的元数据中搜索和生成有趣输出的操作。

  1. $ apt-cache search nano | grep ^nano
  2. nano - small, friendly text editor inspired by Pico
  3. nano-tiny - small, friendly text editor inspired by Pico - tiny build
  4. nanoblogger - Small weblog engine for the command line
  5. nanoblogger-extra - Nanoblogger plugins
  6. nanoc - static site generator written in Ruby
  7. nanoc-doc - static site generator written in Ruby - documentation
  8. nanomsg-utils - nanomsg utilities
  9. nanopolish - consensus caller for nanopore sequencing data

或者,我们可以使用以下格式搜索指定的包。

  1. $ apt-cache policy vlc
  2. vlc:
  3. Installed: (none)
  4. Candidate: 2.2.6-6
  5. Version table:
  6. 2.2.6-6 500
  7. 500 http://in.archive.ubuntu.com/ubuntu artful/universe amd64 Packages

或者,我们可以使用以下格式搜索给定的包。

  1. $ apt-cache pkgnames vlc
  2. vlc-bin
  3. vlc-plugin-video-output
  4. vlc-plugin-sdl
  5. vlc-plugin-svg
  6. vlc-plugin-samba
  7. vlc-plugin-fluidsynth
  8. vlc-plugin-qt
  9. vlc-plugin-skins2
  10. vlc-plugin-visualization
  11. vlc-l10n
  12. vlc-plugin-notify
  13. vlc-plugin-zvbi
  14. vlc-plugin-vlsub
  15. vlc-plugin-jack
  16. vlc-plugin-access-extra
  17. vlc
  18. vlc-data
  19. vlc-plugin-video-splitter
  20. vlc-plugin-base

如何使用 aptitude 命令搜索一个包

aptitude 是一个基于文本的 Debian GNU/Linux 软件包系统的命令行界面。它允许用户查看包列表,并执行包管理任务,例如安装、升级和删除包,它可以从可视化界面或命令行执行操作。

  1. $ aptitude search ^vlc
  2. p vlc - multimedia player and streamer
  3. p vlc:i386 - multimedia player and streamer
  4. p vlc-bin - binaries from VLC
  5. p vlc-bin:i386 - binaries from VLC
  6. p vlc-data - Common data for VLC
  7. v vlc-data:i386 -
  8. p vlc-l10n - Translations for VLC
  9. v vlc-l10n:i386 -
  10. p vlc-plugin-access-extra - multimedia player and streamer (extra access plugins)
  11. p vlc-plugin-access-extra:i386 - multimedia player and streamer (extra access plugins)
  12. p vlc-plugin-base - multimedia player and streamer (base plugins)
  13. p vlc-plugin-base:i386 - multimedia player and streamer (base plugins)
  14. p vlc-plugin-fluidsynth - FluidSynth plugin for VLC
  15. p vlc-plugin-fluidsynth:i386 - FluidSynth plugin for VLC
  16. p vlc-plugin-jack - Jack audio plugins for VLC
  17. p vlc-plugin-jack:i386 - Jack audio plugins for VLC
  18. p vlc-plugin-notify - LibNotify plugin for VLC
  19. p vlc-plugin-notify:i386 - LibNotify plugin for VLC
  20. p vlc-plugin-qt - multimedia player and streamer (Qt plugin)
  21. p vlc-plugin-qt:i386 - multimedia player and streamer (Qt plugin)
  22. p vlc-plugin-samba - Samba plugin for VLC
  23. p vlc-plugin-samba:i386 - Samba plugin for VLC
  24. p vlc-plugin-sdl - SDL video and audio output plugin for VLC
  25. p vlc-plugin-sdl:i386 - SDL video and audio output plugin for VLC
  26. p vlc-plugin-skins2 - multimedia player and streamer (Skins2 plugin)
  27. p vlc-plugin-skins2:i386 - multimedia player and streamer (Skins2 plugin)
  28. p vlc-plugin-svg - SVG plugin for VLC
  29. p vlc-plugin-svg:i386 - SVG plugin for VLC
  30. p vlc-plugin-video-output - multimedia player and streamer (video output plugins)
  31. p vlc-plugin-video-output:i386 - multimedia player and streamer (video output plugins)
  32. p vlc-plugin-video-splitter - multimedia player and streamer (video splitter plugins)
  33. p vlc-plugin-video-splitter:i386 - multimedia player and streamer (video splitter plugins)
  34. p vlc-plugin-visualization - multimedia player and streamer (visualization plugins)
  35. p vlc-plugin-visualization:i386 - multimedia player and streamer (visualization plugins)
  36. p vlc-plugin-vlsub - VLC extension to download subtitles from opensubtitles.org
  37. p vlc-plugin-zvbi - VBI teletext plugin for VLC
  38. p vlc-plugin-zvbi:i386

如何在 RHEL/CentOS 中搜索一个包

Yum(Yellowdog Updater Modified)是 Linux 操作系统中的包管理器实用程序之一。Yum 命令用于在一些基于 RedHat 的 Linux 发行版上,它用来安装、更新、搜索和删除软件包。

  1. # yum search ftpd
  2. Loaded plugins: fastestmirror, refresh-packagekit, security
  3. Loading mirror speeds from cached hostfile
  4. * base: centos.hyve.com
  5. * epel: mirrors.coreix.net
  6. * extras: centos.hyve.com
  7. * rpmforge: www.mirrorservice.org
  8. * updates: mirror.sov.uk.goscomb.net
  9. ============================================================== N/S Matched: ftpd ===============================================================
  10. nordugrid-arc-gridftpd.x86_64 : ARC gridftp server
  11. pure-ftpd.x86_64 : Lightweight, fast and secure FTP server
  12. vsftpd.x86_64 : Very Secure Ftp Daemon
  13. Name and summary matches only, use "search all" for everything.

或者,我们可以使用以下命令搜索相同内容。

  1. # yum list ftpd

如何在 Fedora 中搜索一个包

DNF 代表 Dandified yum。我们可以说 DNF 是下一代 yum 包管理器(Yum 的衍生品),它使用 hawkey/libsolv 库作为底层。Aleš Kozumplík 从 Fedora 18 开始开发 DNF,最终在 Fedora 22 中发布。

  1. # dnf search ftpd
  2. Last metadata expiration check performed 0:42:28 ago on Tue Jun 9 22:52:44 2018.
  3. ============================== N/S Matched: ftpd ===============================
  4. proftpd-utils.x86_64 : ProFTPD - Additional utilities
  5. pure-ftpd-selinux.x86_64 : SELinux support for Pure-FTPD
  6. proftpd-devel.i686 : ProFTPD - Tools and header files for developers
  7. proftpd-devel.x86_64 : ProFTPD - Tools and header files for developers
  8. proftpd-ldap.x86_64 : Module to add LDAP support to the ProFTPD FTP server
  9. proftpd-mysql.x86_64 : Module to add MySQL support to the ProFTPD FTP server
  10. proftpd-postgresql.x86_64 : Module to add PostgreSQL support to the ProFTPD FTP
  11. : server
  12. vsftpd.x86_64 : Very Secure Ftp Daemon
  13. proftpd.x86_64 : Flexible, stable and highly-configurable FTP server
  14. owfs-ftpd.x86_64 : FTP daemon providing access to 1-Wire networks
  15. perl-ftpd.noarch : Secure, extensible and configurable Perl FTP server
  16. pure-ftpd.x86_64 : Lightweight, fast and secure FTP server
  17. pyftpdlib.noarch : Python FTP server library
  18. nordugrid-arc-gridftpd.x86_64 : ARC gridftp server

或者,我们可以使用以下命令搜索相同的内容。

  1. # dnf list proftpd
  2. Failed to synchronize cache for repo 'heikoada-terminix', disabling.
  3. Last metadata expiration check: 0:08:02 ago on Tue 26 Jun 2018 04:30:05 PM IST.
  4. Available Packages
  5. proftpd.x86_64

如何在 Arch Linux 中搜索一个包

pacman 代表包管理实用程序(pacman)。它是一个用于安装、构建、删除和管理 Arch Linux 软件包的命令行实用程序。pacman 使用 libalpm(Arch Linux Package Management(ALPM)库)作为底层来执行所有操作。

在本例中,我将要搜索 chromium 包。

  1. # pacman -Ss chromium
  2. extra/chromium 48.0.2564.116-1
  3. The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser
  4. extra/qt5-webengine 5.5.1-9 (qt qt5)
  5. Provides support for web applications using the Chromium browser project
  6. community/chromium-bsu 0.9.15.1-2
  7. A fast paced top scrolling shooter
  8. community/chromium-chromevox latest-1
  9. Causes the Chromium web browser to automatically install and update the ChromeVox screen reader extention. Note: This
  10. package does not contain the extension code.
  11. community/fcitx-mozc 2.17.2313.102-1
  12. Fcitx Module of A Japanese Input Method for Chromium OS, Windows, Mac and Linux (the Open Source Edition of Google Japanese
  13. Input)

默认情况下,-s 选项内置 ERE(扩展正则表达式)会导致很多不需要的结果。使用以下格式会仅匹配包名称。

  1. # pacman -Ss '^chromium-'

pkgfile 是一个用于在 Arch Linux 官方仓库的包中搜索文件的工具。

  1. # pkgfile chromium

如何在 openSUSE 中搜索一个包

Zypper 是 SUSE 和 openSUSE 发行版的命令行包管理器。它用于安装、更新、搜索和删除包以及管理仓库,执行各种查询等。Zypper 命令行对接到 ZYpp 系统管理库(libzypp)。

  1. # zypper search ftp
  2. or
  3. # zypper se ftp
  4. Loading repository data...
  5. Reading installed packages...
  6. S | Name | Summary | Type
  7. --+----------------+-----------------------------------------+--------
  8. | proftpd | Highly configurable GPL-licensed FTP -> | package
  9. | proftpd-devel | Development files for ProFTPD | package
  10. | proftpd-doc | Documentation for ProFTPD | package
  11. | proftpd-lang | Languages for package proftpd | package
  12. | proftpd-ldap | LDAP Module for ProFTPD | package
  13. | proftpd-mysql | MySQL Module for ProFTPD | package
  14. | proftpd-pgsql | PostgreSQL Module for ProFTPD | package
  15. | proftpd-radius | Radius Module for ProFTPD | package
  16. | proftpd-sqlite | SQLite Module for ProFTPD | package
  17. | pure-ftpd | A Lightweight, Fast, and Secure FTP S-> | package
  18. | vsftpd | Very Secure FTP Daemon - Written from-> | package

如何使用 whohas 命令搜索一个包

whohas 命令是一个智能工具,从所有主流发行版中搜索指定包,如 Debian、Ubuntu、Gentoo、Arch、AUR、Mandriva、Fedora、Fink、FreeBSD 和 NetBSD。

  1. $ whohas nano
  2. Mandriva nano-debug 2.3.1-1mdv2010.2.x http://sophie.zarb.org/rpms/0b33dc73bca710749ad14bbc3a67e15a
  3. Mandriva nano-debug 2.2.4-1mdv2010.1.i http://sophie.zarb.org/rpms/d9dfb2567681e09287b27e7ac6cdbc05
  4. Mandriva nano-debug 2.2.4-1mdv2010.1.x http://sophie.zarb.org/rpms/3299516dbc1538cd27a876895f45aee4
  5. Mandriva nano 2.3.1-1mdv2010.2.x http://sophie.zarb.org/rpms/98421c894ee30a27d9bd578264625220
  6. Mandriva nano 2.3.1-1mdv2010.2.i http://sophie.zarb.org/rpms/cea07b5ef9aa05bac262fc7844dbd223
  7. Mandriva nano 2.2.4-1mdv2010.1.s http://sophie.zarb.org/rpms/d61f9341b8981e80424c39c3951067fa
  8. Mandriva spring-mod-nanoblobs 0.65-2mdv2010.0.sr http://sophie.zarb.org/rpms/74bb369d4cbb4c8cfe6f6028e8562460
  9. Mandriva nanoxml-lite 2.2.3-4.1.4mdv2010 http://sophie.zarb.org/rpms/287a4c37bc2a39c0f277b0020df47502
  10. Mandriva nanoxml-manual-lite 2.2.3-4.1.4mdv2010 http://sophie.zarb.org/rpms/17dc4f638e5e9964038d4d26c53cc9c6
  11. Mandriva nanoxml-manual 2.2.3-4.1.4mdv2010 http://sophie.zarb.org/rpms/a1b5092cd01fc8bb78a0f3ca9b90370b
  12. Gentoo nano 9999 http://packages.gentoo.org/package/app-editors/nano
  13. Gentoo nano 9999 http://packages.gentoo.org/package/app-editors/nano
  14. Gentoo nano 2.9.8 http://packages.gentoo.org/package/app-editors/nano
  15. Gentoo nano 2.9.7

如果你希望只从当前发行版仓库中搜索指定包,使用以下格式:

  1. $ whohas -d Ubuntu vlc
  2. Ubuntu vlc 2.1.6-0ubuntu14.04 1M all http://packages.ubuntu.com/trusty/vlc
  3. Ubuntu vlc 2.1.6-0ubuntu14.04 1M all http://packages.ubuntu.com/trusty-updates/vlc
  4. Ubuntu vlc 2.2.2-5ubuntu0.16. 1M all http://packages.ubuntu.com/xenial/vlc
  5. Ubuntu vlc 2.2.2-5ubuntu0.16. 1M all http://packages.ubuntu.com/xenial-updates/vlc
  6. Ubuntu vlc 2.2.6-6 40K all http://packages.ubuntu.com/artful/vlc
  7. Ubuntu vlc 3.0.1-3build1 32K all http://packages.ubuntu.com/bionic/vlc
  8. Ubuntu vlc 3.0.2-0ubuntu0.1 32K all http://packages.ubuntu.com/bionic-updates/vlc
  9. Ubuntu vlc 3.0.3-1 33K all http://packages.ubuntu.com/cosmic/vlc
  10. Ubuntu browser-plugin-vlc 2.0.6-2 55K all http://packages.ubuntu.com/trusty/browser-plugin-vlc
  11. Ubuntu browser-plugin-vlc 2.0.6-4 47K all http://packages.ubuntu.com/xenial/browser-plugin-vlc
  12. Ubuntu browser-plugin-vlc 2.0.6-4 47K all http://packages.ubuntu.com/artful/browser-plugin-vlc
  13. Ubuntu browser-plugin-vlc 2.0.6-4 47K all http://packages.ubuntu.com/bionic/browser-plugin-vlc
  14. Ubuntu browser-plugin-vlc 2.0.6-4 47K all http://packages.ubuntu.com/cosmic/browser-plugin-vlc
  15. Ubuntu libvlc-bin 2.2.6-6 27K all http://packages.ubuntu.com/artful/libvlc-bin
  16. Ubuntu libvlc-bin 3.0.1-3build1 17K all http://packages.ubuntu.com/bionic/libvlc-bin
  17. Ubuntu libvlc-bin 3.0.2-0ubuntu0.1 17K all

via: https://www.2daygeek.com/how-to-search-if-a-package-is-available-on-your-linux-distribution-or-not/

作者:Prakash Subramanian 选题:lujun9972 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

转自 https://linux.cn/article-10506-1.html