IPSでパッケージ管理!
Image Packaging Systemとは?
今回は、OpenSolaris 2008.05の機能の中で注目すべき機能の1つである「Image Packaging System(以下IPS)」について解説します。
IPSとは、図1に示すように、フリーウェアなどのパッケージを集めたネットワークリポジトリからパッケージ管理を行うシステムのことをいいます。UbuntuをはじめとするLinuxディストリビューションでは、すでにこのようなパッケージ管理システムが提供されています。
このシステムを利用すると、ネットワークからソフトウェアパッケージをインストールしたり、更新したりすることができ、インストールやパッケージ管理の手間を省くことができます。
オペレーティングシステムのパッケージ管理は手間のかかる作業です。例えば、利用していたパッケージを更新するためには、以前使っていたパッケージを削除して新しいパッケージをインストールしたり、ライブラリの依存関係を考えたりしなければなりません。Webシステムのように、頻繁に機能拡張などのためにソフトウェアパッケージを更新する要望があると、非常に手間と労力のかかる作業になります。
例えば、従来ではAMP(Apache+MySQL+PHP)パッケージをSolarisにインストールする場合、バイナリが提供されているWebサイトに行き、必要となるライブラリやパッケージをダウンロードするか、ソースコードをダウンロードし、自力でコンパイル作業をする必要がありました。
パッケージを管理することは、ディストリビューションにとっては必要不可欠であると同時に、フリーウェアパッケージ集合を作るという点でも非常に重要です。
SVR4形式のパッケージとIPS形式のパッケージ
OpenSolaris 2008.05では、今までのSolarisのパッケージ形式であるSVR4パッケージとIPSパッケージの両方のパッケージ形式をサポートしています。
従来のSVR4形式のパッケージを、従来どおりpkgadd(1M)やpkgrm(1M)などでパッケージを削除したり、インストールしたりすることはできますが、IPSからインストールしたSVR4パッケージは、pkg(1)を使わなければなりません。ここは、OpenSolaris 2008.05を利用する点で注意しなければならない点です。
IPSパッケージ形式では、後述するFault Management Resource Identifier(以下FMRI)を用いてパッケージの依存関係を定義します。このため、リポジトリに容易にパッケージを作成したり、公開することが可能となります。
このpkg(1)とそのサブコマンドで、IPSからパッケージをインストールしたり、パッケージを更新したりすることも特徴の1つです。
デフォルトでは、利用可能なIPSリポジトリ「http://pkg.opensolaris.org:80」が登録されています。試しに、Webブラウザを起動し、利用可能なIPSリポジトリを確認してみてください。そこには、「pkg server ok」と書かれていて、パッケージの統計情報とcatalog以下に、利用可能なパッケージの一覧が表示されます。
ほかに利用可能なIPSリポジトリとしては、sunfreeware IPSリポジトリ「http://pkg.sunfreeware.com:9000」、blastwabe IPSリポジトリ「http://blastwave.network.com:10000」があり、パッケージのインストールが可能です。