
Linuxコマンドの基本:パッケージ管理(CentOS):yumコマンド
ここでは、CentOSをはじめとするRed Hat系Linuxにおけるパッケージ管理の基礎として、yumコマンドの位置づけと使い方を紹介します。yumはrpmコマンドを基盤としながら、依存関係解決やリポジトリ問い合わせなどの機能を付与し、実務の場で広く用いられています。

RPMとrpmコマンドの限界
CentOSなどRed Hat系ディストリビューションでは、ソフトウェアはrpm(Red Hat Package Manager)形式のパッケージファイルで管理されています。rpmコマンドは、このパッケージをインストール・アンインストールする基本的機能を提供しますが、依存関係処理やリポジトリアクセスなどの高度な管理は手動で行う必要があり、現場での運用には不便です。
yumコマンドの登場
yumコマンドはrpmコマンドをラップし、次のような点で運用管理を強化します。
- リポジトリへの問い合わせによるパッケージ取得
- 依存関係の自動解決
- 確認プロンプトや簡潔な操作によるユーザビリティ向上
これにより、システム管理者は複雑なパッケージ管理を容易かつ効率的に行えるようになりました。
yumコマンドの基本構文と動作
yumコマンドは、多くの機能(インストール、更新、アンインストール、検索など)を持つため、以下のような書式でコマンドを実行します。
【書式】yum [オプション] [コマンド] [パッケージ名 …]
- オプション:挙動を制御するための追加設定(例:
-yで質問に自動的にYesと答えるなど) - コマンド:
installやupdate、removeなど、yumが実行する具体的な操作 - パッケージ名:対象とするソフトウェア名
代表的なコマンド一覧
| コマンド | 役割・詳細 | 使用例 |
|---|---|---|
install | 指定したパッケージをインストールする。依存関係も自動解決。 | $ sudo yum install httpd |
update | インストール済みパッケージを最新バージョンに更新する。 | $ sudo yum update |
remove | 指定したパッケージをアンインストールする。 | $ sudo yum remove httpd |
search | 指定したキーワードを含むパッケージを検索する。 | $ yum search httpd |
info | 指定したパッケージの詳細情報を表示する。 | $ yum info httpd |
list | 利用可能なパッケージやインストール済パッケージ一覧を表示する。 | $ yum list or $ yum list installed |
リポジトリとの連携
yumは実行時に設定済みのリポジトリへ問い合わせを行い、パッケージ情報や依存関係を自動的に取得します。そのため、コマンド実行時にはリポジトリへの接続メッセージが表示されることがあります。
リポジトリへの問い合わせ例(yum install httpd)
[root@CentOS1 ~]# yum install httpd
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
依存性の解決をしています
...(省略)...ポイント
リポジトリはパッケージが集められたオンライン上の倉庫であり、yumはそこから必要なパッケージをダウンロードし、依存関係を解決してインストールや更新を行います。
yumによる依存関係の自動解決
パッケージはしばしば「あるパッケージをインストールする前に、別のパッケージが必要」という依存関係を持ちます。yumコマンドは、この依存関係を自動的に解決し、必要なパッケージもまとめてインストール・削除します。
[root@CentOS1 ~]# yum install httpd
依存性の解決をしています。
→ トランザクションの確認を実行しています。
--> パッケージ httpd.x86_64 0:2.4.6-18.el7.centos をインストール
--> 依存性の処理をしています: httpd-tools = 2.4.6-18.el7.centos のパッケージ
...(省略)...
--> 依存性解決を終了しました。
依存性を解決しました
================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
================================================================================
インストール中:
httpd x86_64 2.4.6-18.el7.centos updates 2.7 M
依存性関連でのインストールをします:
apr x86_64 1.4.8-3.el7 base 103 k
apr-util x86_64 1.5.2-6.el7 base 92 k
httpd-tools x86_64 2.4.6-18.el7.centos updates 77 k
トランザクションの要約
================================================================================
インストール 4 パッケージ依存関係解決の例
yum install httpdを実行すると、httpdが依存するapr、apr-util、httpd-toolsなど関連パッケージも同時にインストールされます。単独のrpmコマンドではこれらを手動で用意する必要がありましたが、yumなら自動で完結します。
パッケージ削除の基本コマンド
yumコマンドでパッケージを削除するには、removeまたはeraseコマンドを使用します。
【書式】yum erase / remove <パッケージ名>
removeとeraseは同等の機能を持つ別名であり、どちらを使用しても問題ありません。
代表的な削除コマンド例
| コマンド | 役割・詳細 | 使用例 |
|---|---|---|
yum remove <パッケージ名> | 指定パッケージおよび依存するパッケージを削除 | $ yum remove httpd |
yum erase <パッケージ名> | removeと同様、指定パッケージをアンインストール | $ yum erase httpd-tools |
依存関係の自動解決による一括削除
多くのパッケージは、別のパッケージに依存しています。あるパッケージを削除する際、依存しているパッケージも同時に削除しなければ整合性が保てません。
yumは、この依存関係を自動的に解析・解決します。たとえば、httpd-toolsがhttpdに依存している場合、httpd-toolsを削除しようとすると、yumはhttpdも同時に削除する提案を行います。
依存関係解決の例
# yum erase httpd-tools
依存性の解決をしています
...(省略)...
削除中:
httpd-tools.x86_64 ...
依存性関連での削除をします:
httpd.x86_64 ...
...(省略)... このように、yumが自動で依存関係を処理してくれるため、管理者は手動で順番にパッケージを削除する手間を省くことができます。
自動応答による削除作業の簡略化
パッケージ削除の際、yumは「Is this ok [y/d/N]:」といった確認メッセージを表示します。このとき、-yオプションを付けることで、すべての問い合わせに自動的にy(Yes)で回答し、作業をスクリプト化したり手間を省くことが可能です。
自動的にyで応答する例
# yum -y erase httpd-toolsこれにより、確認なしでパッケージ削除を実行できます。
yumを使う際の注意点
- root権限が必要
インストールや削除などシステムに変更を加える操作はrootユーザまたはsudo権限が必要です。 - 確認プロンプトと
-yオプション
インストールや削除時には、「Is this ok [y/d/N]:」といった確認が入ります。-yオプションを使えば、この確認を省略して自動的にyで答えることができ、スクリプトの自動化などに便利です。
まとめ
- Red Hat系Linuxディストリビューション(例:CentOS)では、
yumコマンドを用いてパッケージのインストール・更新・削除を簡潔に行える。 yumはrpmコマンドの機能を拡張し、依存関係の自動解決やリポジトリ連携機能を提供。yum installやyum removeなどの基本コマンドを使いこなせば、日常的なサーバ運用がスムーズになる。
yumコマンドを理解し、活用することで、CentOS環境におけるソフトウェア管理が格段に容易になります。これが、パッケージ管理におけるyumの重要な役割です。
