Linuxでyum listを使ったパッケージ確認方法|検索・インストール前チェック

yum listとは 2026

「このパッケージは利用可能なのか確認したい」「インストール済みのパッケージ一覧を見たい」「特定バージョンのパッケージが存在するか調べたい」——CentOSやRHEL系LinuxでパッケージをインストールするためのYUMコマンドを使う際、こうした確認作業は日常的に発生します。

yum listはこうした確認作業を効率化する基本コマンドです。この記事では、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の基本的な使い方

すべてのパッケージを表示

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件になります。

See also  Wordの保存方法まとめ|上書き保存・名前を付けて保存・自動保存の手順

yum listの応用操作

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

また、LinuxのパッケージNG管理コマンドの実践ガイドはkakiro-webでも発信しています。

See also  画像検索サイトのおすすめまとめ|類似画像検索や用途別の便利ツール

まとめ

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=リポジトリ名で特定リポジトリのみを対象にする
  • greplessと組み合わせて大量の出力を効率よく絞り込む
  • キャッシュが古い場合はyum clean all && yum makecacheで更新してから確認する
  • スクリプトではyum list installed パッケージ名の戻り値を使ってインストール状態を自動確認できる
Copied title and URL