目的別 yum コマンドリファレンス (CentOS/RHEL)
このチートシートは、
💡 最近の RHEL/CentOS では
yum
コマンドの主要な使い方を目的別にまとめたものです。基本的なコマンドから少し応用的な使い方までを網羅しています。
💡 最近の RHEL/CentOS では
dnf
コマンドが推奨されていますが、yum
は dnf
へのシンボリックリンクとして引き続き利用可能です。コマンド体系はほぼ共通です。🔍 パッケージの検索
システムにインストール可能なパッケージや、インストール済みパッケージを様々な条件で検索します。
目的 | コマンド | 説明 |
---|---|---|
キーワードで検索 |
| パッケージ名や概要、説明文に指定したキーワードが含まれるパッケージを検索します。部分一致で検索され、利用可能なリポジトリ全体が対象となります。 大文字・小文字は区別されません。 |
キーワードで検索 (全項目) |
| パッケージ名、概要、説明文だけでなく、URLやライセンス情報など、より広範な情報を対象にキーワード検索を行います。 |
パッケージ名で検索 (一覧表示) |
| 指定したパターンに一致するパッケージを一覧表示します。ワイルドカード (* , ? ) が利用可能です。インストール済みか、利用可能かなどの状態も表示されます。例: yum list httpd* (httpdで始まるパッケージを検索) |
インストール可能な全パッケージ一覧 |
| 現在有効なリポジトリからインストール可能なすべてのパッケージを一覧表示します。大量に出力されるため、grep などと組み合わせることが多いです。 |
インストール済みの全パッケージ一覧 |
| システムに現在インストールされているすべてのパッケージを一覧表示します。バージョン情報やリポジトリ元も確認できます。 |
ファイル名で検索 | または
| 指定したファイル(例: /usr/bin/httpd )を提供しているパッケージを検索します。特定のコマンドやライブラリがどのパッケージに含まれているか調べる際に便利です。 |
提供機能 (provides) で検索 | または
| 指定した機能 (例: webserver , perl(CGI) ) を提供しているパッケージを検索します。パッケージが提供する抽象的な機能名で検索できます。 |
ℹ️ パッケージ情報の表示
パッケージのバージョン、依存関係、説明などの詳細情報を確認します。
目的 | コマンド | 説明 |
---|---|---|
パッケージの詳細情報表示 |
| 指定したパッケージの詳細情報を表示します。バージョン、アーキテクチャ、サイズ、ライセンス、リポジトリ、概要、説明などが確認できます。インストール済み、利用可能どちらのパッケージでも表示可能です。 |
インストール済みパッケージの情報表示 |
| インストール済みのパッケージに限定して詳細情報を表示します。 |
利用可能なパッケージの情報表示 |
| まだインストールされていない、利用可能なパッケージに限定して詳細情報を表示します。 |
依存関係の表示 |
| 指定したパッケージが依存している他のパッケージやライブラリ、およびそのパッケージを提供している他のパッケージを一覧表示します。依存関係の問題を調査する際に役立ちます。 |
✅ パッケージのインストール
新しいパッケージをシステムにインストールします。
目的 | コマンド | 説明 |
---|---|---|
パッケージをインストール |
| 指定したパッケージをインストールします。依存関係のあるパッケージも自動的に解決し、一緒にインストールされます。複数パッケージを同時に指定可能です。実行前に確認プロンプトが表示されます。 |
確認なしでインストール |
| -y オプションを付けると、インストール前の確認プロンプトを省略し、自動的に「yes」と答えたものとして処理を進めます。スクリプトなどで自動化する際に便利ですが、意図しないパッケージがインストールされる可能性もあるため注意が必要です。 |
特定のバージョンをインストール |
| パッケージ名に続けてハイフンとバージョン番号、リリース番号、アーキテクチャなどを指定することで、特定のバージョンのパッケージをインストールできます。 例: yum install httpd-2.4.6-97.el7.centos |
グループパッケージをインストール |
| 関連する複数のパッケージをまとめた「グループパッケージ」をインストールします。グループ名はダブルクォーテーションで囲むことが推奨されます(スペースが含まれる場合があるため)。 例: yum groupinstall "Development Tools" |
ローカルのRPMファイルをインストール | または
| ダウンロード済みのRPMファイルを指定してインストールします。この際も、依存関係はリポジトリから自動的に解決されます。install コマンドでも同様の動作をします。 |
パッケージを再インストール |
| 既にインストールされているパッケージを再インストールします。設定ファイルなどが破損した場合の修復に役立つことがあります。-y オプションも併用可能です。 |
🔄 パッケージの更新
インストール済みのパッケージを最新バージョンに更新します。
目的 | コマンド | 説明 |
---|---|---|
システム全体のパッケージを更新 |
| インストールされているすべてのパッケージを、利用可能な最新バージョンに更新します。依存関係も考慮されます。実行前に確認プロンプトが表示されます。 |
指定したパッケージを更新 |
| 指定したパッケージのみを最新バージョンに更新します。複数指定可能です。 |
確認なしで更新 | または
| -y オプションを付けると、更新前の確認プロンプトを省略し、自動的に「yes」と答えたものとして処理を進めます。システム全体の更新をスクリプトで行う場合などに使用されます。 |
セキュリティ関連の更新のみ適用 |
| セキュリティ修正が含まれる更新のみを適用します。システムの安定性を保ちつつ、脆弱性対策を行いたい場合に有効です。 |
特定の深刻度のセキュリティ更新のみ適用 |
| 指定した深刻度 (Critical, Important, Moderate, Low) 以上のセキュリティ更新のみを適用します。より詳細なセキュリティアップデート管理が可能です。 |
更新可能なパッケージの一覧表示 |
| 現在インストールされているパッケージのうち、更新可能なものがあればその一覧を表示します。実際には更新は行いません。終了コードで更新の有無を確認できます (更新あり: 100, 更新なし: 0, エラー: 1)。 |
グループパッケージを更新 |
| 指定したグループパッケージに含まれるパッケージをまとめて更新します。 |
🕰️ パッケージのダウングレード
インストール済みのパッケージを以前のバージョンに戻します。
ダウングレードは依存関係の問題を引き起こす可能性があるため、慎重に行う必要があります。
目的 | コマンド | 説明 |
---|---|---|
パッケージをダウングレード |
| 指定したパッケージを、現在インストールされているバージョンより一つ前のバージョンにダウングレードします。リポジトリに旧バージョンが存在する必要があります。 |
特定のバージョンにダウングレード |
| install コマンドと同様に、バージョンを指定してダウングレードすることも可能です。ただし、この操作は yum history undo を使う方が安全な場合があります。 |
🗑️ パッケージの削除
不要になったパッケージをシステムから削除します。
目的 | コマンド | 説明 |
---|---|---|
パッケージを削除 | または
| 指定したパッケージを削除します。そのパッケージに依存している他のパッケージも同時に削除される場合があるため、削除されるパッケージ一覧をよく確認してください。remove と erase は同じ動作をします。 |
確認なしで削除 |
| -y オプションを付けると、削除前の確認プロンプトを省略し、自動的に「yes」と答えたものとして処理を進めます。依存関係で意図しないパッケージが削除されるリスクがあるため、特に注意が必要です。 |
グループパッケージを削除 |
| 指定したグループパッケージに含まれるパッケージをまとめて削除します。グループに含まれる必須パッケージも削除される可能性があります。 |
依存関係で不要になったパッケージを削除 |
| 他のパッケージから依存されなくなり、かつ明示的にインストールされていないパッケージ(依存関係で自動的にインストールされたパッケージなど)を検索し、削除します。ディスクスペースの節約に役立ちます。 |
特定のパッケージを依存関係ごと削除 |
| 指定したパッケージを削除し、さらにそのパッケージを削除したことによって不要になった依存パッケージも一緒に削除します。yum remove よりも強力な削除方法です。 |
💾 リポジトリの管理
パッケージの取得元であるリポジトリを管理します。
目的 | コマンド | 説明 |
---|---|---|
有効なリポジトリの一覧表示 | または
| 現在システムで有効になっているリポジトリの一覧を表示します。リポジトリID、リポジトリ名、含まれるパッケージ数が表示されます。 |
すべてのリポジトリ一覧表示 |
| 有効なリポジトリだけでなく、無効になっているリポジトリも含めたすべての一覧を表示します。 |
リポジトリ情報の詳細表示 |
| 指定したリポジトリIDの詳細情報を表示します。リポジトリ名、URL、最終更新日時、パッケージ数などが確認できます。repolist の結果からリポジトリIDを指定します。 |
特定リポジトリを一時的に有効化 |
| 通常は無効になっているリポジトリを、特定のコマンド実行時のみ一時的に有効にします。 例: yum --enablerepo=epel install mypackage (epelリポジトリを一時的に有効にしてmypackageをインストール) |
複数リポジトリを一時的に有効化 |
| カンマ区切りで複数のリポジトリIDを指定できます。ワイルドカードも使用可能です。 例: yum --enablerepo=epel,remi* update |
特定リポジトリを一時的に無効化 |
| 通常は有効になっているリポジトリを、特定のコマンド実行時のみ一時的に無効にします。特定のリポジトリを除外して更新やインストールを行いたい場合に使用します。 例: yum --disablerepo=extras update |
🧹 キャッシュの管理
yumが一時的に保存しているキャッシュデータを管理します。リポジトリ情報が古い場合や、ディスク容量を確保したい場合に実行します。
目的 | コマンド | 説明 |
---|---|---|
すべてのキャッシュを削除 |
| ダウンロードしたパッケージファイル、リポジトリのメタデータ、その他のキャッシュファイルをすべて削除します。リポジトリ関連の問題が発生した場合に試すと効果的なことがあります。 |
パッケージキャッシュを削除 |
| インストールや更新の際にダウンロードされたRPMパッケージファイル (通常 /var/cache/yum/... に保存される) のキャッシュのみを削除します。 |
メタデータキャッシュを削除 |
| リポジトリから取得したパッケージリストなどのメタデータ (XMLファイルなど) のキャッシュを削除します。次回yumコマンド実行時に再取得されます。リポジトリ情報が更新されない場合に有効です。 |
リポジトリDBキャッシュを削除 |
| SQLiteデータベース形式で保存されているリポジトリのキャッシュ情報を削除します。 |
期限切れのメタデータを削除 |
| キャッシュの有効期限が切れているメタデータのみを削除します。clean metadata より穏やかなクリーンアップです。 |
キャッシュを生成 (次回高速化) |
| すべての有効なリポジトリからメタデータをダウンロードし、キャッシュを生成します。次回の yum search や yum list などの実行が高速になります。ネットワーク帯域に余裕がある場合や、オフライン環境で事前に準備する場合に便利です。 |
高速なキャッシュを生成 |
| makecache と同様ですが、既にキャッシュが存在する場合は更新を行わず、より高速に処理を完了させます。定期的に実行するのに向いています。 |
📜 履歴の管理
yumで行われたインストール、更新、削除などのトランザクション履歴を確認し、操作の取り消しや再実行を行います。
目的 | コマンド | 説明 |
---|---|---|
トランザクション履歴の表示 | または
| yumによって実行されたトランザクション(操作)の履歴を一覧表示します。ID、実行ユーザー、日時、実行された操作、影響を受けたパッケージ数が表示されます。 |
全履歴を表示 |
| システム初期から現在までの全てのトランザクション履歴を表示します。 |
特定のトランザクションの詳細表示 |
| 指定したトランザクションIDの詳細情報を表示します。実行されたコマンドライン、トランザクションの開始・終了時刻、成功/失敗、影響を受けたパッケージとその変更内容(インストール、更新、削除など)が確認できます。 |
パッケージごとの履歴表示 |
| 指定したパッケージが関連するトランザクション履歴のみを絞り込んで表示します。 |
トランザクションの取り消し (Undo) |
| 指定したトランザクションIDの操作を取り消します。例えば、ID 10 でパッケージAをインストールした場合、yum history undo 10 を実行するとパッケージAが削除されます。更新を取り消すとダウングレード、削除を取り消すと再インストールになります。依存関係も考慮されます。 |
トランザクションの再実行 (Redo) |
| 指定したトランザクションIDの操作を再度実行します。Undoした操作を元に戻したい場合や、何らかの理由で失敗したトランザクションを再試行する場合に使用します。 |
現在の状態との差分を同期 |
| 現在のRPMデータベースの状態と、yumの履歴データベースの状態を比較し、手動でrpm コマンドなどで変更された内容をyum履歴に反映させます。 |
新しい履歴ファイルを開始 |
| 現在のRPMデータベースの状態をスナップショットとして保存し、これを基準点として新しい履歴記録を開始します。古い履歴は保持されますが、undo/redoなどは新しい履歴に対して行われます。 |
✨ その他の便利なコマンド・オプション
上記以外にも、yumには様々な便利なコマンドやオプションがあります。
目的 | コマンド / オプション | 説明 |
---|---|---|
インストール済みの全パッケージ一覧 (別形式) |
| yum list installed は検索セクションにもありますが、rpm -qa の代替としてもよく使われます。リポジトリ情報も付加される点が異なります。 |
最近インストール/更新されたパッケージ |
| 最近リポジトリに追加された、または更新されたパッケージの一覧を表示します。新しいソフトウェアやアップデートをチェックするのに便利です。 |
利用可能なグループパッケージ一覧 |
| 利用可能なすべてのパッケージグループと、インストール済みのグループを一覧表示します。「Available Environment Groups」「Available Groups」「Installed Groups」などに分類されて表示されます。 |
グループパッケージの詳細情報 |
| 指定したグループパッケージの詳細情報を表示します。グループの説明、必須パッケージ、デフォルトパッケージ、オプションパッケージの一覧が確認できます。 |
システムの依存関係チェック |
| RPMデータベースをスキャンし、依存関係の問題や重複パッケージなどの不整合がないかチェックします。問題が見つかった場合は表示されます。 |
プラグインの一覧と状態表示 |
| インストールされているyumプラグインとその状態(有効/無効)を表示します。また、yum自体のバージョン情報も表示されます。 |
ヘルプ表示 | または
| yumコマンドの基本的な使い方や、指定したサブコマンド(例: install , update )のヘルプを表示します。 |
ダウンロードのみ実行 |
| パッケージのインストールや更新を行わず、RPMファイルとその依存パッケージをダウンロードするだけです。--downloaddir で保存先を指定します。オフライン環境へのパッケージ持ち込みなどに利用できます。 (yum-plugin-downloadonly プラグインが必要) |
特定アーキテクチャのパッケージを操作 |
| パッケージ名に続けてドットとアーキテクチャ名 (例: i686 , x86_64 ) を指定することで、特定のアーキテクチャのパッケージを対象に操作できます。マルチアーキテクチャ環境で便利です。 |
エラーレベルの制御 |
| -e <レベル> (0-10) でエラー表示の詳細度を設定します (デフォルトは非表示が多い)。-q (quiet) オプションは、情報メッセージを抑制し、エラーのみを表示します。スクリプトでの利用に適しています。 |
設定ファイルの上書き確認 | オプション: --setopt=keepcache=1 / 設定ファイル: /etc/yum.conf の keepcache=1 | 通常、yumは成功したトランザクションの後、ダウンロードしたパッケージキャッシュを削除します。このオプションや設定でキャッシュを保持するように変更できます。 |
コメント