特定のリポジトリ(「epel」など)で、システムにインストールされているすべてのRPMパッケージのリストをどのように取得できますか?
答え1
Fedora 36以上
dnf repository-packages epel list
CentOS/RHEL/Fedora 22以下
yum list installed | grep @epel
Fedora 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 }'
使用egrep
するgrep -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
ノート
上記のコマンドは以下を使用します。DNFのエイリアスのみを<repoid>
リストします。repo-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