Gentoo Linux

Gentoo Linuxとは、Linuxディストリビューションの一つである。パッケージ管理システムに Portage を採用しており、プロプライエタリなソフトウェアも含んでいる。

1. 概要
-----

他の多数のLinuxディストリビューションと異なる点がいくつかあり、その一つに挙げられるのがインストールやアップグレードに際してローカルでソフトウェアをコンパイルすることである。その際、ユーザーはUSEフラグを使って比較的簡単にコンパイルオプションを調整することができる。また、一部のソフトウェアではコンパイルオプションの調整で得られる環境への最適化を犠牲にして、導入時間の短縮などを目的として他のLinuxディストリビューションなどでみられるような予めコンパイルされたソフトウェアパッケージを導入することもできる。また、インストールの方法も特徴的である。インストールハンドブックで推奨されている方法は、インストールメディアでシステムを起動し、インストールに最低限必要なパッケージをダウンロードし、Portageを使ってシステムを構築していく、というものである。Gentoo Linuxはその「無限に近い適応性」のために、メタディストリビューションと説明されることもある。マスコットキャラクターは、Larry the Cow 。Gentoo という名称は、ジェンツーペンギンが由来とされる。

Portage のカスタマイズ性の高さから、ChromeOSは基盤となるLinuxシステムのディストリビューションにGentoo Linuxを使用している。

2. 機能
-----

2.1. Portage
------------

Gentoo Linuxのパッケージ管理システムはPortageと呼ばれる。Portageでは、パッケージのインストール手順を記したebuildと呼ばれるスクリプトを参照してシステムを構築する。パッケージ管理コマンドemergeがそのスクリプトを参照し、ソースコードをダウンロード、設定、コンパイルし、所定のディレクトリにインストールを行なう。APTやRPMなどのようなシステムとは違い、バイナリからではなくソースコードから構築を行うのが大きな特徴の一つである。

ソースコードから構築するという特性を生かし、事前にUSEフラグを指定しておくことにより、必要に応じてパッケージの機能を取捨選択してコンパイルを行うことができる。このため、全体として柔軟性やカスタマイズ性が非常に高い。また、共通のバイナリパッケージを使うのではなく、CPUの特性や構築するシステムに合わせてバイナリを作成できるのでパフォーマンスも高くなる。異なるアーキテクチャでも同じebuildを使用するので、メンテナンス性、移植性も高い。

その一方、マシンや回線の性能が低い場合はソースコードのコンパイルやダウンロードに非常に時間がかかるため実用的ではない。これを補うため、2003年から2008年までGentoo Reference Platform  と呼ばれるインストール形態があった。これによりあらかじめコンパイルされたパッケージを用いてインストールを素早く行うことができる。ただし当然のことながらGRPを用いた場合には、ソースコードから構築することで生じる数々の利点を享受できない。

2.2. 移植性
--------

Gentoo Linuxはソースコードからビルドしてインストールするため、設定を追加して異なるアーキテクチャに移植するのが容易である。

元々x86用として設計されたが、Gentoo Linuxは様々なアーキテクチャに移植されている。x86 、AMD64 、DEC Alpha 、32ビットと64ビットの ARM 、HPPA 、IA-64 、32ビットと64ビットのPowerPC 、64ビットの SPARC 、そして MIPS には公式に対応している。32ビットのSPARCとSuperHのサポートは終了している。

macOSを含むBSD由来のオペレーティングシステムへの移植は、Gentoo/Altプロジェクトによって活発に開発されている。Gentoo/FreeBSDプロジェクトにはすでにFreeSBIEに基づいた作業ガイドがあり、Gentoo/NetBSD 、Gentoo/OpenBSD 、Gentoo/DragonFlyも開発されている。

3. 沿革
-----

3.1. 黎明期
--------

Gentoo LinuxはDaniel Robbinsによって開発が始められた。当初の名称はEnoch Linuxであった。プロジェクトは、予めコンパイルされたバイナリを使わずに、ハードウェアと用途に最適化されたシステムを構築できるディストリビューションを開発することを目標とした。少なくとも1つのバージョンの Enoch がリリースされている。

