柔軟なシステム構築が可能なGentoo Linux

2009年7月23日(木)
青田 直大

メンテナンス性が高く、柔軟なシステム構築が可能

 こんにちは。第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といったバイナリパッケージも用意されています。

大阪大学基礎工学部情報科学科所属。2000年ごろからLinuxを使いはじめ、2006年からemacs-w3mへのパッチ投稿を皮切りにオープンソースの世界に積極的にかかわりはじめる。現在ではemacs-w3m、navi2chなど、主にEmacs関連のソフトの開発に携わっている。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています