「このパッケージは利用可能なのか確認したい」「インストール済みのパッケージ一覧を見たい」「特定バージョンのパッケージが存在するか調べたい」——CentOSやRHEL系LinuxでパッケージをインストールするためのYUMコマンドを使う際、こうした確認作業は日常的に発生します。
yum listはこうした確認作業を効率化する基本コマンドです。この記事では、yum listの基本的な使い方から絞り込み・リポジトリ指定・応用操作・注意点まで体系的に解説します。
yum listとは

基本概念と役割
yum listは、YUMパッケージマネージャーでパッケージの一覧を表示するコマンドです。インストール済みのパッケージ・インストール可能なパッケージ・すべてのパッケージを状態別に確認できます。
📌 この記事の手順はCentOS 7・RHEL 7系(yumを使う環境)を対象としています。CentOS 8・RHEL 8以降ではyumの後継としてdnfが標準となっていますが、同じ構文でほぼ使用できます。
YUMを使ったパッケージ管理での位置付け
YUMコマンドの主要な操作とyum listの位置付けを整理します。
| コマンド | 役割 |
|---|---|
yum list |
パッケージの一覧・状態を確認 |
yum search |
キーワードでパッケージを検索 |
yum info |
パッケージの詳細情報を表示 |
yum install |
パッケージをインストール |
yum update |
パッケージをアップデート |
yum remove |
パッケージを削除 |
利用シーン(インストール前のパッケージ確認など)
- インストール前の確認: 目的のパッケージがリポジトリで提供されているか確認する
- バージョン確認: インストール可能なバージョンを事前にチェックする
- インストール済み確認: 特定パッケージがすでに入っているかを確認する
- アップデート確認: 更新可能なパッケージの一覧を把握する
- スクリプトでの自動確認: デプロイスクリプト内でパッケージ状態を自動チェックする
yum listの基本的な使い方

すべてのパッケージを表示
yum list all の例
引数なしまたはallを指定すると、インストール済みと利用可能なすべてのパッケージを表示します。
# すべてのパッケージを表示
yum list
# allを明示的に指定(同じ動作)
yum list all
出力例:
インストール済みパッケージ
bash.x86_64 4.2.46-31.el7 @base
bind-libs.x86_64 32:9.11.4-26.P2.el7 @base
...
利用可能なパッケージ
accountsservice.x86_64 0.6.50-7.el7 base
acl.x86_64 2.2.51-15.el7 base
...
出力の各列の意味:
| 列 | 意味 | 例 |
|---|---|---|
| パッケージ名.アーキテクチャ | パッケージ名と対応アーキテクチャ | bash.x86_64 |
| バージョン | パッケージのバージョン番号 | 4.2.46-31.el7 |
| リポジトリ | 提供元リポジトリ(@付きはインストール済み) | @baseまたはbase |
yum listの出力結果の詳細な見方はこちらの記事も参考になります。
インストール済みパッケージの確認
yum list installed の例
現在システムにインストールされているパッケージのみを一覧表示します。
# インストール済みパッケージを表示
yum list installed
# pagerで読みやすく表示
yum list installed | less
# 件数を確認
yum list installed | wc -l
# 特定パッケージがインストール済みか確認
yum list installed | grep nginx
yum list installed nginx
出力例:
インストール済みパッケージ
bash.x86_64 4.2.46-31.el7 @base
curl.x86_64 7.29.0-59.el7 @base
git.x86_64 1.8.3.1-23.el7 @base
nginx.x86_64 1.16.1-3.el7 @epel
Tips: リポジトリの列に@が付いているものがインストール済みパッケージです。@baseはbaseリポジトリからインストールされたことを示します。
利用可能なパッケージの確認
yum list available の例
まだインストールしていないが、設定済みのリポジトリから入手可能なパッケージを表示します。yum list availableの詳しい使い方はこちらの記事も参考になります。
# 利用可能なパッケージを表示
yum list available
# 特定のパッケージが利用可能か確認
yum list available nginx
yum list available python*
出力例:
利用可能なパッケージ
nginx.x86_64 1:1.20.1-9.el7 epel
python3.x86_64 3.6.8-18.el7 base
python3-pip.noarch 9.0.3-8.el7 base
パッケージの検索と絞り込み

