如何从Linux中的某个存储库列出已安装的软件包
我们已经知道如何托收UNIX的操作系统中已安装的存储库。
今天,让我向我们展示如何从Linux中的某个存储库中列出已安装的软件包。
当我们想知道哪个软件包来自哪个存储库时,这可能很有用。
列出从Linux中的某个存储库中安装的软件包
Arch Linux.
在ARCH Linux及其衍生产品(如Antergos,Manjaro Linux)中,运行以下命令以了解来自某个存储库的已安装软件包列表。
$paclist community
上面的命令将列出Arch Linux中的社区存储库的已安装的软件包。
示例输出:
acpi 1.7-1 acpid 2.0.28-1 arj 3.10.22-11 at 3.1.20-3 atril 1.18.0-1 bamf 0.5.3-1 blueman 2.0.4-3 blur-effect 1.1.2-1 . . . wpscan 1:2.9.2-3 xcur2png 0.7.1-4 yaml-cpp 0.5.3-3 youtube-dl 2016.06.05-1 zathura 0.3.7-1 zathura-pdf-poppler 0.2.7-1 zeromq 4.2.1-1 zim 0.66-1
或者,如果要仅显示没有版本号的已安装软件包的名称,则可以使用以下命令。
$awk '{print }' <(paclist community)
Rhel/CentOS:
在Rhel及其克隆等CentOS,Scientific Linux等克隆,使用命令查看已安装的软件包:
$yum list installed | grep @epel
此命令将列出从epel存储库的已安装的软件包。
dnf.noarch 0.6.4-2.el7 @epel dnf-conf.noarch 0.6.4-2.el7 @epel dnf-plugins-core.noarch 0.1.5-3.el7 @epel epel-release.noarch 7-9 @epel libcomps.x86_64 0.1.6-13.el7 @epel python-dnf.noarch 0.6.4-2.el7 @epel python-libcomps.x86_64 0.1.6-13.el7 @epel
我们还可以使用YUMDB命令从某个存储库获取已安装的软件包列表。
默认情况下未安装YUMDB。
我们需要安装yum-utils包以使用yumdb命令。
$sudo yum install yum-utils
现在,使用Yumdb命令列出来自特定存储库的已安装的软件包。
$yumdb search from_repo epel
上面的命令将从epel存储库中显示已安装的软件包。
dnf-0.6.4-2.el7.noarch from_repo = epel dnf-conf-0.6.4-2.el7.noarch from_repo = epel dnf-plugins-core-0.1.5-3.el7.noarch from_repo = epel epel-release-7-9.noarch from_repo = epel libcomps-0.1.6-13.el7.x86_64 from_repo = epel python-dnf-0.6.4-2.el7.noarch from_repo = epel python-libcomps-0.1.6-13.el7.x86_64 from_repo = epel
此外,我们可以使用AWK命令以打印友好格式打印输出,如下所示。
$yumdb search from_repo epel* |awk -F"\n" '{ RS=""; print }'
其中欧莱克是重回的。
通过运行以下命令,我们可以获得重物:
$yum repolist
recosquery是另一个命令,以列出基于yum系统中某个存储库的已安装软件包。
请注意,我们需要按顺序安装yum-utils包以使用repoquery命令。
要使用ReposQuery列出从Epel存储库的已安装的软件包,刚刚运行:
$repoquery -a --installed --qf "%{ui_from_repo} %{name}" | grep '^@epel'
来自我的CentOS 7服务器系统的示例输出。
@epel dnf @epel dnf-conf @epel dnf-plugins-core @epel epel-release @epel libcomps @epel python-dnf @epel python-libcomps
推荐下载 - 免费教程:"你应该买什么类型的Linux桌面或者笔记本电脑?
"
Debian/Ubuntu/Linux Mint
在基于APT的系统中,我们可以使用命令查找来自特定存储库的已安装软件包列表,例如Docker,使用命令:
$aptitude search "?origin (docker) ?installed" i containerd.io - An open and reliable container runtime i docker-ce - Docker: the open-source application container en i docker-ce-cli - Docker CLI: the open-source application containe
如果要从PPA列出所有包,请执行以下操作:
$grep ^Package: /var/lib/apt/lists/ppa.launchpad.net_*_Packages
示例输出:
/var/lib/apt/lists/ppa.launchpad.net_linrunner_tlp_ubuntu_dists_xenial_main_binary-amd64_Packages:Package: tp-smapi-dkms /var/lib/apt/lists/ppa.launchpad.net_linrunner_tlp_ubuntu_dists_xenial_main_binary-amd64_Packages:Package: tlp /var/lib/apt/lists/ppa.launchpad.net_linrunner_tlp_ubuntu_dists_xenial_main_binary-amd64_Packages:Package: tlp-rdw /var/lib/apt/lists/ppa.launchpad.net_linrunner_tlp_ubuntu_dists_xenial_main_binary-i386_Packages:Package: tp-smapi-dkms /var/lib/apt/lists/ppa.launchpad.net_linrunner_tlp_ubuntu_dists_xenial_main_binary-i386_Packages:Package: tlp /var/lib/apt/lists/ppa.launchpad.net_linrunner_tlp_ubuntu_dists_xenial_main_binary-i386_Packages:Package: tlp-rdw
上述命令将列出Ubuntu系统上所有PPA的软件包。
此外,我们可以使用命令从存储库列出所有包:
$grep Package /var/lib/apt/lists/in.archive.ubuntu.com_ubuntu_dists_xenial_multiverse_*_Packages
此命令将列出来自Hyliverse存储库的软件包。
推荐阅读:
- 如何在安装之前检查Linux包版本
- 如何列出属于Linux中特定组的已安装软件包
- 如何在Linux中查找已安装大小的安装应用程序
SUSE/OPENSUSE.
zypper使从SUSE,OpenSUSE系统中的某个存储库列出已安装的软件包更容易。
我们需要做的就是打开终端并运行以下命令。
$zypper pa -ir <repo-name_or_number>
我们可以使用以下命令找到存储库名称或者其号码:
$zypper lr
示例输出:
# | Alias | Name | Enabled | GPG Check | Refresh --+---------------------+------------------------------+---------+-----------+------- 1 | repo-non-oss | openSUSE-leap/42.1-Non-Oss | Yes | (r ) Yes | Yes 2 | repo-oss | openSUSE-leap/42.1-Oss | Yes | (r ) Yes | Yes 3 | repo-update | openSUSE-42.1-Update | Yes | (r ) Yes | Yes 4 | repo-update-non-oss | openSUSE-42.1-Update-Non-Oss | Yes | (r ) Yes | Yes
例如,以下命令将列出"repo-oss"存储库的软件包:
$zypper search -ir repo-oss
或者,只需使用如下所示的存储库号码。
$zypper search -ir 2
示例输出:
Loading repository data... Reading installed packages... S | Name | Summary | Type --+--------------------------------------------+-------------------------------------------------------------------------+----------- i | Apper | KDE application and package management tool | application i | Firefox | Web Browser | application i | GParted | Create, reorganize, and delete partitions | application i | Hugin batch processor | A GUI queue manager for stitching multiple hugin projects | application . . . i | zisofs-tools | User tools for zisofs | package i | zypp-plugin-python | Helper that makes writing ZYpp plugins in python easier | package i | zypper-aptitude | aptitude compatibility with zypper | package i | zypper-log | CLI for accessing the zypper logfile | package