Gentoo Linuxカーネルガイド
1. はじめに
Gentoo Linuxにおけるその他すべてと同様に、Gentooカーネルチームの理念は、ユーザに可能な限り多くの選択の自由を与えることです。emerge -s sources の出力を調べてみると、選択可能なカーネルの種類がとても多いことがわかります。このドキュメントでは、私たちがデザインするそれぞれのパッチセットのゴールに関する簡単な概要報告、およびその他利用可能なカーネルの説明をします。
2. 選択候補パート1
gentoo-sources
多くのユーザに推薦できるカーネルソースはgentoo-sourcesです。gentoo-sourcesパッケージは、Webをブラウジングしたり音楽を聴いたりしている間にコンパイルする、といったような作業のパフォーマンスを最適化するようにチューニングされたカーネルパッチを含んでいます。Gentooをはじめて使う人の多くは、自分のコンピュータで日常業務をしている間に、ソースから多くのパッケージを定期的にコンパイルするようなシステムを、おそらく一度も動かしたことがないでしょう。もしあなたがvanilla-sources(http://www.kernel.orgからリリースされたカーネルソース)を使用するなら、パッケージをコンパイルしている間に、音楽を聴いたり、マウスを動かしたりといった当たり前のことがいらだってくるかもしれません。
gentoo-sourcesはアップデートされたACPIサブシステムを含んでおり、Con Kolivasのハイパフォーマンスカーネルパッチ(ck-sources)をベースにしています。私たちはまた、grsecurity(ACLサポートを含んだセキュリティ関連のパッチセット)、EVMS(2)(簡単にパーティションのリサイズができる非常に柔軟なストレージマネジメントファイルシステム)、JFS(IBMのハイパフォーマンスファイルシステム)、最新のNTFSドライバなど、非常に多くのものをサポートしています。
gentoo-sourcesは徹底したパフォーマンスをターゲットにしているため、ゲーム目的にもふさわしいです。
以下のUSEフラグは、オプションのパッチを選択するためにセットできます:
フラグ |
説明 |
aavm |
Andrea Arcangeli版のメモリ管理機構を使うようにします |
evms2 |
EVMS 1.2.1の代わりにEVMS 2.0.1を使用します |
crypt |
暗号化パッチを適用します |
usagi |
USAGIパッチを使用し、superfreeswan、patch-int、loop-jariの各パッチを当てないようにします |
vanilla-sources
次のカーネルソースは、おそらく多くのLinuxユーザがよくご存知のvanilla-sourcesです。上で簡単に述べたように、このソースはhttp://www.kernel.org/でリリースされる公式カーネルリリースです。このソースは、(世間一般に信じられている説に反して)Linus Torvalds彼自身ではなく、Marcelo Tosattiがメンテナンスしています。Linusはカーネル開発のリーダーですが、彼はひとりしかいないので、一度カーネルが安定してしまうと、安定版カーネルブランチのメンテナンスを信頼している人に任せます。それ故に、Alan CoxはLinuxカーネル2.2系のメンテナとなり、Marcelo TosattiはLinuxカーネル2.4系のメンテナとなりました。2.4系のその他すべてのパッチセットも同様のスタイルでメンテナンスされています。Marceloはそのメンテナンスにおいて優れた仕事をし続けており、安定性、(最先端とはいかないまでも)最新のハードウェアサポートに関して頼りにされています。
vanilla-sourcesはもっとも多くテストされ、すべての考えられるカーネルソースがベースとしているので、利用可能なカーネルソースの中でおそらくもっとも安定しています。もし他のカーネルが提供する追加機能が必要ないのであれば、vanilla-sourcesがピッタリです。
gs-sources
デスクトップパフォーマンスよりも信頼性やハードウェアサポートの優先度が高いユーザには、gs-sourcesがあります。GSとはGentoo Stableを意味しています(いい感じでしょ?)。このパッチセットは、最新のハードウェアサポートを提供するためのチューニングやテストが行われており、必要なときにミッションクリティカルなサーバが動作することを保証します。このカーネルには、gentoo-sourcesで提供しているようなものすごくアグレッシブにパフォーマンスをチューニングするパッチは含まれていません。でもご安心を。みなさんが愛してやまないvanillaカーネルのすばらしいパフォーマンスは健在です。可能であれば、安定性を損なうことなくサーバにパフォーマンス関連のパッチを当てます。
このカーネルは最新のACPIサブシステム、EVMS、ECC(HA Linuxシステムで必要です)、Encrypted Loopback devices、NTFS、Win4Lin、そしてXFSをサポートします。また、IDE、ext3、シリアルネットワークカードの最新版のパッチも他のパッチと共に含まれています。
つまり、このソースはサーバや高可用性システムに最適なわけです。
オプションのパッチを選択するために、以下のUSEフラグがセットできます:
gentoo-test-sources
gentoo-test-sourcesは、多くのテストや品質評価の後gentoo-sourcesになるソースです。gentoo-sourcesのパッチは、テストでまずはじめにgentoo-test-sourcesに当てられます。最新のパッチを含んだgentoo-sourcesのパフォーマンスが欲しいなら、gentoo-test-sourcesを使いましょう。
以下のUSEフラグは、オプションのパッチを選択するためにセットできます:
フラグ |
説明 |
aavm |
Andrea Arcangeli版のメモリ管理機構を使うようにします |
evms2 |
EVMS 1.2.1の代わりにEVMS 2.0.1を使用します |
crypt |
暗号化パッチを適用します |
usagi |
USAGIパッチを使用し、superfreeswan、patch-int、loop-jariの各パッチを当てないようにします |
hardened-sources
hardened-sourcesは、安定性/セキュリティ強化と合わせてGentoo Hardenedのいろんなサブプロジェクト用のパッチを提供します。詳しくはhttps://www.gentoo.org/proj/en/hardened/をチェックしてください。
オプションのパッチを選択するために、以下のUSEフラグがセットできます:
フラグ |
説明 |
selinux |
grsecurityを取り除き、代わりにSELinuxサポートを用います |
xfs-sources
xfs-sourcesは、EVMS、ACPI、grsecurity、そして、たぶんすでに見当がついてると思いますが、最新のXFSサポートパッチを含んでいます。Gentoo LiveCDはxfs-sourcesを使っています。豆知識でした :-)
http://oss.sgi.com/projects/xfs/でXFSに関するより多くの情報が得られます。
オプションのパッチを選択する際に、以下のUSEフラグが選べます:
アーキテクチャ依存のカーネル
alpha-sources、arm-sources、hppa-sources、mips-sources、ppc-sourcesやsparc-sourcesは、その名前が意味するように、特定のアーキテクチャで最適な動作を行うようにパッチが当てられています。また、このドキュメントで述べられている他のパッチセットから、ハードウェアや主要機能のサポートの一部のパッチが含まれています。
ppc-sources-benh
ppc-sources-benh ebuildsは、ppc-sourcesカーネルに追加のハードウェアサポートを提供します。ppc-sourcesよりもちょっとだけ実験的なものです。
ppc-sources-crypto
ppc-sources-crypto ebuildsは、Gentoo Linux PPCカーネル用に、CryptoAPIサポートを提供します。CryptoAPIに関する詳細は、http://www.kerneli.org/about/で見つけることができます。
ppc-sources-dev
ppc-sources-devパッケージは、ppc-sourcesに開発用ソースを提供します。ppc-sourcesに取り込まれるすべてのパッチは、最初にppc-sources-devを経なければなりません。
compaq-sources
compaq-sourcesは、CompaqによりメンテナンスされているAlpha用のRedHatのカーネルソースを提供します。
3. 選択候補パート2
emerge -s sourcesしたときに見れる他のsys-kernel/*-sourcesの一部について、これから簡単に記述します。では、アルファベット順に見ていきましょう。
aa-sources
最初に、aa-sourcesがあります。これはAndrea Arcangeliのパッチセットです。Andreaは、多くのカーネルハッカーから素晴らしいコーダーとして知られています。彼のカーネルパッチセットには、みんなが知ってるかなりアグレッシブにチューニングされたVM(Virtual Memory)の一部があります。私が最後に見たときには、SGIのXFSファイルシステムや、Ingo Molarの0(1)スケジューラ(Linux 2.6でデフォルトのスケジューラになる予定です)も含んでいました。
User Mode Linuxサポート(詳細はUML Guideをチェックしてください)や最新のTUX Webサーバ(カーネル内部に組み込まれているWebサーバ)も提供しています。
他のカーネルでメモリマネジメントのトラブルがあるなら、aa-sourcesで解決する可能性があります。システムのLinuxのメモリマネジメントを最適化したいのであれば、aa-sourcesは間違いなく必要なカーネルです。
これらのカーネルソースのすべてのパッチに関する詳細については、http://www.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4を訪れましょう。
ac-sources
次にac-sourcesがあります。これはカーネル2.4系とは違ったAlan Coxのパッチセットです。このパッチセットには、0(1)スケジューラ、2.4 IDEシステムの最新版やカーネル2.4に取り込まれるのを待っているその他多くのパッチがあります。
このカーネルは、いくつかの追加ハードウェア用にとても優れたサポートがあることで知られています。もし安定していてvanilla-sourcesよりもちょっとだけ先進的なカーネルが必要であれば、候補となるかもしれません。
Alanがどんな取り組みをしているのか見たければ、http://www.kernel.org/pub/linux/kernel/people/alan/linux-2.4/をチェックしてください。
ck-sources
ck-sourcesはCon Kolivasのカーネルパッチセットです。このカーネルは、スループットやアプリケーションに優先順位をつけるスケジューラの能力の一部を犠牲にして、デスクトップのパフォーマンスがかなりチューニングされています。Con Kolivasは、デスクトップ使用での最適な機能の組み合わせを探すため、ベンチマークしています。Conと彼のパッチに関する詳細は、http://kernel.kolivas.orgを見てみましょう。
development-sources
development-sourcesは現在開発中のカーネルブランチです。これはLinus彼自身がメンテナンスを行うLinuxカーネルのブランチです。多くのLinuxユーザにリリースされる前に、次期安定版の機能が実装されたり、強化されたり、テストされたりするので、日々変化していきます。
もし実験的なコアシステムの変更、最新、最先端のサポートがを必要とするのであれば、これはあなたにピッタリです。しかしながら、これらは非常に実験的なカーネルソースであるということに注意してください。ミッションクリティカルなシステムで使用しないようアドバイスします。
Warning:
頻繁に変更があり、時には壊れてしまうことがあるので、Gentoo Linuxは、development-sourcesに関連した問題についてはサポートしないということに注意してください。 |
gaming-sources
gaming-sourcesはck-sourcesをベースにしているので、ハイパフォーマンスにチューニングされています。また、最新のゲームに関連したハードウェア(グラフィックカード、サウンドカードなど)のパッチを含んでいます。
ハードコアゲーマーの方は、このカーネルを選択しましょう。
mm-sources
mm-sourcesはdevelopment-sourcesをベースにしており、Andrew Mortonのパッチセットが含まれています。ext2/3 Extended Attributes、Access Control List、Page Table Sharing、the Orlov Allocator、non-linear mapping behaviourと言ったいくつか他のパッチを取り入れています。
development-sourcesでは物足りないと思う方は、mm-sourcesを試してみましょう。
mosix-sources
mosix-sourcesは、クラスタコンピューティング用のMOSIXオペレーションをサポートするパッチを当てています。クラスタは、分散環境でタスクを処理するソフトウェアを備えたノード(PC)の集合です。クラスタでは、長期に渡るタスクをこなすような知名度の高いスーパーコンピュータは必要ありません。詳しくはhttp://www.mosix.orgを見ましょう。
openmosix-sources
openmosix-sourcesは、openMosixシステム(オープンソース版MOSIXのようなもの)をサポートするパッチを当てたものです。詳細についてはhttp://www.openmosix.orgを見てください。
redhat-sources
redhat-sourcesは、その名前が示すように、RedHat Linuxカーネルのソースです。オープンソースの素晴らしさに感謝しましょう。RedHatのエンジニアがカーネルに組み込む機能を、誰でも利用することができます。Gentooでは、簡単にこのカーネルがGentooで使えるように、ebuildを提供しています。
rsbac-sources
rsbac-sourcesは、http://www.rsbac.orgが提供しているパッチを含んでいます。RSBACとは、Rule Set Based Access Controlを意味しています。これらのカーネルパッチにより、通常のUID/PIDパーミッションの代わりに、ルールベースでユーザの権限設定が可能となります。
selinux-sources
http://www.nsa.gov/selinuxが提供しているselinux-sourcesは、LSM(Linux Security Modules)やFlask Security Architectureをサポートするため、セキュリティを重視したパッチが当てられています。
usermode-sources
usermode-sourcesは、User Mode Linuxのカーネルパッチです。このカーネルは、Linux上で動くLinuxの上で動くLinuxのそのまた上で動くLinux(以下、延々と続く)の上で動くように設計されています。User Mode Linuxは、テストやバーチャルサーバを対象としています。Linuxの安定性やスケーラビリティに対する素晴らしいトリビュートの詳細については、http://user-mode-linux.sourceforge.netを見てみましょう。
UMLとGentooに関する詳細についてはGentoo UML Guideを読んでください。
win4lin-sources
win4lin-sourcesは、userland win4lin toolsをサポートするパッチを当てたものです。userland win4lin toolsは、Linux上でMicrosoft Windows (TM)アプリケーションの多くを、Windowsの環境とほとんど変わらない位のスピードで動作可能にします。詳しくはhttp://www.netraverse.com/を見てください。
wolk-sources
wolk-sourcesは、http://sourceforge.net/projects/wolkが提供するWorking Overloaded Linux Kernelが入っています。このカーネルは幅広くいろいろなパッチを多く含んでいますが、これらのパッチは細心の注意を払って取り込まれています。これにより、カーネルはどのようなバッチの組み合わせでも動作することが可能となり、コンパイル時に自由にパッチを含ませたり除いたりして、お好きな構成にすることができます。つまり、いろんなパッチのほぼすべての組み合わせで、カーネルが動作するというわけです。
もし他のカーネルソースパッケージで見当たらない特定のパッチの組み合わせが必要なら、WOLKは間違いなく試してみる価値があります。
The contents of this document are licensed under the Creative Commons - Attribution / Share Alike license.
|