特定パッケージ名で検索
yum list の使用方法
パッケージ名を直接引数に渡すと、そのパッケージの状態(インストール済み・利用可能)を確認できます。
# 特定パッケージの状態を確認
yum list nginx
# 出力例(インストールされていない場合)
# 利用可能なパッケージ
# nginx.x86_64 1:1.20.1-9.el7 epel
# 出力例(インストール済みの場合)
# インストール済みパッケージ
# nginx.x86_64 1:1.16.1-3.el7 @epel
# Pythonなど複数バージョンがある場合
yum list python
yum list python3
# バージョンまで含めて確認
yum list httpd-2.4*
ワイルドカードで複数候補を表示
例:yum list httpd*
アスタリスク(*)をワイルドカードとして使うことで、名前の一部が一致するパッケージをまとめて表示できます。
# httpdで始まるすべてのパッケージを表示
yum list httpd*
# 出力例
# インストール済みパッケージ
# httpd.x86_64 2.4.6-97.el7 @base
# 利用可能なパッケージ
# httpd-devel.x86_64 2.4.6-97.el7 base
# httpd-manual.noarch 2.4.6-97.el7 base
# httpd-tools.x86_64 2.4.6-97.el7 base
# 前方一致
yum list php*
# 後方一致(libで終わるパッケージ)
yum list *lib
# 部分一致(postgresを含むパッケージ)
yum list *postgres*
リポジトリごとの表示
yum list –disablerepo=* –enablerepo=
特定のリポジトリのみを対象にパッケージ一覧を表示します。EPELなど追加リポジトリのパッケージのみを確認したい場合に役立ちます。
# すべてのリポジトリを無効にしてbaseのみ有効
yum list --disablerepo=* --enablerepo=base
# EPELリポジトリのみのパッケージを確認
yum list --disablerepo=* --enablerepo=epel
# 特定リポジトリで特定パッケージを確認
yum list --disablerepo=* --enablerepo=epel nginx
# 有効なリポジトリの一覧を確認してから操作
yum repolist
# 出力例:
# repo id repo name status
# base CentOS-7 - Base 10070
# epel EPEL for EL7 13545
# updates CentOS-7 - Updates 3891
注意:--disablerepo=*はすべてのリポジトリを一時的に無効にします。--enablerepoで対象リポジトリを必ず指定してください。指定を忘れるとすべてのリポジトリが無効になり、利用可能なパッケージが0件になります。
yum listの応用操作

