Gentoo Linux
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/03/08 13:18 UTC 版)
概要
他の多数のLinuxディストリビューションと異なる点がいくつかあり、その一つに挙げられるのがインストールやアップグレードに際してローカルでソフトウェアをコンパイルすることである。その際、ユーザーはUSEフラグを使って比較的簡単にコンパイルオプションを調整することができる。また、一部のソフトウェア(Mozilla FirefoxやLibreOfficeなど)ではコンパイルオプションの調整で得られる環境への最適化を犠牲にして、導入時間の短縮などを目的として他のLinuxディストリビューションなどでみられるような予めコンパイルされたソフトウェアパッケージを導入することもできる。また、インストールの方法も特徴的である。インストールハンドブックで推奨されている方法は、インストールメディアでシステムを起動し、インストールに最低限必要なパッケージをダウンロードし、Portageを使ってシステムを構築していく、というものである。Gentoo Linuxはその「無限に近い適応性」のために、メタディストリビューションと説明されることもある[4]。マスコットキャラクターは、Larry the Cow [5]。Gentoo という名称は、ジェンツーペンギンが由来とされる。
Portage のカスタマイズ性の高さから、ChromeOSは基盤となるLinuxシステムのディストリビューションにGentoo Linuxを使用している[6]。
機能
Portage
Gentoo Linuxのパッケージ管理システムはPortageと呼ばれる。Portageでは、パッケージのインストール手順を記したebuildと呼ばれるスクリプトを参照してシステムを構築する。パッケージ管理コマンドemergeがそのスクリプトを参照し、ソースコードをダウンロード、設定、コンパイルし、所定のディレクトリにインストールを行なう。APTやRPMなどのようなシステムとは違い、バイナリからではなくソースコードから構築を行うのが大きな特徴の一つである。
ソースコードから構築するという特性を生かし、事前にUSEフラグを指定しておくことにより、必要に応じてパッケージの機能を取捨選択してコンパイルを行うことができる。このため、全体として柔軟性やカスタマイズ性が非常に高い。また、共通のバイナリパッケージを使うのではなく、CPUの特性や構築するシステムに合わせてバイナリを作成できるのでパフォーマンスも高くなる。異なるアーキテクチャでも同じebuildを使用するので、メンテナンス性、移植性も高い。
その一方、マシンや回線の性能が低い場合はソースコードのコンパイルやダウンロードに非常に時間がかかるため実用的ではない。これを補うため、2003年から2008年までGentoo Reference Platform (GRP) と呼ばれるインストール形態があった。これによりあらかじめコンパイルされたパッケージを用いてインストールを素早く行うことができる。ただし当然のことながらGRPを用いた場合には、ソースコードから構築することで生じる数々の利点を享受できない。
移植性
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も開発されている。
沿革
黎明期
Gentoo LinuxはDaniel Robbinsによって開発が始められた[7]。当初の名称はEnoch Linuxであった。プロジェクトは、予めコンパイルされたバイナリを使わずに、ハードウェアと用途に最適化されたシステムを構築できるディストリビューションを開発することを目標とした。少なくとも1つのバージョンの Enoch がリリースされている(バージョン0.75)。
Daniel RobbinsとコントリビューターはCygnus Solutionsが開発したGCCのフォークとして知られるEGCSを開発に取り入れた。その段階で、Enoch LinuxはGentoo Linuxへと名称が変更された(Gentooは最も早く泳げるペンギンに由来する)。
プロジェクトは間もなく重大なバグに悩まされることになる[8]。そこで、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ベースでの開発に戻った[9]。
Gentoo Linux 1.0は2002年3月31日にリリースされた。2004年には、Robbinsは商標を管理する非営利団体Gentoo Foundationを設立し、プロジェクトの責任者となった。その後、Robbinsはプロジェクトを去り、Funtooプロジェクトを設立している。
- ^ 無償Linuxディストリビューション Linux.com(Linux Foundation)
- ^ Linuxディストリビューション OSS Japan
- ^ 「Linux」の他の読み方についてはこちらを参照
- ^ “Gentoo Linux - About Gentoo”. Gentoo.org (2007年9月17日). 2010年8月3日閲覧。
- ^ http://www.gentoo.org/main/ja/about.xml
- ^ “The secret origins of Google's Chrome OS”. ZDNet (2013年3月6日). 2017年10月8日閲覧。
- ^ http://www.ibm.com/developerworks/jp/linux/library/l-dist1/index.html
- ^ http://www.ibm.com/developerworks/jp/linux/library/l-dist2/index.html
- ^ https://www.ibm.com/developerworks/jp/linux/library/l-dist3/index.html
- ^ “Gentoo Linux - New release strategy to provide more current install media”. Gentoo.org (2008年9月22日). 2010年6月14日閲覧。
- ^ “Gentoo Linux - Ten Years Compiling: 1999 - 2009”. Gentoo.org (2009年10月4日). 2010年6月14日閲覧。
- ^ “Gentoo LiveDVD "Crispy Belgian Waffle", FOSDEM 2017 edition”. LWN.net (2017年2月15日). 2017年10月8日閲覧。
- ^ “Chromium OS Developer Guide”. 2015年4月6日時点のオリジナルよりアーカイブ。2015年1月29日閲覧。
- ^ “Chromium Project FAQ”. 2018年6月19日時点のオリジナルよりアーカイブ。2018年6月20日閲覧。
固有名詞の分類
- Gentoo Linuxのページへのリンク