Gentoo installation tips and tricks/ja

Gentooはフレキシブル、かつさまざまなインストール方法をサポートしています. それら個々のインストール手順にすべてのヒントとトリックを記載することはほぼ不可能です. そのため本ドキュメントではリファレンスを目的として、これまでに投稿されたすべてのヒントとトリックを扱うことに挑戦します.

未完成です
このドキュメントはGentoo/x86のインストールに関して、さまざまなヒントとトリックを含んでいます. それらの多くはこれまで十分に議論されてきたものであり、インストール手順を補足できますが、元の手順を置き換えるものではありません.

ソフトウェアRAID
インストールCDからブートする時は適切なRAIDモジュールをロードしてください. 例えば、RAID-1の場合は以下を実行します.

ここで、対象となるディスクのパーティションタイプが (Linux native)ではなく、  (Linux raid autodetect)となっていることを確認してください. パーティションタイプは の コマンドで変更できます.

また、RAIDアレイを構成する前に、メタデバイスノードを作成する必要があります.

パーティション作成後、RAID managementのためのより進んだツールである コマンドでファイルを作成します（もちろん、インストールCDでブートした場合でも作成します）. 例えば、との上にRAID-1でミラーされたboot、swap、rootパーティションを作成する場合は、以下のようにします.

LinuxのソフトウェアRAIDドライバーは、まずメタデバイスを作成します. この進行状況はに見ることができます. まずはメタデバイスが完全に生成されるまで待ちましょう.

ここから先は、bootパーティションに、swapパーティションに、rootパーティションにを使います.

chrootを実行する直前に、全体をにコピーすることを忘れないでください.

カーネルを再コンフィグレーションするときは、適切なRAIDサポートをモジュールではなく、カーネルに"組み込む"必要があります.

追加のツールをインストールする場合、 もemergeしましょう. ここで気をつけなければならないのは、 はすべてのインストールCDで利用可能とは限らないことです. ネットワークを使用しないインストールでは、ソフトウェアRAID上にGentooをインストールできないかもしれません.

ブートローダーの設定時、もしミラーリングを使っている場合は、ミラーリング対象のすべてのディスクのMBRにインストールしなければなりません.

カーネル2.4を使用したATA RAID
まず、インストールCDを オプション付きでブートしてください. ブート後、ディレクトリを確認してください. ATA RAIDで使用可能なハードディスクそれぞれに対して、ディレクトリが存在するはずです. ここでディスク全体はと表示され、パーティションはと表示されます.

Gentooをインストールしたいデバイスファイルをメモしておいてください. 後でインストール例のを、メモしたパスで置き換えなければならないためです.

chrootする前に、を新しい環境にbindオプション付きでマウントしなければなりません.

カーネル設定時、ATA RAIDチップセットといくつかのオプションをサポートする必要があります. ポピュラーなATA RAIDシステムは、Promise FastTrack built-in RAIDで、この場合は を組み込む必要があります.

GRUBを設定する時は、まずGRUBのブートディスクを生成しなければなりません. これはあなたが想像するほど難しい作業ではありません. まずは普段どおりGRUBをインストールしますが、GRUBを実際にMBRに書き込むときは以下の手順を実行します.

の設定も必要です. これは通常のインストール手順と変わりありません. ただ、ATA RAIDデバイスを で確実に指定してください.

インストール完了後、GRUBのブートディスクからブートすると、GRUBのプロンプトが表示されるでしょう. ATA RAIDデバイスからブートするように設定します.

ここでリブートします. （同時にGRUBのブートフロッピーは取り出します）

LILOの場合は、インストール手順に従えば安全にインストールできます.

インストールCDのカーネルを使用する
もし、カーネルをあなた自身でコンパイルしたくない場合、インストールCDのカーネルをあなたのシステムにコピーすることができます. インストール手順のカーネルをコンパイルする箇所で、別のターミナル（とを同時押し）に切り替えて、インストールの最初に指定したrootのパスワードでログインしてください.

カーネルとモジュールをあなたのGentooにコピーしてください.

Gentooのブートアップ中に（インストールCDから）ロードされたすべてのモジュールを新しい環境側で設定します. chrootした環境で以下のコマンドを実行してください.

の内容が適切に更新されたことを確認しましょう.

