Fedora 36 或更高版本

Fedora 36 或更高版本

如何从特定存储库(例如“epel”)获取系统上已安装的所有 RPM 软件包的列表?

答案1

Fedora 36 或更高版本

dnf repository-packages epel list

CentOS / RHEL / Fedora 22 或更早版本

yum list installed | grep @epel

软呢帽23

dnf list installed | grep @epel

RHEL8

dnf repo-pkgs epel list installed

答案2

从 RHEL6 开始,如建议的这个 stackoverflow 答案,有一个更彻底的方法可以做到这一点yumdb

yumdb search from_repo REPOID*

repid 需要通配符。

精美印刷

如果我们要作弊并通过管道输出,那么我们也可以实现漂亮的打印效果。这是一个使用awk

yumdb search from_repo REPOID* |awk -F"\n" '{ RS=""; print $1 }'

使用egrepgrep -e

yumdb search from_repo REPOID* |egrep -v '(from_repo|^$)'

list_ALL_AVAILABLE_from_repo

列表全部可用的在指定的存储库中,执行以下操作:

repoquery -a --repoid=REPONAME

答案3

dnf repo-pkgs <repoid> list installed

笔记

上面的命令使用地下城与勇士列出从<repoid>. Noterepo-pkgs只是 的别名repository-packages

man页面:

man dnf | grep "repository-packages.*list.*installed" -A 1

进一步阅读:

man dnf

答案4

RHEL服务器7.5(麦坡)

yum repo-pkgs <repoid> list installed可用于检索与 相同的信息yumdb search from_repo <repoid>,但格式不同。

# yum help repo-pkgs
repo-pkgs <repoid> <list|info|install|remove|upgrade|reinstall*|remove-or-*> [pkg(s)]

Treat a repo. as a group of packages, so we can install/remove all of them

aliases: repo-packages, repository-pkgs, repository-packages

输出示例epel

# yumdb search from_repo epel
htop-2.2.0-1.el7.x86_64
    from_repo = epel

supervisor-3.1.4-1.el7.noarch
    from_repo = epel


# yum repo-pkgs epel list installed
Installed Packages
htop.x86_64            2.2.0-1.el7          @epel
supervisor.noarch      3.1.4-1.el7          @epel

相关内容