インストール前にバージョン確認
同じパッケージで複数バージョンが存在する場合、インストール前にバージョンを確認してから指定インストールができます。
# 利用可能なバージョンをすべて表示
yum list --showduplicates nginx
# 出力例
# 利用可能なパッケージ
# nginx.x86_64 1:1.16.1-3.el7 epel
# nginx.x86_64 1:1.18.0-2.el7 epel
# nginx.x86_64 1:1.20.1-9.el7 epel
# 特定バージョンをインストール
sudo yum install nginx-1.18.0
# インストール後にバージョンを確認
yum list installed nginx
nginx --version
依存関係の確認
パッケージが持つ依存関係を確認することで、インストール時に追加されるパッケージを事前に把握できます。yumを使った依存関係の確認方法の詳細はこちらの記事も参考になります。
# 依存関係を含む詳細情報を表示
yum info nginx
# 依存するパッケージを確認
yum deplist nginx
# インストール時に追加されるパッケージを事前確認(実際にはインストールしない)
yum install --setopt=tsflags=test nginx
# または
yum install -y nginx 2>&1 | grep "インストール"
パッケージのアップデート確認
# 更新可能なパッケージを一覧表示
yum list updates
# 特定パッケージの更新があるか確認
yum list updates nginx
yum list updates httpd*
# 出力例(更新がある場合)
# 更新されたパッケージ
# nginx.x86_64 1:1.20.1-9.el7 epel
# アップデート確認のみ(実際には更新しない)
yum check-update
# 戻り値を使ったスクリプト活用
yum check-update nginx
if [ $? -eq 100 ]; then
echo "nginxのアップデートがあります"
fi
# yum check-updateの戻り値: 100=更新あり, 0=更新なし, 1=エラー
スクリプトや自動化での利用例
デプロイスクリプトや運用自動化でyum listを活用するパターンです。
#!/bin/bash
# パッケージのインストール確認スクリプト
PACKAGE="nginx"
# パッケージがインストール済みか確認
if yum list installed "$PACKAGE" &> /dev/null; then
echo "${PACKAGE}はインストール済みです"
yum list installed "$PACKAGE"
else
echo "${PACKAGE}はインストールされていません"
# 利用可能か確認
if yum list available "$PACKAGE" &> /dev/null; then
echo "${PACKAGE}はインストール可能です"
read -p "インストールしますか? (y/n): " answer
if [ "$answer" = "y" ]; then
sudo yum install -y "$PACKAGE"
fi
else
echo "${PACKAGE}はリポジトリに存在しません"
fi
fi
注意点とベストプラクティス
リポジトリの設定を正しく確認
yum listで「パッケージが見つからない」場合の多くはリポジトリの設定が原因です。
# 有効なリポジトリを確認
yum repolist
# すべてのリポジトリ(無効なものも含む)を確認
yum repolist all
# EPELリポジトリを追加する場合
sudo yum install epel-release
# リポジトリ設定ファイルを確認
ls /etc/yum.repos.d/
cat /etc/yum.repos.d/CentOS-Base.repo
出力が多い場合のフィルタリング方法
yum listの出力は数千行になることがあります。grepやlessと組み合わせて必要な情報を効率よく取得できます。yumコマンドの実践的な使い方はこちらのページも参考になります。
# grepで絞り込む
yum list installed | grep -i "python"
# lessでページネーション表示
yum list available | less
# 利用可能なパッケージ数を確認
yum list available | grep -v "^利用可能" | grep -v "^$" | wc -l
# awlで特定列のみ抽出
yum list installed | awk '{print $1, $2}' | grep "nginx"
# パッケージ名のみ抽出(アーキテクチャを除く)
yum list installed | awk '{print $1}' | sed 's/\..*//'
キャッシュ更新(yum makecache)の重要性
yumはリポジトリのメタデータをキャッシュとして保存しています。古いキャッシュを使い続けると最新のパッケージ情報が表示されません。
# キャッシュを更新してからlistを実行
sudo yum makecache
yum list available nginx
# キャッシュをクリアして再取得
sudo yum clean all
sudo yum makecache
# cleanの種類
sudo yum clean packages # ダウンロード済みパッケージのキャッシュを削除
sudo yum clean headers # ヘッダーキャッシュを削除
sudo yum clean metadata # メタデータキャッシュを削除
sudo yum clean all # すべてのキャッシュを削除(最も確実)
Tips: 「yum listで見つからないのに存在するはず」という場合は、まずsudo yum clean all && sudo yum makecacheを実行してキャッシュを更新してから再確認しましょう。
古いパッケージ情報の更新確認
# パッケージデータベースの最終更新日時を確認
yum history
# 出力例
# ID | 日時 | アクション
# 25 | 2024-05-10 14:30 | Install
# 24 | 2024-04-20 09:15 | Update
# 特定パッケージの操作履歴を確認
yum history list nginx
# リポジトリの最終同期日を確認
yum repoinfo base
まとめ
yum listはインストール前のパッケージ確認に便利
yum listはCentOS・RHEL系Linuxでパッケージの状態を素早く確認するための基本コマンドです。インストール済みパッケージの確認・利用可能なパッケージの把握・バージョン確認など、パッケージ管理のあらゆる場面で活用できます。
installed / available / all を使い分けて効率的に管理
| コマンド | 表示内容 | 主な用途 |
|---|---|---|
yum list |
すべてのパッケージ | 全体把握 |
yum list installed |
インストール済みのみ | 現在の環境確認 |
yum list available |
インストール可能なもののみ | インストール前の確認 |
yum list updates |
更新可能なもののみ | アップデート計画 |
yum list --showduplicates |
全バージョンを表示 | バージョン選択 |
検索・絞り込み・リポジトリ指定で目的のパッケージを素早く把握
- ワイルドカード(
*)で名前の一部が一致するパッケージをまとめて検索する --disablerepo=* --enablerepo=リポジトリ名で特定リポジトリのみを対象にするgrep・lessと組み合わせて大量の出力を効率よく絞り込む- キャッシュが古い場合は
yum clean all && yum makecacheで更新してから確認する - スクリプトでは
yum list installed パッケージ名の戻り値を使ってインストール状態を自動確認できる

