yum コマンド:使い方とオプション、yum-utils とリポジトリの確認
yum コマンドは、RHEL 系 Linux でパッケージをインストール・アップデート・削除するパッケージ管理コマンドです。AlmaLinux 9 サーバーで照会・アップデート確認のコマンドと yum-utils のツールを実際に実行してみると、yum は dnf と同じプログラムとして実行され、出力も dnf と同じでした。
下の出力にあるリポジトリ一覧、パッケージのリリース番号、インストール時刻は例の値です。
1️⃣ yum コマンドの基本的な使い方:yum と dnf
AlmaLinux 9 で yum と入力すると dnf が実行されます。/usr/bin/yum が dnf-3 につながるリンクだからです。
ls -l /usr/bin/yum /usr/bin/dnflrwxrwxrwx 1 root root 5 Oct 5 10:12 /usr/bin/dnf -> dnf-3
lrwxrwxrwx 1 root root 5 Oct 5 10:12 /usr/bin/yum -> dnf-32つのファイルはどちらも dnf-3 につながるリンクでした。そのため yum --version を実行しても dnf のバージョンが表示されます。
yum --version4.14.0
Installed: dnf-0:4.14.0-21.el9_8.alma.1.noarch at Mon Oct 5 10:12:30 2026
Built : AlmaLinux Packaging Team <packager@almalinux.org> at Fri May 1 09:30:00 2026
Installed: rpm-0:4.16.1.3-23.el9.x86_64 at Mon Oct 5 10:12:08 2026
Built : AlmaLinux Packaging Team <packager@almalinux.org> at Thu Mar 12 08:15:20 20261行目の 4.14.0 が dnf のバージョンで、その下に dnf と rpm パッケージがインストールされた時刻が続きます。rpm のバージョンも一緒に表示されるのは、yum がリポジトリから受け取ったパッケージを最終的に rpmでインストールするからです。
コマンドの基本形は、yum、オプション、コマンド、パッケージ名の順です。--help の1行目がこの形で、その下にコマンドの一覧が続きます。
yum --help | head -n 12usage: yum [options] COMMAND
List of Main Commands:
alias List or create command aliases
autoremove remove all unneeded packages that were originally installed as dependencies
check check for problems in the packagedb
check-update check for available package upgrades
clean remove cached data
deplist [deprecated, use repoquery --deplist] List package's dependencies and what packages provide them
distro-sync synchronize installed packages to the latest available versions
downgrade Downgrade a packageよく使うコマンドは表にまとめました。
| コマンド | 作業 | |
|---|---|---|
| list installed | インストール済みパッケージの一覧(パッケージ名を付けるとそのパッケージだけ) | |
| list updates | リポジトリに新しいバージョンがあるパッケージの一覧 | |
| check-update | アップデートがあるか確認(あれば終了コード 100) | |
| info | パッケージ1つのバージョン・サイズ・リポジトリ・説明 | |
| search | 名前と概要からパッケージを検索 | |
| install | パッケージのインストール(依存関係を含む) | |
| remove | パッケージの削除(erase と同じ) | |
| update | インストール済みパッケージを新しいバージョンに(upgrade と同じ) | |
| autoremove | 依存関係でインストールされ、もう不要になったパッケージを削除 | |
| makecache | リポジトリのメタデータを先に受け取ってキャッシュを作成 | |
| clean all | 受け取ったキャッシュをすべて削除 | |
| repolist | 有効なリポジトリの一覧 | |
| deplist | 依存関係と提供パッケージ(repoquery --deplist を推奨) | |
| history | インストール・削除のトランザクション履歴 |
2️⃣ yum コマンドのオプション:-y、-C、exclude、enablerepo
オプションは yum とコマンドの間に置きます。-y は質問に「はい」と答えるのでスクリプトで使い、本番サーバーで手動で update を実行するときは -y を付けずにトランザクション表を読んでから答えるほうが適切です。
| オプション | コピー | 説明 |
|---|---|---|
| -C, --cacheonly | リポジトリに接続せず、受け取ったキャッシュだけを使います。 | |
| -q, --quiet | メタデータの行などの案内を隠し、結果だけを出力します。 | |
| --showduplicates | 同じパッケージのインストール済みバージョンとリポジトリのバージョンをすべて出力します。 | |
| --exclude=PKG, -x PKG | そのパッケージを今回のコマンドから外します(kernel* のようなパターンも可)。 | |
| --enablerepo=REPO | 無効なリポジトリを今回のコマンドだけ有効にします。 | |
| --version | yum(dnf)と rpm のバージョンを出力します。 | |
| -h, --help | ヘルプを出力します。 |
| オプション | コピー | 説明 |
|---|---|---|
| -y, --assumeyes | すべての質問に「はい」と答えます。 | |
| -v, --verbose | 作業内容を詳しく出力します。 | |
| --disablerepo=REPO | 有効なリポジトリを今回のコマンドだけ無効にします。 | |
| --skip-broken | 依存関係が壊れたパッケージを飛ばして残りを進めます。 |
-C はリポジトリに接続せず、受け取ったキャッシュだけで結果を出力します。1行目にキャッシュを最後に更新した時刻が残り、2行目からが結果です。
yum -C list treeLast metadata expiration check: 0:35:03 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
tree.x86_64 1.8.0-12.el9 @baseos-q を付けると1行目が消え、結果だけが表示されます。
yum -C -q list installed treeInstalled Packages
tree.x86_64 1.8.0-12.el9 @baseos--showduplicates は、インストール済みのバージョンとリポジトリにあるバージョンを並べて出力します。
yum -C --showduplicates list libavifLast metadata expiration check: 0:38:15 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
libavif.x86_64 0.11.1-7.el9 @epel
Available Packages
libavif.x86_64 1.1.1-2.el9 epelInstalled Packages の 0.11.1 と Available Packages の 1.1.1 が同じパッケージの2つのバージョンです。リポジトリ側のバージョンのほうが新しいので、libavif はアップデートの対象です。
--exclude は今回のコマンドからそのパッケージを外します。
yum -C --exclude=libavif check-update libavif libdav1dLast metadata expiration check: 0:35:10 ago on Thu Oct 29 05:32:35 2026.
libdav1d.x86_64 1.5.4-2.el9 epel2つのパッケージを指定しましたが、libavif が外れて libdav1d だけが残りました。update に付けると、そのパッケージだけを除いてアップデートします。
3️⃣ yum のパッケージ管理とアップデートの順序
オプションを知っていても、何がインストールされていて何が新しく出たのかを先に見ないと、アップデートするパッケージは決まりません。そこでインストール済みのパッケージを確認するコマンドから見ていきます。
yum -C list installed treeInstalled Packages
tree.x86_64 1.8.0-12.el9 @baseos最後の列の @baseos は、インストールしたときに取得したリポジトリです。rpm -q で照会するとバージョンまで1行で表示されます。
rpm -q tree htop libaviftree-1.8.0-12.el9.x86_64
package htop is not installed
libavif-0.11.1-7.el9.x86_64インストールされていないパッケージは not installed の1行で終わり、終了コードは 1 です。
リポジトリに新しいバージョンが出たパッケージは list updates で確認します。
yum -C list updates libavif libdav1dLast metadata expiration check: 0:35:07 ago on Thu Oct 29 05:32:35 2026.
Available Upgrades
libavif.x86_64 1.1.1-2.el9 epel
libdav1d.x86_64 1.5.4-2.el9 epelAvailable Upgrades の下が新しいバージョンのあるパッケージです。パッケージ名を付けなければ、インストール済みのすべてが対象になります。
check-update は同じ一覧を終了コードでも知らせます。
yum -C check-update libavif libdav1d; echo $?Last metadata expiration check: 0:35:08 ago on Thu Oct 29 05:32:35 2026.
libavif.x86_64 1.1.1-2.el9 epel
libdav1d.x86_64 1.5.4-2.el9 epel
100最後の行の 100 が終了コードです。アップデートがあれば 100、なければ 0 になるので、スクリプトではこの値で判断します。
アップデートは makecache、update、autoremove の順に進めます。
yum makecachemakecache はリポジトリのメタデータを先に受け取っておきます。update が自分で受け取るので、省略してもかまいません。
yum updateupdate はインストール済みのパッケージをすべて新しいバージョンに上げ、依存関係もあわせて処理します。
yum update libavifパッケージ名を付けると、そのパッケージだけを上げます。
yum autoremoveautoremove は、依存関係で一緒にインストールされ、もう必要なくなったパッケージを削除します。update のあとに実行します。
yum update --exclude='kernel*'カーネルを除いてアップデートするには、--exclude に kernel のパターンを付けます。カーネルがアップデートされたあとは再起動しないと新しいカーネルで動きませんが、再起動が必要かどうかは yum-utils の needs-restarting で確認します。
4️⃣ yum-utils のツール:yumdownloader、repoquery、needs-restarting
AlmaLinux 9 の yum-utils は、dnf-plugins-core が提供する互換レイヤーです。コマンド名は昔の YUM 時代のままで、実行されるのは dnf プラグインです。
yum -C info yum-utilsLast metadata expiration check: 0:38:12 ago on Thu Oct 29 05:32:35 2026.
Installed Packages
Name : yum-utils
Version : 4.3.0
Release : 14.el9
Architecture : noarch
Size : 23 k
Source : dnf-plugins-core-4.3.0-14.el9.src.rpm
Repository : @System
From repo : baseos
Summary : Yum-utils CLI compatibility layer
URL : https://github.com/rpm-software-management/dnf-plugins-core
License : GPLv2+
Description : As a Yum-utils CLI compatibility layer, supplies in CLI shims for
: debuginfo-install, repograph, package-cleanup, repoclosure, repomanage,
: repoquery, reposync, repotrack, repodiff, builddep, config-manager, debug,
: download and yum-groups-manager that use new implementations using DNF.Source が dnf-plugins-core で、Summary が Yum-utils CLI compatibility layer です。インストールされていなければ [yum install yum-utils] でインストールします。
このパッケージがインストールする17個のコマンドは rpm -ql で表示されます。
rpm -ql yum-utils | grep bin//usr/bin/debuginfo-install
/usr/bin/find-repos-of-install
/usr/bin/needs-restarting
/usr/bin/package-cleanup
/usr/bin/repo-graph
/usr/bin/repoclosure
/usr/bin/repodiff
/usr/bin/repomanage
/usr/bin/repoquery
/usr/bin/reposync
/usr/bin/repotrack
/usr/bin/yum-builddep
/usr/bin/yum-config-manager
/usr/bin/yum-debug-dump
/usr/bin/yum-debug-restore
/usr/bin/yum-groups-manager
/usr/bin/yumdownloaderls -l /usr/bin/yumdownloader /usr/bin/repoquery /usr/bin/needs-restarting /usr/bin/yum-config-managerlrwxrwxrwx 1 root root 22 Mar 3 2026 /usr/bin/needs-restarting -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar 3 2026 /usr/bin/repoquery -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar 3 2026 /usr/bin/yum-config-manager -> /usr/libexec/dnf-utils
lrwxrwxrwx 1 root root 22 Mar 3 2026 /usr/bin/yumdownloader -> /usr/libexec/dnf-utilsすべて /usr/libexec/dnf-utils 1つにつながるリンクでした。よく使うツールとその役割はツリーにまとめました。
yumdownloader はパッケージファイルをインストールせず、ダウンロードだけを行います。--urls を付けると、ダウンロードするアドレスだけを出力します。
yumdownloader --urls treeLast metadata expiration check: 0:35:16 ago on Thu Oct 29 05:32:35 2026.
https://repo.almalinux.org/almalinux/9.8/BaseOS/x86_64/os/Packages/tree-1.8.0-12.el9.x86_64.rpmリポジトリのアドレスとファイル名が1行で表示されます。インターネットにつながらないサーバーに移してインストールするファイルを、このアドレスで先に受け取っておけます。
repoquery は、パッケージがインストールするファイルと依存関係を照会します。
repoquery -l treeLast metadata expiration check: 0:35:17 ago on Thu Oct 29 05:32:35 2026.
/usr/bin/tree
/usr/lib/.build-id
/usr/lib/.build-id/e0
/usr/lib/.build-id/e0/e2ec3d46003583b56979e08d437395bd0d2a07
/usr/share/doc/tree
/usr/share/doc/tree/README
/usr/share/licenses/tree
/usr/share/licenses/tree/LICENSE
/usr/share/man/man1/tree.1.gz-l はそのパッケージのファイル一覧です。実行ファイル1つと、ドキュメント、ライセンス、マニュアルが入っています。
repoquery --requires treeLast metadata expiration check: 0:35:19 ago on Thu Oct 29 05:32:35 2026.
libc.so.6(GLIBC_2.34)(64bit)
rtld(GNU_HASH)--requires は必要なライブラリです。yum deplist も同じ内容に提供パッケージまで付けて出力しますが、ヘルプに deprecated と書かれているので repoquery --deplist で代わりにします。
yum -C repoquery --deplist treeLast metadata expiration check: 0:38:17 ago on Thu Oct 29 05:32:35 2026.
package: tree-1.8.0-12.el9.x86_64
dependency: libc.so.6(GLIBC_2.34)(64bit)
provider: glibc-2.34-170.el9_8.x86_64
dependency: rtld(GNU_HASH)
provider: glibc-2.34-170.el9_8.i686
provider: glibc-2.34-170.el9_8.x86_64dependency の行が必要なもので、provider の行がそれを提供するパッケージです。
アップデート後に再起動が必要かどうかは needs-restarting -r で確認します。
needs-restarting -rNo core libraries or services have been updated since boot-up.
Reboot should not be necessary.カーネルや主要なライブラリがアップデートされたあとは、再起動が必要だという案内に変わり、終了コード 1 で終わります。
package-cleanup はオプションなしで実行すると、どの点検をするか選ぶように促す案内だけを出力します。
package-cleanuppackage-cleanup has to be executed with one of the options: --dupes, --leaves, --orphans, --problems or --cleandupes5️⃣ yum リポジトリの確認:repolist と enablerepo オプション
ツールがそろっていても、パッケージがリポジトリになければ yum は何も見つけられません。そこで、どの yum リポジトリが有効になっているかから確認します。
yum repolistrepo id repo name
appstream AlmaLinux 9 - AppStream
baseos AlmaLinux 9 - BaseOS
epel Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
extras AlmaLinux 9 - Extrasrepolist は、設定ファイルで enabled=1 のリポジトリだけを出力します。baseos と appstream がディストリビューションの標準リポジトリで、epel は別に追加したリポジトリです。
yum repolist --all | head -n 12repo id repo name status
appstream AlmaLinux 9 - AppStream enabled
appstream-debuginfo AlmaLinux 9 - AppStream - Debug disabled
appstream-source AlmaLinux 9 - AppStream - Source disabled
baseos AlmaLinux 9 - BaseOS enabled
baseos-debuginfo AlmaLinux 9 - BaseOS - Debug disabled
baseos-source AlmaLinux 9 - BaseOS - Source disabled
crb AlmaLinux 9 - CRB disabled
crb-debuginfo AlmaLinux 9 - CRB - Debug disabled
crb-source AlmaLinux 9 - CRB - Source disabled
epel Extra Packages for Enterprise Linux 9 - x enabled
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 ope enabled--all は無効なリポジトリまで status 列と一緒に出力します。crb のように disabled のリポジトリのパッケージは、そのままではインストールされません。
無効なリポジトリを今回のコマンドだけ有効にするには --enablerepo を付けます。
yum --enablerepo=crb repolistrepo id repo name
appstream AlmaLinux 9 - AppStream
baseos AlmaLinux 9 - BaseOS
crb AlmaLinux 9 - CRB
epel Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
extras AlmaLinux 9 - Extrascrb が一覧に入りました。設定ファイルはそのままなので、次のコマンドではまた外れます。リポジトリを有効のままにしておくには yum-config-managerで設定ファイルを変更します。リポジトリが有効・無効になる様子は、下のダイアグラムでコマンドボタンを押して確認できます。
EPEL のように新しいリポジトリを加える作業は、リポジトリのパッケージを1つインストールするだけで終わります。
yum install epel-releaseインストールすると /etc/yum.repos.d/ の下に epel.repo ファイルができ、repolist に epel が表示されます。
🔲 yum コマンドシミュレーター
下のシミュレーターで、yum list や check-update、repolist、yum-utils のコマンドを実際に入力して出力を確認できます。リポジトリ一覧は本文と同じ例の値で、インストール・削除・アップデートのコマンドは案内だけが表示されます。
🔢 FAQ & おすすめコンテンツ
ℹ️ 提携について
当サイトのコンテンツにはアフィリエイトリンクが含まれています。訪問者がこのリンクを通じて商品やサービスを購入すると、当サイトは販売元から手数料を受け取ります。この過程において、購入者が支払う金額(イベント割引適用で金額が下がります↓)は上昇しません。掲載されている価格・割引・在庫情報は作成時点のものであり、実際とは異なる場合がありますので、ご購入前に販売元にて最終確認をお願いいたします。商品の選定および評価は独自の基準に基づいて行われており、手数料の支払いの有無は紹介順や評価内容に影響を与えません。