ウェブサイト検索

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 2017.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 $1}' <(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 はデフォルトではインストールされません。 yumdb コマンドを使用するには、yum-utils パッケージをインストールする必要があります。

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 $1 }'

ここでエペルは REPOID です。次のコマンドを実行してリポイドを取得できます。

yum repolist

リポクエリは、YUM ベースのシステムの特定のリポジトリからインストールされているパッケージを一覧表示するもう 1 つのコマンドです。 repoquery コマンドを使用するには、yum-utils パッケージをインストールする必要があることに注意してください。

リポクエリを使用して 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

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

このコマンドはマルチバースリポジトリからパッケージを一覧表示します。

推奨読書:

  • インストール前に 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

参考文献:

  • サーバー障害
  • アスクブンツ

関連記事