どのディストリビューションであれ、OSであれ、インストール直後の環境には必要なソフトウェアがそろっていない。必要に応じて、適宜インストールすることになる。今回はその際使用する「パッケージ管理システム」について説明するとともに、まずはCentOSでの使い方を紹介しよう。
パッケージ管理システムとは?
後からサードパーティ製のソフトウェアをインストールする作業は、パッケージ管理システムと呼ばれる機能を使って行うことが多い。Linuxや*BSDなどのUNIX系OSには複数のパッケージ管理システムが存在しているし、同じOSでも途中でパッケージ管理システムが変わっていたりする。さらに、パッケージ管理システムの対象となるのがサードパーティ製ソフトウェアだけでなく、ベースシステムやカーネルを含むケースもある。
Linuxサーバ管理者は、時間が経つにつれて、複数のディストリビューションやOSを管理せざるを得ない状態に陥る。これに対応するために、パッケージ管理システムの操作方法を知っておく必要があるし、システムに変更があればそれにも対処しなければならない。コツは、あまり深く考えずに操作方法を覚えてしまうことだ。今のパッケージ管理システムは、大体どれも似たような機能を提供しているので、いくつか操作方法を覚えておけば、ほかのディストリビューションにも対応できるだろう。
CentOSのパッケージマネージャ「yum(8)」
本連載で最大公約数的なOSとして扱っているCentOSでは、「yum(8)」と呼ばれるパッケージマネージャを使ってパッケージを管理することがほとんどだ。例えば、「tree(1)」というコマンドを使おうとした際、次のような結果が得られたとする。
![]() |
使いたいコマンドがインストールされていない |
これは、「tree(1)のパッケージがインストールされていないのでこのコマンドが使えない」ということだ。使えるようにするには、yum(8)を使ってtree(1)パッケージをインストールすればよい。yum(8)は、現在代表的なパッケージ管理システムの1つで、使い方は「yum 《サブコマンド》 《ターゲット》」である。ほかのパッケージ管理システムも同じような使い方をする物が増えているので、yum(8)の使い方を知っておけばいろいろと応用が利くだろう。
まずは、「yum search 《ターゲット》」で欲しいソフトウェアがパッケージになっているかどうかを確認する。ここでは「yum search tree」とターゲットに「tree」を指定してyum(8)コマンドを実行し、パッケージが存在しているかどうかを調べてみる。
tree(1)がパッケージになっていることがわかったので、今度は「yum install tree」と入力・実行してtree(1)パッケージをインストールする。途中で「インストールするかどうか」を問う確認が入るが、自動化したいなら「yum install -y tree」のように「-y」を指定しておけばよい。
また、あまり行わない作業ではあるが、ディスクが逼迫してきたり、セキュリティの問題だったりで、どうしてもソフトウェアを削除しなければならないケースがあるかもしれない。アンインストールは、「yum remove 《ターゲット》」で実行できる。
パッケージになっていないソフトウェアの場合は、自分でインストールしたり、ビルドしたりして利用することになる。開発版を使いたい場合や、特定のオプションを指定してビルドしたバージョンを使いたい場合は、自分で構築しなければならない。そういった必要がないなら、パッケージ管理システム経由でインストールするのが手っ取り早い。yum(8)を使えると、Red Hat Enterprise LinuxとCentOS、さらにこれらをベースとしたほかのディストリビューションでもパッケージ管理ができるようになるので、まずは覚えておいてほしいコマンドだ。
今回のおさらい
今回のおさらいは、次のとおりだ。
- サードパーティ製ソフトウェアのインストールやアンインストールには、パッケージ管理システムを利用する
- パッケージ管理システムはOSやディストリビューションごとに存在し、バージョンが変わると使うパッケージ管理システムも変わることがある
- Red Hat Enterprise Linux / CentOSでよく使われるパッケージ管理システムは「yum」
- 「yum search 《ターゲット》」で検索
- 「yum install 《ターゲット》」でインストール
- 「yum remove 《ターゲット》」でアンインストール
Red Hat Enterprise LinuxやCentOSではカーネルやベースシステムも含めてパッケージ管理システムで管理しているので、一括したシステムアップデートが可能になっている。次回はそのあたりを取り上げようと思う。