柔軟なシステム構築が可能なGentoo Linux
メンテナンス性が高く、柔軟なシステム構築が可能
こんにちは。第4回を担当する青田と申します。今回はGentoo Linux上でのTOMOYO Linuxのツール、カーネルをインストールする方法や、TOMOYO Linuxで使えるカーネルの種類、またTOMOYO LinuxがGentoo Linuxに入る経緯について紹介していきます。
まずは、ほかと一線を画しているディストリビューションであるGentoo Linux(以下Gentoo)を紹介していきます。
Gentooの一番の特徴はやはりそのパッケージ管理システムでしょう。Debian、Ubuntuで使われるdebパッケージや、Fedora、CentOSで使われるrpmパッケージは基本的にディストリビュータがサポートするアーキテクチャそれぞれのためにコンパイルしたバイナリを、そのままマシンにインストールするものです。
これに対し、Gentooで使われているPortageでは原則的にコンパイルとインストールの方法を書いた「ebuildファイル」をもとに、ユーザーおのおののマシンでソースコードからコンパイルを行います。
それぞれのマシンでコンパイルを行うので、自分の好みや使うマシンに最適化されたバイナリを使うことができ、柔軟なシステムを容易に構築できます。例えば、cronひとつ取っても、dcron、fcron、vixie-cronなどから選ぶことができます。
また、どのアーキテクチャにおいても同じebuildファイルを参照してコンパイルを行うのでメンテナンス性が高くなっています。加えてPythonで書かれたPortageの移植性の高さも手伝って、*BSDにもGentooをインストールできるようになっています(Linuxでの対応状況とくらべるとまだまだですが)。
Gentoo Linuxの弱点を解決する
このように、Gentooはさまざまな環境・要求に柔軟に応えることが可能になっていますが、その特性上パッケージをひとつインストールするだけでも多くの時間を必要とすることがあります。例えば、OpenOffice.orgのような巨大なソフトではインストールするのに1日以上かかる、といった具合です。
こういった弱点を打開するため、Portageは分散コンパイルシステムのdistccや、コンパイルの結果をキャッシュするccacheといったソフトを簡単に使えるように作られています。
Portage自身にもソースコードのダウンロードをほかのパッケージのコンパイル中に行うparallel-fetchや、依存関係にないパッケージ同士を同時にコンパイルする--jobsオプションといった機能があります。さらに、前述のOpenOffice.orgやFirefoxのような巨大なソフトにはopenoffice-bin、firefox-binといったバイナリパッケージも用意されています。