Daniel RobbinsとコントリビューターはCygnus Solutionsが開発したGCCのフォークとして知られるEGCSを開発に取り入れた。その段階で、Enoch LinuxはGentoo Linuxへと名称が変更された。

プロジェクトは間もなく重大なバグに悩まされることになる。そこで、RobbinsはFreeBSDをインストールし、学習を始めた。BSDのPortsシステムと出会うこととなる。それは今のGentoo Linuxと同じような、中核を含む全てのパッケージをローカルでコンパイルできるものであった。Robbinsはこのアプローチが自身がLinuxで目指したものと似ていると気づいた。そこで、BSDをその当時のLinuxと比較した。

BSDの優れた点は、Linux 2.2と比較して統合された開発チームがあり、システム全体の整合性があり、すっきりとまとまっていた。ただ、UFSを使用し、Linuxのext2と比べ堅牢だが格段に遅かった、一方、当時の Linux ディストリビューションは、個々のプロジェクトが別々に開発しているためか、システム全体としては分散的で、つぎはぎされたような状態だった。また、ファイルシステムの堅牢性が低かった。

しかしLinux 2.4が登場すると、Linux 2.2時代の問題点が解消された。ReiserFSを筆頭にext3など、パフォーマンスと堅牢性を兼ね持つ優秀なファイルシステムが登場した。RobbinsはLinuxベースでの開発に戻った。

Gentoo Linux 1.0は2002年3月31日にリリースされた。2004年には、Robbinsは商標を管理する非営利団体Gentoo Foundationを設立し、プロジェクトの責任者となった。その後、Robbinsはプロジェクトを去り、Funtooプロジェクトを設立している。

4. インストールメディア一覧
---------------

Gentoo Linuxは、ローリングリリースモデルを採用しているため、一般的なLinuxディストリビューションの「バージョン番号」にあたる概念は存在しない。ただし、ある時点でのパッケージを収集したLive DVDが定期的にリリースされており、これらには便宜上、バージョン番号が付与されている。

4.1. 通常版
--------

初期では、不定期にインストールメディアが公開されていたが、2008年8月22日を境に毎週公開されるようになった。

以降、1週間に一度ほど、新しいインストールメディアが公開されている。

4.2. 特別版
--------

Gentoo Linux10周年記念として、特別なLive DVDが2009年にリリースされた。当初は1回限りの企画であったが、新規ユーザーからの好評を受けて、2011年にアップデートされている。以降も不定期にリリースされている。



5. 対応アーキテクチャ
------------

Gentoo Linux は元々 x86 環境用に設計されたが、Linux カーネル、GCC 、Glibc や Portage の高移植性により、さまざまな環境へ移植された。アーキテクチャの表記及び順序は公式サイトの記述に準じる。



6. 派生版
------

Gentoo Linux派生版一覧に掲載されるものを記述する。



7. The Gentoo Foundation
------------------------

The Gentoo Foundationはアメリカ合衆国のニューメキシコ州で登録されている非営利団体で。現在の評議員の枠は2008年3月2日に公示された選挙によって設置された5枠。その他にも技術的な問題やポリシーをチェックする評議員が7枠ある。評議員は1年ごとに開発者の投票によって選ばれる。評議員が途中退職すると後継者は残りの評議員の投票によって選ばれる。

2007年末に認可が取り消されたが、2008年5月にニューメキシコ州がGentoo Foundationの操業を再び認めた。

8. 難易度
------

公式のインストーラーが存在しないので、インストールの難易度は最上級ともいわれる。ただ、一度インストールしてしまうと、システムを完全にアップデートすることのできる機構があるため、管理はインストール作業ほど難しくはない。管理に関しては、多くの場合、ほとんどの追加パッケージを手動ビルドしなければならない Slackwareと比べて、簡単にできる。

9. 脚注
-----

10. 外部リンク
---------

[1]
[2]
[3]

11. 関連項目
--------

Portage
ebuild
Linuxディストリビューションの比較