ターミナルから離れる
多くの場合、時間がかかるコンパイル中はシステムから離れたいものです. しかし、特定のケースではこれは難しくなります. 例えば周囲に知らない人がたくさんいる公衆の環境でインストールをする場合です. このようなケースでは、コンパイルはバックグラウンドで実行して、すべてのターミナルからログオフしたくなるでしょう.

これを実現するためのいくつかの手段があります. まず最初の方法は を使うことです. インストールCDからブート後、rootパスワードを設定して、screenセッションを開始してください.

一旦、screenセッションに入った後は、すべてのインストール作業をそこで行えます. ターミナルを離れたくなった時は、とを同時に押した後、を押してください. これでscreenセッションからターミナルを"detach"することができます. これで安全にログアウトできます.

作業を再開する場合、再度rootでログインして、バックグラウンドで動作しているscreenセッションに"attach"してください.

仮にscreenが使用できなくても、別の方法でターミナルから離れることができます. 通常のインストール手順を実行中に長時間のコンパイルが始まる場合（例えば の実行時）、 を使うことで、あなたがログアウトしてもコンパイルを継続できます. このとき、忘れずにコンパイルコマンドの末尾に"&"を付けてください. そうしないとコンパイルコマンドはバックグラウンドで実行されません！ここで、あなたが現在どのディレクトリにいるのか（これは コマンドでわかります）を覚えておいてください. これは後の手順で必要です.

これでchroot環境とインストールCDのセッションから出ます（ ）. コンパイルはバックグラウンドで実行されます.

コンパイル結果を確認する場合は、（インストールCDで）rootとしてログインし、chroot環境に戻ります. そしてあなたが最後に使っていたディレクトリに戻ってください.

ここで、そのディレクトリに作られたファイルを コマンドで見てください. コンパイル結果がファイルに追加されているでしょう. そのため、もしコンパイルの進捗を確認したい場合は、 を実行して、変更を随時反映させるために を入力してください.

もし、変更をフォローすることに疲れた場合、とを押した後に、を押してください. この場合、コンパイルプロセスは終了せず、単に が終了するだけです.

ディスクの詳細テスト
ディスク全体を通して整合性（不良セクタ等）をチェックする場合、 でext2またはext3のファイルシステムを作成するときに （小文字のc）オプションを付与してください. これでディスク全体のフォーマットとリードテストを行い、不良ブロックについてはその旨マークします. もしあなたが本当にパラノイドであるならば、 とすることでディスク全体に対してリード/ライトテストを実行できます.

インストールに失敗したときの復旧方法
なんらかの理由でGentooのインストールに失敗した場合でも、全てのインストール作業を最初からやり直す必要はありません. あなたがミスをしたと思われる時点まで（もしくは手順に不備があると考える時点まで）安全に戻ることができ、その時点から違うアプローチでインストールを続けることができます.

まず最初に、chrootしたGentoo Linux環境から抜け出す必要があります. しかし全ての手順を再度実行する必要はありません. パーティションは既に作成され、使用中であるのであれば、パーティション作成はスキップすることができます. その場合、直ちにそのパーティションをにマウントできます. また、ステージの展開やの修正もスキップできるでしょう. せっかく作ったファイルを上書きしたくありませんよね.

一旦、Gentoo Linux環境にchrootした後は、異なるアプローチを取りたいポイントまですぐに進みましょう. それ自身が間違いでない限り、ブートストラップ等のステップは再実行する必要はありません.

例えば、もしあなたが間違ってを設定したと考えているのであれば、すぐにエディタを起動してを更新しましょう.

起こっている問題に対して一旦異なるアプローチを取った場合、いくつの後続ステップをやり直さなくてはならないか検討しなければなりません. もし後続ステップがあなたの変更に依存している場合、それらをやり直す必要があります.

例えば、


 * の変数を変更した場合、この変数に依存している全てのコンパイルを再実行しなければなりません.
 * を変更した場合、chroot環境から出てリブートします. 理由はに依存する後続のステップを正常に実行するためです.
 * カーネルをリコンパイルした場合、ブートローダーがそのカーネルイメージを正しくブートできるようにしなければなりません（をマウントしていることを再確認しましょう）. そしてchroot環境を出て、リブートしてください.
 * を変更した場合、chroot環境を出て、リブートしなければなりません.

ほとんどのリカバリ操作でリブートできることがわかります. 後続のインストールステップをやり直さなければならないのはいくつかの特定のケースだけです.