ミラーサーバーを選択するファイルの配布ソースコードを短時間でダウンロードするために、速いミラーを選択することをお薦めします。Portageはmake.confの中のGENTOO_MIRRORS変数に指定されたミラー群を使用します。Gentooのミラー一覧から、インストール対象のマシンから物理的に最も近い一つ、もしくは複数のミラーを選択することができます(これらは高い頻度で最も高速になり得ます)。Gentooはmirrorselectという良いツールを提供しています。このツールは必要なミラーを選択するためによいユーザーインターフェースを提供できます。単純に選択可能なミラーが表示され、Spacebarを押せば、一つもしくは複数のミラーを選択できます。ebuildリポジトリを設定することです。このファイルはパッケージリポジトリを更新するときに必要になる同期情報を含んでいます(パッケージリポジトリは、Portageがソフトウェアパッケージをダウンロード、インストールする時に必要なすべての情報を含むebuildと関連ファイルを集めたものです)。リポジトリの設定は単純な数ステップでできます。最初に(それが存在しなければ)repos.confディレクトリを作成します。/mnt/gentoo/etc/portage/repos.conf次に、Portageが提供するGentooリポジトリ設定ファイルを(新規作成した)repos.confディレクトリにコピーします。/mnt/gentoo/etc/portage/repos.conf/gentoo.confエディタで覗き見するか、catコマンドを使いましょう。そのファイルは.iniフォーマットで、以下のような記述になっているはずです。4上に記載されているデフォルトのsync-uri変数は、ローテーション可能なミラーの場所を決めています。これはGentooインフラストラクチャーの帯域にかかるストレスを軽減することに役立ち、また特定のミラーがオフラインになっている場合のバックアップとなります。よって、デフォルトのURIは、ローカルのプライベートPortageミラーを使わない限り、そのままにしておくことが推奨されます。APIが役に立つでしょう。情報をコピーする新しい環境に入る前に一つだけやるべきことが残っています。それは/etc/resolv.confに記載されているDNS情報をコピーすることです。これは新しい環境に入った後でネットワークを使うために必要です。/etc/resolv.confは、そのネットワークのネームサーバーの情報を含んでいます。この情報をコピーするときは、cpコマンドに--dereferenceオプションを付与することを推奨します。これは/etc/resolv.confがシンボリックリンクのときに、シンボリックリンクをコピーするのではなく、シンボリックリンクのリンク先の実ファイルをコピーします。しないと新しい環境でシンボリックリンクが存在しないファイルを指し示すでしょう(新しい環境では、元の環境でリンク先に指定していたファイルはほぼ利用できません)。/mnt/gentoo/etc/必要なファイルシステムをマウントするもう少しで、Linuxルートは新しい場所に変わります。新しい環境を適切に動作させるために、いくつかのファイルシステムを使えるようにしなければなりません。使えるようにしなければならないファイルシステムは以下の通りです。Linuxカーネルから情報を引き出すための擬似ファイルシステムです(一見通常ファイルに見えますが、ファイルとしての実体はありません)。/sys/は/proc/同様、擬似ファイルシステムです。/proc/より構造化されており、一度は/proc/を置き換えることを目的としていました。/dev/は通常のファイルシステムです。一部はLinuxのデバイス管理機構(通常はudev)により管理されており、すべてのデバイスファイルを含んでいます。/proc/は、/mnt/gentoo/proc/にマウントされるでしょう。他の2つはbindマウントされます。後者は、例えば/mnt/gentoo/sys/は事実/sys/となります(同じファイルシステムへの2番目のエントリです)。ここで/mnt/gentoo/proc/はファイルシステムの新しいエントリ(インスタンスとも言えるでしょう)となります。/mnt/gentoo/dev注意インストールの後半で出てくるsystemdを使う場合、--make-rslaveが必要です。WarningGentoo以外のインストールメディアを使う場合、これだけでは十分ではない場合があります。いくつかのディストリビューションは/run/shm/へのシンボリックリンクとして/dev/shmを作りますが、これはchroot後に無効になってしまいます。/dev/shm新しい環境に入るようやく、すべてのパーティションが初期化され、ベース環境がインストールされました。chrootを実行して新しいインストール環境に入りましょう。これは、セッションのroot(アクセスできる最も上位レベル)を、現状のインストール環境(インストールCDもしくは他のインストールメディア)から、インストールシステム(つまり初期化されたパーティション)に変更することを意味しています。root"もしくは"chroot"の意味です。chrootは次の3ステップで実行されます。chrootコマンドによって、最上位ディレクトリを(インストールメディアの)/から(パーティションをマウントしている)/mnt/gentoo/に変更する。/etc/profileのいくつかの設定をsourceコマンドでリロードする。chroot環境であることを忘れないようするために、シェルのプロンプトを変更する。Linux環境で実行されます。ゴールには程遠いです。インストールを中断しても、インストール作業をこのステップから「再開」することができるようになっているはずです。情報をコピーするところから実行すれば、作業中の環境に再び入ります。ブートローダの問題を解決するのにもこれが役に立ちます。リポジトリのスナップショットをインストールする次に基本のebuildリポジトリのスナップショットをインストールします。このスナップショットには、インストール可能なパッケージの情報、システム管理者が選択するプロファイルの一覧、パッケージやプロファイルごとのお知らせなどをPortageに伝えるファイルが含まれます。ここで紹介するemerge-webrsyncは、HTTP/FTPプロトコル以外でのダウンロードがファイアウォールで制限されるような環境や、ネットワーク帯域を節約したい場合にお薦めです。これらの制約がなければ、この手順は省いて次のセクションに進んでも構いません。「/var/db/repos/gentoo/がない」というメッセージを出すかもしれません。これは想定内で、心配することはありません。このディレクトリは自動的に作成されます。この時点で、Portageはいくつかのアップデートが推奨されていることを通知するかもしれません。これは、stageファイルでインストールされたシステム関連のパッケージについて、より新しいバージョンが利用可能であることを示しています。今回新しいリポジトリスナップショットがインストールされたことで、Portageがそれを認識したのです。このメッセージは今のところは無視して、Gentooのインストールが完了してから対応しても問題ありません。ebuildリポジトリを最新版にアップデートできます。先のemerge-webrsyncコマンドはほぼ最新の(通常は24時間以内に作成される)スナップショットをインストールするため、このステップは本当に任意です。最新(一時間以内)のパッケージ更新があるかもしれません。--syncを実行しましょう。ebuildリポジトリ(先程emerge-webrsyncコマンドで取得したもの)をアップデートするためにrsyncプロトコルを使用します。--syncアップデートの時間を短縮するために、特定のフレームバッファもしくはシリアルコンソール等の遅いターミナルでは、--quietオプションを使うことをお薦めします。次のようなメッセージを伴う警告を出すことがあります。items.ニュース項目は、rsyncしたツリーを通じて、ユーザーに重要なメッセージを通知するためのコミュニケーション手段です。newsを使用します。eselectはGentooのアプリケーションで、システムの変更や操作に対する共通の管理インターフェースを提供します。この場合、eselectはnewsモジュールを使うことを指示されます。newsモジュールに対しては、主に3つの操作が使用されます。listを指定すると、現在有効なニュースアイテムの概要が表示されます。readを指定すると、そのニュースアイテムを読むことができます。purgeを指定すると、一度購読したニュースを削除することができます。これにより、それらのニュースを二度と目にすることはないでしょう。readニュースリーダーに関するほとんどの情報はマニュアルページを通じて得ることができます。news.eselect適切なプロファイルを選ぶプロファイルはあらゆるGentooシステムの基礎を構成します。プロファイルはUSE、CFLAGS等の重要な変数の初期値を決めるだけではありません。プロファイルは、パッケージのバージョンを決まった範囲に固定する役目を持っています。プロファイルはGentooのPortage開発者によって完全にメンテナンスされています。eselectを使えば、現状のプロファイルがわかります。profileモジュールを指定しましょう。default/linux/ia64//desktop/kde注意コマンドの出力は一例で、常に更新されています。上の例の通り、いくつかのアーキテクチャではデスクトップ向けのサブプロファイルが見られるでしょう。Warningプロファイルのアップグレードは軽々と行われるものではありません。初期プロファイルを選択する時、確実にstage3がはじめに使用していたものと同じバージョン(例えば17.0)を使用してください。新しいプロファイルのバージョンは、移行方法を含むニュース項目を通して発表されます。新しいプロファイルに移行する前に、確実にそのニュース項目を読み、説明に従ってください。ia64アーキテクチャで利用可能なプロファイルを確認後、別のプロファイルを選択できます。Linux開発向けの固有のプロファイルであり、通常のユーザーが使用するものではありません。setをアップデートするとよいでしょう。それによりベースシステムが構築されます。このステップは必須で、これによってシステムはアップデートや、stage3が構築された時やプロファイルの選択以降のUSEフラグの変更を適用できます。@worldTipフルスケールのデスクトップ環境を選択した場合、このプロセスはインストール時間を格段に長くしてしまうかもしれません。時間に追われている人は次の経験則が成り立つでしょう。setを選択する」、「もっとも一般的な@worldセットは、より少ないパッケージのアップデートですむ」。別の言い方をすると、default/linux/amd64/13.0を選択すると、パッケージのアップデートは少なくてすみます。default/linux/amd64/13.0/desktop/gnome/systemdを選択すると多くのパッケージがインストールされます。initシステムがOpenRCからsystemdに変更され、GNOMEのデスクトップ環境がインストールされるためです。USE変数を設定するUSEは、Gentooがユーザに提供する最もパワフルな変数の一つです。多くのプログラムに対して、決められた追加機能を含めたり、もしくは含めずにコンパイルすることが可能です。いくつかのプログラムはGTK+サポートもしくはQtサポートを有効にしてコンパイルできます。別のプログラムにはSSLサポートを含めたり、もしくは含めずにコンパイルすることが可能です。いくつかのプログラムはX11サポート(Xサーバー)の代わりに、フレームバッファサポート(svgalib)と共にコンパイルできます。多くのディストリビューションでは、各種のサポートを最大限含むようにコンパイルします。これはプログラムサイズと起動時間を増大させます。多くの依存関係を発生させることは言うまでもありません。Gentooでは、ユーザーはパッケージをコンパイルする時のオプションを定義できます。ここでUSEが登場します。USE変数を使って、ユーザーはコンパイルオプションにマップされるキーワードを指定します。sslキーワードはSSLをサポート可能なプログラムでSSLを有効にしてコンパイルします。-XキーワードはXサーバーのサポートを含まない(最初のマイナス記号で指定)ようにコンパイルします。-qt5は、GNOME(とGTK+)サポートを有効にして、KDE(とQt)サポートを無効にします。これにより、(もし、アーキテクチャがGNOMEをサポートしていれば)システムはGNOME向けに最大限調整されます。デフォルトのUSEの設定は、システムによって使用されるGentooプロファイルのmake.defaultsファイルに記述されています。Gentooはプロファイルをサポートするために、(複雑な)継承システムをサポートします。これにより今の段階でUSEの詳細に立ち入る必要はありません。--infoを実行してUSEで始まる行を抜き出すことです。上記の例は出力のほとんどを省略しています。変数のリストはずっとずっと長いものです。使用可能なUSEフラグの完全な記述は、/var/db/repos/gentoo/profiles/use.descにあります。/var/db/repos/gentoo/profiles/use.desclessコマンドでは、↑キーと↓キーを使ってスクロールすることができます。qを押すと終了します。例として、DVD、ALSA、CD書き込みをサポートしたKDEベースのUSE設定を示します。cdr"/etc/portage/make.confでUSEが定義されたとき、それはデフォルトのリストに追加されます(-で始まるサポートは削除されます)。デフォルトのUSE設定を無視したい、もしくはUSE設定を自身で完全に制御したいときは、make.confのUSEを-*で始めます。指定することは可能ではあるものの、推奨されません。ebuildによっては、競合やエラーが起きないようにデフォルトのUSEフラグが慎重に調整されていることがあるためです。ACCEPT_LICENSE変数の設定すべてのGentooのパッケージは、パッケージが該当するライセンスと結び付けられています。これによってユーザはソフトウェアをインストールするに先立って、特定のライセンスやライセンスのグループを指定することでソフトウェアを選択することができます。ImportantebuildのLICENSE変数はGentooの開発者やユーザにとってのガイドラインでしかありません。これは法的声明ではなく、これが現実を反映する保証はありません。したがってLICENSE変数を信用するのではなく、パッケージそのものを、あなたが使用するすべてのファイルを含めて徹底的にチェックしてください。PortageはACCEPT_LICENSE変数を使って、以前に承諾したライセンスに関してユーザに問い合わせることなく、許可するパッケージを決定します。例外はパッケージ毎に/etc/portage/package.licenseに記述することができます。フリーソフトウェアであるその他のライセンス群。変更の共有ができるすべてのライセンスのメタセット。少なくともソフトウェアのバイナリ形式での自由な再配布を認めているライセンス群。あなたの権利を取り去ろうとするライセンス契約。ACCEPT_LICENSE@FREEこれは/etc/portage/make.confを変更することで、システム全体で変えることができます。@FREE"もし必要ならば、パッケージ毎に値を上書きすることも可能です。サポートシステムとする前提で書かれています。ページを参考にしてください。ついても説明されています。Note一部のアプリケーションはGNOMEのエコシステムに強く依存しており、次いでsystemdに依存しています。GNOMEデスクトップ環境を使うかどうか自身がない場合は、あとからsystemdプロファイルに切り替えることもできます。タイムゾーンタイムゾーンを選択します。/usr/share/zoneinfo/から利用可能なタイムゾーンを探してください。それを/etc/timezoneファイルに記述しましょう。/usr/share/zoneinfo選択したタイムゾーンがEurope/Brusselsの場合は以下となります。/etc/timezone/usr/share/zoneinfo/Etc/GMT*のタイムゾーンは、その名前が期待されるゾーンを示していないため、避けましょう。GMT-8は実際にはGMT+8となります。次に、sys-libs/timezone-dataパッケージを再設定しましょう。これは/etc/timezoneを元に、/etc/localtimeをアップデートします。/etc/localtimeは、システムのCライブラリが、自身が属するタイムゾーンを知るために使われます。sys-libs/timezone-dataロケールの設定ほとんどのユーザは、一つもしくは二つのロケールを必要とします。ロケールはシステムで使用する言語を指定するだけではなく、単語のソート順や日付、時間等のルールにも使用されます。システムがサポートすべきロケールは、/etc/locale.genに記述する必要があります。States)とドイツ語(Germany)を(UTF-8のような)文字コードと共に指定しています。ロケールを少なくとも一つは有効にすることを強く勧めます。いくつかのアプリケーションはUTF-8を必要とするためです。次にlocale-genを実行します。これにより、/etc/locale.genファイルに記載されているすべてのロケールを生成します。-aを実行してください。この時点で、システム全体で有効になるロケールを設定できます。eselectをlocaleモジュールと共に使いましょう。listを実行すると、利用可能なターゲットが表示されます。実行することで、適切なロケールを設定することができます。9手動で設定する場合は、/etc/env.d/02localeを編集してください。/etc/env.d/02localeシステムのロケールをマニュアル設定するLANG="de_DE.UTF-8"LC_COLLATE="C"ロケールが設定されていることを再確認してください。しないと、後でカーネルをビルドしたり、他のソフトをインストールした時にワーニングやエラーが出ます。ここで、環境をリロードします。${PS1}"私たちは、このユーザーガイドを補完するための完全なドキュメントであるローカライゼーションガイドを作成しました。他の興味深い記事は、UTF-8を有効にするための情報であるガイドUTF-8です。