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
参考文献:
- サーバー障害
- アスクブンツ