foreverこの出力結果はさっきより少し分かりづらいかもしれません。以降、このドキュメントでは、扱っているネットワークインターフェース名はeth0であると仮定します。プロキシを設定するプロキシを経由してインターネットにつなぐ場合には、インストール作業の中でプロキシ情報を設定する必要があります。プロキシを設定するのはとても簡単です:プロキシサーバ情報を変数に設定するだけです。ほとんどの場合、プロキシサーバのホスト名を設定するだけで十分です。ホスト名はproxy.gentoo.org、ポート番号は8080であるとしましょう。ユーザ名とパスワードをプロキシ変数に追加するhttp://username:password@proxy.gentoo.org:8080ネットワークのテストあなたのISPのDNSサーバ(/etc/resolv.confで見つかります)と、好きなウェブサイトへのpingを試してみましょう。これにより、ネットワークが正常に機能しているか、ネットワークパケットがインターネットに到達できるか、DNS名前解決が正常に機能しているか、等のことを確認できます。www.gentoo.orgこれがすべてうまくいくのなら、この章の残りの部分を読み飛ばして、インストールマニュアルの次のステップ(ディスクの準備)へ進むことができます。(PPTP用)などのツールが含まれているなら、それらを使って設定できます。お使いのインストールメディアがこれらのツールを含んでいない場合は、#手動でのネットワーク設定へ進んでください。eth0net-setupはあなたのネットワーク環境について、いくつかの質問をします。すべてに答えると、ネットワーク接続が使えるようになるはずです。上に書いた方法でネットワークをテストしてください。この章の残りを飛ばしてディスクの準備へ進みましょう。それでもネットワークが使えない場合は、#手動でのネットワーク設定へ進んでください。PPPを使うインターネットへの接続にPPPoEが必要なら、インストールCD(どのバージョンでも可)に含まれるpppが設定を楽にしてくれます。提供されるpppoe-setupスクリプトを使ってネットワークを設定しましょう。セットアップ中には、ADSLモデムに接続されたEthernetデバイスの名前、ユーザ名とパスワード、DNSサーバのIPアドレス、基本的なファイアウォールが必要かどうかが聞かれます。#pppoe-start何かがおかしいときは、etc/ppp/pap-secretsまたは/etc/ppp/chap-secretsを見てユーザ名とパスワードが正しいかダブルチェックしてください。加えて、正しいEthernetデバイスを使っているか確認してください。Ethernetデバイスが無い場合は、適切なネットワークモジュールをロードする必要があります。そのような場合には手動でのネットワーク設定へ進んでください。そこで適切なネットワークモジュールをロードする方法を説明します。すべてうまくいったら、ディスクの準備へ進みましょう。PPTPを使うPPTPサポートが必要なら、インストールCDが提供するpptpclientを使ってください。その前に、設定が正しいか確認してください。/etc/ppp/pap-secretsまたは/etc/ppp/chap-secretsを編集して、正しいユーザ名/パスワードの組み合わせを設定してください。ip>それではディスクの準備へ進みましょう。適切なネットワークモジュールをロードするインストールCDの起動時に、インストールCDはすべてのハードウェアデバイスを検出し、そのハードウェアをサポートする適切なカーネルモジュール(ドライバ)のロードを試みます。ほとんどの場合、この機能はとてもよくやってくれます。稀に、必要なカーネルモジュールが自動でロードされないこともあります。net-setupまたはpppoe-setupが失敗したという場合、ネットワークカードを起動時に見つけられなかった可能性があります。ユーザが適切なカーネルモジュールを手動でロードする必要があるかもしれません。-r`/kernel/drivers/netお使いのネットワークデバイスのためのドライバがあった場合は、modprobeでカーネルモジュールをロードしましょう。pcnet32ネットワークカードが検出されているかどうかチェックするには、ifconfigを使います。wlan0上の例では、6個のインターフェースが見つかっています。eth0がおそらく(有線の)Ethernetアダプタで、wlan0は無線のアダプタです。ネットワークカードがこれで検出できたとして、net-setupまたはpppoe-setupをもう一度試してください(今度はうまくいくはずです)。上級者のために、手動でのネットワーク設定についても説明していきます。使うと、自動でネットワーク接続情報(IPアドレス、ネットマスク、ブロードキャストアドレス、ゲートウェイ、ネームサーバ、等)を受信することができます。この機能は、DHCPサーバがネットワーク内に存在しないと(または、ISPがDHCPサービスを提供していないと)動作しません。eth0DHCPサーバが提供するホスト名とドメイン名をシステムで使うようにと、ネットワーク管理者から要求されている場合もあるでしょう。eth0これが動作すれば(インターネット上のサーバ、例えばGoogleの8.8.8.8やCloudflareの1.1.1.1に、pingしてみましょう)、設定は完了です。次に進む準備ができました。この節の残りの部分を飛ばして、ディスクの準備に進みましょう。無線接続を準備するNoteiwコマンドの対応状況はアーキテクチャによって異なるかもしれません。このコマンドが使えない場合は、net-wireless/iwパッケージが作業中のアーキテクチャにおいて利用可能であるか確かめてください。net-wireless/iwパッケージがインストールされていないと、iwコマンドを使用することはできないでしょう。無線(802.11)カードを使っている場合には、まず第一に無線の設定をする必要があります。無線カードの現在の設定を確認するためには、iwを使うことができます。MBit/sNote無線カードのデバイス名は、wlp9s0の代わりにwlan0またはra0のような名前かもしれません。linkを実行してください。ほとんどのユーザにとって、接続するのに必要な設定は、ESSID(無線ネットワーク名とも言います)と、場合によってはWEPキー、この2つだけです。0:some-passwordNote無線ネットワークがWPAまたはWPA2で設定されている場合には、wpa_supplicantを使う必要があります。Linuxでのネットワーク設定のさらなる情報については、Gentooハンドブックの無線ネットワークの章を読んでください。linkを使って、無線の設定ができたか確認してください。無線が機能したら、次節(ネットワーク用語を理解する)に示す、IPレベルのネットワークオプションの設定に進むか、先に示したnet-setupツールを使ってください。ifconfigとrouteを使うに進んでください。上記のすべてが失敗したら、ネットワークは手動で設定される必要があります。これは少しも難しくありませんが、幾ばくかのネットワーク用語と基礎的な概念の知識は必要でしょう。この章を読んだあとには、ユーザーはゲートウェイが何で、ネットマスクがなんの役に立っていて、ブロードキャストアドレスがどのように作られてなぜシステムがネームサーバーを必要とするのかがわかるでしょう。ネットワーク内部では、ホストはIPアドレス(インターネットプロトコルアドレス)によって識別されます。バージョン4)を使うときは、そのようなアドレスは0から255の間の4つの数字の組み合わせです。実際は、IPv4アドレスは32ビット(0と1の集合)からできています。2NoteIPv4の後継であるIPv6は128ビット(0と1の集合)を使っています。この章ではIPv4アドレスに焦点を合わせています。そのようなIPアドレスはすべての接続可能なネットワークが関わっている範囲で一意に定まっています。到達可能でありたいホストはどれも、唯一なIPアドレスを持たなければならないということです。ネットワークの内部と外部を区別するために、IPアドレスはネットワーク部とホスト部の2つの部分に分かれています。0の並びのあとに1の並びが続くネットマスクによって、その分かれ目は記録されています。1が位置しているIPの部分はネットワーク部で、そうでない部分はホスト部です。普通は、ネットマスクはIPアドレスとして記録されるでしょう。Host言い換えると、192.168.0.14は例のネットワークの一部ですが、192.168.1.2はそうではありません。ブロードキャストアドレスは、ネットワークと同じネットワーク部を持ち、ホスト部がすべて1であるようなIPアドレスです。同じネットワーク上にあるすべてのホストは、このIPアドレスで通信を受けられます。このアドレスは、パケットをブロードキャストするためだけに存在します。Hostインターネットに接続するためには、ネットワーク内のそれぞれのコンピュータは、どのホストがインターネット接続を共有してくれるのかを知っている必要があります。そのようなホストをゲートウェイといいます。192.168.0.1)。最初に、すべてのホストは一意にIPアドレスを持つと書きました。64.5.62.82)に変換するサービスが必要になります。このようなサービスを「ネームサービス」といいます。ネームサービスを利用するには、ネームサーバを/etc/resolv.conf内に定義しておく必要があります。ゲートウェイがネームサーバを兼ねていることもあります。ない場合には、ISPが提供するネームサーバをこのファイルに書く必要があります。195.130.130.133ifconfigとrouteを使う3つのステップでネットワークの設定ができます。ifconfigを使ってIPアドレスを割り当てるrouteを使ってゲートウェイへのルーティングを設定するネームサーバのIPアドレスを/etc/resolv.confに書いて完了IPアドレスを割り当てるには、IPアドレス、ブロードキャストアドレス、ネットマスクの情報が必要になります。uprouteを使ってルーティングの設定を行います。/etc/resolv.conf次のテンプレートを使って、ネームサーバの情報を入力してください。${NAMESERVER2}これで終わりです。インターネット上のサーバ(Googleの8.8.8.8やCloudflareの1.1.1.1など)にpingをして、ネットワークのテストを行ってください。うまくいったなら、おめでとうございます。ディスクの準備へ進んでください。Linuxの、そしてLinux一般の、Linuxファイルシステム、パーティション、ブロックデバイスを含めた、ディスク中心の考え方について詳しく見てみましょう。Linuxインストールのためのパーティションとファイルシステムを構築できるようになります。ブロックデバイスについて見ていきます。有名なブロックデバイスはおそらく、Linuxシステム上で1番目のドライブを表す、/dev/sdaでしょう。ATAドライブは/dev/sd*と名付けられます。新しいlibataフレームワークがカーネルに組み込まれていれば、IDEデバイスも/dev/sd*と名付けられます。古いデバイスフレームワークを使っていれば、1番目のIDEドライブは/dev/hdaになるでしょう。上のブロックデバイスは、ディスクへの抽象的なインターフェースを表しています。ユーザープログラムはこれらのブロックデバイスを用いて、デバイスがIDE、SCSI、もしくは他のものであるかどうかを心配することなしにディスクと通信することができます。プログラムは容易にディスク上の記憶領域を、ランダムアクセスできる512バイトごとの連続領域としてアドレッシングできます。help):wファイルシステムを作成するはじめにパーティションが作成できたら、その上にファイルシステムを作成します。次の節ではLinuxがサポートする各種ファイルシステムを紹介します。どのファイルシステムを使うかをすでに決めているなら、パーティションにファイルシステムを適用するへ進みましょう。なければ、次の節を読んで利用可能なファイルシステムについて知るのがよいでしょう。ファイルシステム利用可能なファイルシステムは複数あります。そのうちいくつかはアーキテクチャppc64上で安定して動作するとされています--重要なパーティションに実験的なファイルシステムを選択するときは、事前にファイルシステムのサポート状況を十分に知っておくことを推奨します。サブボリューム、RAIDの統合など、多くの先進機能を提供する次世代のファイルシステムです。いくつかのディストリビューションはこれをすぐに使えるオプションとして提供し始めていますが、未だ製品に使える状態ではありません。ファイルシステムが壊れたという報告はよくあります。開発者はユーザーに、安全のため最新のカーネルバージョンを使うようしきりに促しています。古いカーネルには既知の問題があるからです。この状況は何年も続いており、事態が変わってきたと判断するには早すぎます。問題への修正が古いカーネルにバックポートされることは滅多にありません。このファイルシステムを使う際は十分注意を払うようにしてください。ext2試練を受けた本当のLinuxファイルシステムですが、メタデータジャーナリングがないため、起動時に行われる毎回のext2ファイルシステムチェックは時間のかかるものになります。今ではジャーナルの効く新世代の、整合性を非常に素早くチェックできるファイルシステムの選択肢が数多くありますから、一般的にはそちらのほうが、ジャーナルの効かない対抗馬より好まれます。ジャーナルの効くファイルシステムは、システム起動の際たまたまファイルシステムに不整合があった場合の長い遅延を防いでくれます。dataジャーナリングといった強力なジャーナリングモードに加え、高速な修復のためのメタデータジャーナリングをサポートします。HTreeインデックスによって、ほぼすべての状況で高いパフォーマンスが可能になります。優れた信頼できるファイルシステムです。新機能、パフォーマンスの向上と、ディスク上でのフォーマットの適度な変更による、サイズ制限の撤廃を提供します。ボリュームは1EBまで広げることができ、最大のファイルサイズは16TBです。extentを使い、大きなファイルでのパフォーマンスを向上し、断片化を減らしています。ext4は他にもより洗練されたアロケーションアルゴリズム(遅延割当てと複数ブロック割当て)を提供し、ファイルシステムドライバーに、ディスク上のデータのレイアウトを最適化するより多くの方法を与えています。推奨される、全目的、全プラットフォームのファイルシステムです。Systemはもともと、SamsungによってNANDフラッシュメモリで利用するために作られました。2016年Q2現在、このファイルシステムはまだ未熟なものと思われますが、GentooをmicroSDカードやUSBスティックや他のフラッシュベースの記憶装置にインストールする際にはすばらしい選択でしょう。JFSIBMの高パフォーマンスジャーナリングファイルシステムです。JFSは軽量、高速かつ信頼できる、B+木ベースのファイルシステムで、様々な条件で良いパフォーマンスが出ます。ReiserFSB+木ベースのジャーナルが有効なファイルシステムで、全体的に良いパフォーマンスが出ます。大量の小さなファイルを扱う際は、CPUサイクルを多く消費するものの、高いパフォーマンスを得ることができます。ReiserFSは他のファイルシステムと比べるとあまり保守されていないように思われます。XFSメタデータジャーナリングのあるファイルシステムで、堅牢な機能セットを持ち、スケーラビリティに最適化されています。XFSはどうやら、様々なハードウェアの問題に対してはあまり寛大ではないようです。vfat別名FAT32。Linuxでサポートされていますが、いかなるパーミッションの設定もサポートされていません。Windows)との相互運用性のために使われていますが、いくつかのシステムファームウェア(たとえばUEFI)でも必要になります。Windowsのフラッグシップファイルシステムです。上記のvfatと同様、BSDやLinuxが正しく動作するために必要なパーミッション設定や拡張属性を保持しないため、ルートファイルシステムとして使うことはできません。Windowsとの相互運用のためにのみ使うべきです(「のみ」の強調に注意してください)。ext2、ext3、ext4を(8GB以下の)小さいパーティションに使用するときは、十分なinode数を確保できるように適切なオプションを指定してファイルシステムを作成する必要があります。(mkfs.ext2)アプリケーションは、「inodeあたりのバイト数」を指定することで、ファイルシステムが持つべきinode数を計算することができます。小さいパーティションでは、計算されたinode数よりも大きい値を設定するとよいでしょう。/dev/<device>上のコマンドは通常では、「inodeあたりのバイト数」を16kBから4kBに減らすので、ファイルシステムに4倍のinode数を確保できます。/dev/<device>パーティションにファイルシステムを適用するパーティションまたはボリュームの上にファイルシステムを作成するには、ファイルシステムごとに異なるユーザースペースのユーティリティが利用可能です。/dev/sda3それでは、新しく作成したパーティション(または論理ボリューム)にファイルシステムを作成しましょう。/dev/sda2上述のコマンドで、スワップを作成して有効化しましょう。ルートパーティションのマウントパーティションが初期化され、ファイルシステムを格納したので、それらのパーティションをマウントする時です。コマンドを使用しますが、作成されたすべてのパーティションに必要なマウントディレクトリを作成することを忘れないでください。rootパーティションをマウントします。/mnt/gentoo/tmp/var/tmpについても同様です。ファイルシステム(仮想的なカーネルとのインターフェース)が、他のカーネル擬似ファイルシステムと同様にマウントされますが、まず最初は、Gentooインストールファイルをインストールします。インストールする前に、日付と時刻が正しく設定されていることを確認するといいでしょう。時刻が正しく設定されていないと、おかしな結果を導くかもしれません。ベースシステムのファイルは、タイムスタンプを正確に保ったまま展開されるべきです。コマンドを実行して、現在の日付と時刻が正しいか確認してください。2016表示された日時が間違っていたら、以下に示す方法に従って、自動または手動で更新してください。Noteリアルタイムクロック(RTC)を搭載していないマザーボードでは、自動的にシステム時刻を時刻サーバと同期するように設定するべきでしょう。これはRTCを搭載しているけれど、バッテリーがだめになってしまったシステムについてもいえます。パッケージを通して利用可能です)が含まれています。時刻サーバを指定した設定ファイルも含まれています。時刻と自動で同期することができます。この方法はネットワーク設定を必要とし、アーキテクチャによっては利用できないかもしれません。Warning自動時刻同期によって犠牲になるものもあります。ntp.org)に明らかにされます。プライバシーが心配なユーザーは、下記の方法でシステム時刻を設定する前に、このことを理解しておくべきです。コマンドはシステム時刻を手動設定するのにも使えます。MMDDhhmmYYYY(月(MM)、日(DD)、時(hh)、分(mm)、年(YYYY))という形式で日時を更新してください。時刻を設定することが推奨されます。タイムゾーンはインストール中にあとで設定します。タイムゾーンを設定すると、時刻の表示がローカル時刻に切り替わります。13時16分に設定するには以下のようにします。(32ビットと64ビット)ベースとなるtarballを適切に選ぶことで、この後に続くインストールプロセスの相当な時間を短縮できます。適切なプロファイルを選ぶで効果があります。lineを減らします。tarballは64ビットのライブラリを使えるときはそれを使用し、互換性を必要とする場合は32ビットのライブラリを使用します。これはインストールされるほとんどのソフトにとってすばらしい選択肢となります。tarballをダウンロードしなければなりません。ballを選択すべきではありません。これらは特定のソフトウェアもしくはハードウェアのみに必要です。(64ビットのみ)システムのベースとして非multilibのtarballを選択することで、完全な64ビット環境を構築できます。これは事実上、multilibプロファイルへの変更を(可能ではありますが)困難にします。非mutilibを必要とする明確な理由がなく、単にGentooを使いたいというケースでは、非multilibを選択すべきではありません。developersを身震いさせるでしょう)。これは気の弱い人への警告ではなく、このガイドの範囲外になるということです。ダウンロードするルートファイルシステムがマウントされている場所、Gentooのマウントポイント(おそらく/mnt/gentoo)に移動してください。tarballをダウンロードするのに必要なたった1つのツールが、ウェブブラウザです。グラフィカルブラウザ完全なグラフィカルウェブブラウザがある環境を使っているひとには、stageファイルのURLをメインウェブサイトのダウンロードセクションからコピーするのに何の問題も無いでしょう。tarballをダウンロードします。<PASTED_STAGE_URL>コマンドラインブラウザ伝統的な読者や'古参'のGentooユーザで、コマンドラインのみで作業をする人たちは、グラフィカル環境を必要としないメニュー形式のブラウザであるlinksを使うほうを好むかもしれません。stageをダウンロードするために、Gentooミラーリストに飛んでください。https://www.gentoo.org/downloads/mirrors/linksでHTTPプロキシを使うには、-http-proxyオプションにプロキシのURLを渡してください。https://www.gentoo.org/downloads/mirrors/linksに似たlynxというブラウザもあります。linksと同じくグラフィカル環境を必要としませんが、メニューはありません。https://www.gentoo.org/downloads/mirrors/プロキシを定義する必要があるならば、http_proxyやftp_proxy変数をexportしてください。ftp_proxy="http://proxy.server.com:port"ミラーリストから、近くのミラーを選んでください。通常はHTTPミラーで十分ですが、他のプロトコルも使えます。ディレクトリに移動してください。入手可能なすべてのstageファイルが列挙されています。ファイルは、サブアーキテクチャにちなんだ名前のサブティレクトリの中にあることもあります。ファイルを選び、dを押してダウンロードしてください。tarballのコンテンツが正当か確認することができます。興味のあるひとは次節へ進んでください。展開する節へすぐに進むことができます。圧縮で提供されています。MinimalインストールCDのときと同じく、stageファイルを検証して確認するためのファイルもダウンロードすることができます。これらの手順は飛ばしてもかまいませんが、ダウンロードしたファイルの妥当性を気にするユーザのためにこれらのファイルが提供されています。tarball内のファイル一覧を含む.CONTENTSファイル。ファイルの各種アルゴリズムでのチェックサムを含む.DIGESTSファイル。.DIGESTSと同様にstageファイルの各種アルゴリズムでのチェックサムを含み、それがGentooプロジェクトから提供されたものであることを保証するために電子署名された.DIGESTS.ascファイル。opensslを使って、その出力を.DIGESTSや.DIGESTS.ascファイルに含まれるチェックサムと比較してください。SHA512チェックサムを検証するには以下を入力します。stage3-ppc64-<release>.tar.?(bz2|xz)sha512sumコマンドを使う方法もあります。stage3-ppc64-<release>.tar.?(bz2|xz)Whirlpoolチェックサムを検証する場合は以下を入力します。stage3-ppc64-<release>.tar.?(bz2|xz)これらのコマンドの出力を.DIGESTS(.asc)ファイルに記録されている値と比較してください。これらの値は合致している必要があります。合致していないのなら、ダウンロードしたファイルか、ダイジェストファイルが壊れているかもしれません。展開するここで、ダウンロードしたstageを解凍しましょう。--numeric-owner同じオプション(xpfと--xattrs-include='*.*')が使われていることに留意してください。xは展開(extract)を示し、pはパーミッションを保持(preserve)すること、fは処理対象が標準入力ではなくファイル(file)であることを示しています。--xattrs-include='*.*'は、アーカイブに保存されている拡張属性をすべての名前空間について保持し含めることを示しています。最後の--numeric-ownerは、たとえ冒険的なユーザが公式Gentooインストールメディアを使わずに作業をしている場合であっても、tarballから展開されるファイルのユーザIDとグループIDがGentooリリースエンジニアリングチームの意図通りに保たれることを、確実にするためのものです。これでステージファイルは展開されました。この続きはコンパイルオプションを設定するで。コンパイルオプションを設定するはじめにGentooを最適化するために、Portage(Gentooの公式なパッケージマネージャ)の挙動に影響するいくつかの変数を設定できます。これらの変数はすべて環境変数として(exportを使って)設定できますが、この場合は永続的なものではありません。設定を保存するために、Portageは設定ファイルとして/etc/portage/make.confを読み込みます。注意/mnt/gentoo/usr/share/portage/config/make.conf.exampleに、すべての利用可能な変数のリストが、コメント付きで記載されています。Gentooのインストールを成功させるためには、以降で示す変数だけは設定する必要があります。これから詳しく見ていく最適化変数を設定するために、エディタ(このガイドではnanoを使います)を起動してください。/mnt/gentoo/etc/portage/make.confmake.conf.exampleファイルを読めば、記述形式は分かるでしょう。コメント行は"#"で始まり、他の行は「変数="内容"」の形式で変数を定義します。これらの変数のうちのいくつかについてこれから見ていきます。CコンパイラとC++コンパイラのための最適化フラグを定義します。この2つの変数は通常ここで定義されますが、真に最高のパフォーマンスを発揮するためには、このフラグはプログラム毎に別々に設定する必要があるでしょう。すべてのプログラムは異なるからです。それでは管理が大変なので、make.confファイルでこれらのフラグを定義します。make.confでは、一般にシステムの応答が速くなるように最適化フラグを設定するべきです。この変数に実験的な設定を書かないでください。過剰な最適化はプログラムの挙動をおかしくすることがあり、クラッシュや誤動作の元となります。ここではすべての最適化オプションを説明することはしません。Linuxシステムでのみ使えます)を読んでください。make.conf.exampleファイルにはたくさんの設定例と情報が含まれているので、これを読むこともお忘れなく。最初の設定は-march=または-mtune=フラグです。これはターゲットアーキテクチャの名前を指定します。可能な選択肢はmake.conf.exampleファイル内にコメントとして書かれています。nativeを指定すると、コンパイラは(Gentooをインストールしようとしている)現在のシステムのアーキテクチャをターゲットとして選択してくれるので、よく使われます。ふたつめの設定は-Oフラグ(ゼロではなく大文字のオー)です。これはgcc最適化クラスフラグを指定します。可能なクラスは、s(サイズ最適化)、0(ゼロ、最適化無し)、1、2、3(速度最適化)です。速度最適化については、各クラスは1段階前のクラスが持つものと同じフラグに加えて、追加のフラグを持ちます。-O2は推奨されるデフォルト設定です。-O3をシステム全体で使うと問題を起こすことが知られているので、-O2にとどめることをおすすめします。他によく使われる最適化フラグには-pipeがあります。これは、コンパイルステージ間での連絡方法として、一時ファイルではなくパイプを使うよう指定します。生成されるコードには影響しませんが、より多くのメモリを使うようになります。メモリの少ないシステムでは、gccが強制終了するかもしれません。そのような場合には、このフラグは使わないでください。-fomit-frame-pointerを使うと、必要の無い場合にはフレームポインタをレジスタに保持しなくなります。これはアプリケーションのデバッグ時に深刻な影響を与えるかもしれません。CFLAGSとCXXFLAGS変数を定義するときには、最適化フラグは1つの文字列として結合してください。stage3アーカイブから解凍したデフォルト値で十分でしょう。CFLAGSの記事のほうがもっと実践的な場所かもしれません。MAKEOPTSMAKEOPTS変数は、パッケージのインストール時にどれだけ並行してコンパルを走らせるかを定義します。CPU数(コア数)プラス1を選択するのがよい選択とされていますが、ガイドラインは常に最良とは限りません。make.confのMAKEOPTSの設定例MAKEOPTS="-j2"よーい、ドン!好みの設定に合わせて/mnt/gentoo/etc/portage/make.confを変更し、保存してください。nanoではCtrl+Xで保存できます。それではGentooベースシステムのインストールに進んでください。ミラーサーバーを選択するファイルの配布ソースコードを短時間でダウンロードするために、速いミラーを選択することをお薦めします。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/ppc64//desktop/kde注意コマンドの出力は一例で、常に更新されています。上の例の通り、いくつかのアーキテクチャではデスクトップ向けのサブプロファイルが見られるでしょう。Warningプロファイルのアップグレードは軽々と行われるものではありません。初期プロファイルを選択する時、確実にstage3がはじめに使用していたものと同じバージョン(例えば17.0)を使用してください。新しいプロファイルのバージョンは、移行方法を含むニュース項目を通して発表されます。新しいプロファイルに移行する前に、確実にそのニュース項目を読み、説明に従ってください。ppc64アーキテクチャで利用可能なプロファイルを確認後、別のプロファイルを選択できます。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です。動的な管理カーネルソースのインストールすべてのディストリビューションが構築されるその中心にあるのがLinuxカーネルです。カーネルレイヤーはユーザープログラムとハードウェアの間に存在します。Gentooではカーネルソースについて複数の選択肢があります。pageで見ることができます。sys-kernel/gentoo-sourcesパッケージを推奨しています。適切なカーネルソースを選択して、emergeでインストールします。sys-kernel/gentoo-sourcesこのコマンドはカーネルソースを/usr/src/にインストールします。このディレクトリにあるlinuxがインストールされたカーネルソースへのシンボリックリンクとなります。linux-3.16.5-gentooこれで、カーネルソースを設定、コンパイルする準備が整いました。この設定およびコンパイルには二つのアプローチがあります。カーネルをマニュアルで設定およびビルドする。Linuxカーネルを自動的にビルド・インストールするgenkernelを使用する。ここでは、環境を最適化するのに最も適した"マニュアル設定"をデフォルトとして説明します。マニュアル設定はじめにカーネルのマニュアル設定は、しばしばLinuxユーザーがしなければならない最も難しい手続きと考えられます。これは真実ではありません。カーネルを数回設定してみれば、それが難しいと言われていたことなど忘れてしまうでしょう。一つだけ真実があります。カーネルをマニュアルで設定する時、ハードウェア情報を知ることはとても役に立ちます。ほとんどの情報は、lspciコマンドを含むsys-apps/pciutilsをインストールすることで得られます。/sys/bus/pci/devicesのような)pcilibの警告は、無視しても構いません。システム情報を得るための別の方法は、lsmodを使ってインストールCDが使っているカーネルモジュールを把握することです。その情報は何を有効にすべきかとてもよいヒントを与えてくれるでしょう。menuconfigを実行しましょう。このコマンドはメニューベースの設定画面を起動します。menuconfigLinuxカーネルの設定はとても多くのセクションを持っています。最初にいくつかの必須オプションを述べましょう(そうでない場合、Gentooは動作しない、もしくは追加の処置なしには正しく動作しません)。カーネルコンフィグレーションガイドには、さらに役立つ記述があるでしょう。必須オプションを有効にするシステムのブートに必須となるドライバ(SCSIコントローラ等)は、モジュールではなく、カーネルの一部としてコンパイルしなければなりません。ないと、システムは全くブートできないでしょう。次に正確なプロセッサタイプを選択します。このとき、もし使えるのであればMCE機能を有効にすることが推奨されます。これによりハードウェアの異常が通知されるようになるでしょう。いくつかのアーキテクチャ(x86_64)で、これらのエラーはdmesgでは確認できませんが、/dev/mcelogにログが残ります。この機能を有効にするためにapp-admin/mcelogパッケージが必要になります。Systemsで、使用するファイルシステムに必要なサポートを選択しましょう。ルートファイルシステムに使われるファイルシステムをモジュールとしてコンパイルしてはいけません。モジュールにした場合、Gentooシステムはパーティションをマウントできないでしょう。systemも選択してください。ports2つの圧縮オプションは選択しても差し支えありませんが、必須というわけでもありません。Ethernetオプションも同様です。これはカーネルモードのPPPoEをするために設定された時だけにpppによって使用されるものです。カーネルにネットワークカード(イーサネットもしくはワイヤレス)のサポートを組み込むことを忘れてはいけません。多くのシステムではマルチコアを使用できます。support注意マルチコアシステムでは、それぞれのコアが1プロセッサとカウントされます。supportコンパイルおよびインストールカーネルのコンフィグレーションが完了し、コンパイルとインストールをする時がきました。並行処理を許可するビルドプロセスの数を指定します。変数についてと同様です。initramfsのビルドいくつかの特別なケースでinitramfs(起動時のRAMベースのファイルシステム)のビルドが必要になります。ある理由は、重要なディレクトリ(/usr/、/var/等)が別パーティションにある場合です。initramfsがあれば、initramfsの中にあるツールを使うことで、これらのパーティションをマウントすることができます。initramfsがないケースで、ファイルシステムをマウントするツールがそのファイルシステムの中にある情報を必要としている場合、大きなリスクを負うことになります。initramfsはカーネルブートの直後かつ制御がinitツールに移る前に必要なファイルをアーカイブに引き込みます。initramfsのスクリプトはシステムがブートを継続するために必要なパーティションを正しくマウントすることを保証します。initramfsをインストールするために、最初にsys-kernel/genkernelをインストールしましょう。initramfsを生成します。initramfsLVMやRAID等の特別なサポートをinitramfsで有効にするために、genkernelに適切なオプションを与えてください。--helpを参照してください。(mdadm)を有効にしています。initramfsinitramfsは/boot/に保存されます。生成されるファイルは単純にinitramfsで始まります。/boot/initramfs*次はカーネルモジュールです。genkernelを使用するもしマニュアル設定に気後れしてしまった場合、genkernelがお薦めです。genkernelは自動的にカーネルを設定、ビルドします。genkernelはインストールCDのカーネルが自動的に設定されるのとほぼ同じ方法でカーネルを設定します。これはカーネルのビルドにgenkernelを使った場合、インストールCDと同じようにブート時にすべてのハードウェアを検出することを意味します。genkernelはいかなるカーネルのマニュアル設定も要求しないため、ユーザー自身のカーネルをコンパイルすることを好まないユーザには理想的なソリューションです。genkernelの使い方を見てみましょう。最初にsys-kernel/genkernelをemergeします。sys-kernel/genkernel次に、/etc/fstabファイルを編集します。2番目のフィールドに/boot/を含む行は、その1番目のフィールドで正しいデバイス指定します。ハンドブックのパーティショニング例の通りであれば、このデバイスはほぼ間違いなくext2ファイルシステムを持つ/dev/sda1でしょう。この場合、エントリは次のようになります。allを実行してカーネルソースをコンパイルしましょう。genkernelはほとんどすべてのハードウェアをサポートするカーネルを生成するため、コンパイルが完了するまでにかなりの時間が必要になることに注意しましょう。allを使ってマニュアルでカーネルを設定し、カーネルにこの特別なファイルシステムを(モジュールではなく)組み込む必要があるでしょう。LVM2のユーザーはおそらく引数に--lvmを加えることになるでしょう。allgenkernel完了後、カーネル、モジュール群、初期RAMディスク(initramfs)が生成されるでしょう。このドキュメントの後半でブートローダーを設定する際、このカーネルとinitrdを使うことになります。ブートローダーの設定に必要になるため、カーネルとinitrdの名前をメモしておきましょう。"真の"システムが起動する前に(インストールCDがするように)ハードウェアを自動的に検出しなければならないため、initrdはブート後すぐに起動します。/boot/initramfs*カーネルモジュールモジュールの設定Noteハードウェアモジュールを手作業で列挙する必要はありません。接続を検出したハードウェアのモジュールを自動でロードします。自動で検出されるモジュールを列挙することは特に有害ではありません。時として変なハードウェアは、ドライバをロードするのにこうした手助けが必要になることがあります。/etc/modules-load.d/*.confファイルに、自動的にロードしなければならないモジュールを改行区切りで記載してください。モジュールに追加のオプションを与える必要があれば、/etc/modprobe.d/*.confファイルで設定すべきです。すべての利用可能なモジュールを把握するためには、次のfindコマンドを実行してください。version>"をたった今コンパイルしたカーネルのバージョンで置き換えることを忘れないでください。lessたとえば、3c59x.koモジュール(特定の3Comネットワークカード)を自動的にロードするためには、/etc/modules-load.d/network.confにモジュール名を記載してください。実際のファイル名はローダにとって重要ではありません。モジュールをロードする3c59xでは、システムの設定に進み、インストールを続けましょう。ファームウェアのインストールいくつかのドライバは、動作可能にするために追加のファームウェアのインストールを必要とします。これはしばしばネットワークインターフェース、特に無線ネットワークで必要になります。AMD、NVidia、Intelなどのベンダによる最近のビデオチップをオープンソースドライバで利用する場合にも、よく外部のファームウェアが必要になります。ファームウェアの多くはsys-kernel/linux-firmwareにパッケージされています。動的な管理ファイルシステムの情報fstabについてLinuxでは、システムで使用するすべてのパーティションは/etc/fstabに記載されていなければなりません。このファイルは、これらパーティションのマウントポイント(これらはファイルシステムに存在しなければなりません)、どのようにマウントされるべきか、また特別なオプション(自動マウントかそうでないか、ユーザー権限でマウントできるかどうか等)を定義します。fstabファイルを作成する/etc/fstabファイルは表のように記述します。それぞれの行はスペース(一つまたは複数のスペース、タブ、もしくはその組み合わせ)で区切られる6つのフィールドを持ちます。それぞれのフィールドの意味は以下の通りです。最初のフィールドはマウントされるブロックスペシャルデバイスやリモートファイルシステムを示します。デバイスファイルへのパスや、ファイルシステムラベルやファイルシステムUUID,そしてパーティションラベルやパーティションUUIDを含む、いくつかの種類のデバイスIDがブロックスペシャルデバイスノードとして使用可能です。2番目のフィールドはそのパーティションがマウントされるマウントポイントを示します。3番目のフィールドはそのパーティションのファイルシステムを示します。4番目のフィールドは、そのパーティションをマウントするmountコマンドが使用するオプションを示します。すべてのファイルシステムは、固有のマウントオプションを持っています。mount)を参照することですべてのオプションを確認できます。複数のマウントオプションを記述する場合はカンマで区切ります。5番目のフィールドはそのパーティションをdumpでダンプするかどうかを示しています。このフィールドは通常0(ゼロ)のままにしておいてかまいません。6番目のフィールドは、直前のシャットダウンが正常に完了しなかったときに、fsckが各パーティションをどの順番でチェックするか示しています。ルートファイルシステムは1であるべきです。残りのファイルシステムは2(ファイルシステムチェックが不要であれば0)に設定しましょう。重要Gentooが提供するデフォルトの/etc/fstabファイルは適切な記述ではありません。/etc/fstabこれ以降、パーティションとして、デフォルトのブロックデバイスファイルである/dev/sd*を使います。ファイルシステムラベルとUUIDMBR(BIOS)とGPTの両方が、ファイルシステムラベルとファイルシステムUUIDをサポートしています。これらの属性は、ブロックデバイスを探しマウントするために使用されるmountコマンドの代用として、/etc/fstab内で定義することができます。#blkidWarningもし、パーティション内のファイルシステムが消滅すると、ファイルシステムのラベルとUUIDの値は後に変更されるか除去されます。一意性のため、MBRスタイルのパーティションテーブルを使用している読者は、/etc/fstab内で、マウント可能なボリュームを定義するのにラベルよりもUUIDを用いることを推奨します。方法を使うことができます。パーティション自体にどのファイルシステムが使用されているかにかかわらず、ブロックデバイスの個々のパーティションを識別するのにパーティションラベルやパーティションのUUIDを使うことができます。UUIDを使ったパーティション指定を使えば、たとえ将来ファイルシステムが変更されるとしても、ブートローダーがボリューム検出に迷うことはありません。使った指定は、SATAブロックデバイスの追加・削除とシステムの再起動が頻繁に行われるシステムでは危険です。ファイル名の順番についても、初期起動プロセス中にカーネルがどのデバイスを最初に検知するかによって変化します。ディスクの順序を頻繁にいじったりしない限りは、デフォルトのブロックデバイスファイルを使うのはシンプルで素直な方法です。/boot/パーティションをどのように記述すればよいか見てみましょう。実際はインストール手順の最初に決めたパーティション構成通りに修正しなければなりません。パーティション構成の例として、ext2ファイルシステムを使う/dev/sda1パーティションを/boot/にします。このパーティションはブート中にチェックされなければなりません。fstabは以下のようになるでしょう。2あるユーザーはセキュリティを向上させるために/boot/パーティションを自動的にマウントしたくないかもしれません。その場合はdefaultsをnoautoで置き換えてください。これは、そのパーティションを使いたいときは都度手動でマウントしなければならないことを意味します。実際のパーティション構成にあわせたルールや、CD-ROMドライブのためのルールを追加してください。他にパーティションやドライブがあれば、それも忘れずに追加しておきましょう。以下は、より詳細な/etc/fstabの例です。03番目のフィールドでautoを使う場合、mountコマンドはそのパーティションのファイルシステムが何かを推測します。これは様々なファイルシステムを使う可能性があるリムーバルメディアで推奨されます。4番目のuserオプションで、ルート権限を持たないユーザーがCDをマウントできるようになります。パフォーマンスを改善するために、多くのユーザーはマウントオプションとしてnoatimeオプションを付け加えたいと考えるでしょう。アクセス時間が記録されないので、結果としてより高速なシステムになります(一般的にこの記録はほとんど必要ありません)。TRIMコマンドが動くようにdiscardオプション(現時点ではext4とbtrfsのみ)を使ってSSDをマウントする場合も、noatimeオプションを付けるとよいでしょう。再度/etc/fstabを確認して、保存、エディタを終了します。ネットワーク接続のための情報ホストとドメインのための情報さて、PCには名前をつけなければいけません。簡単に思えますが多くのユーザーはPCに名前を付けるのに苦労しています。事を早く進めるために、選んだ名前は後で変更できることを知っておいてください。判りやすいように、ここでは単にマシンをtux、ドメイン名をhomenetworkと呼ぶことにします。hostname変数にホスト名を設定する。hostname="tux"次に、もしドメイン名が必要なら、/etc/conf.d/netに設定します。ISPやネットワーク管理者からそう言われているか、DNSサーバがありDHCPサーバがない場合には、ドメイン名が必要になります。ダイナミックIPアドレスやネットワーク設定のためにDHCPを使っている場合は、DNSやドメイン名は気にしなくても構いません。注意デフォルトで/etc/conf.d/netが無い場合、新規作成する必要があります。dns_domain_lo変数にドメイン名を設定する。hostname.(none)"というメッセージが現れるでしょう。これは/etc/issueを編集して、.\Oを消去することで対策できます。NISドメインが必要であれば(それが何かを知らないユーザは必要ありません)、以下のように定義してください。nis_domain_lo変数にNISドメイン名を設定。nis_domain_lo="my-nisdomain"注意DNSとNISの設定詳細については、/usr/share/doc/netifrc-*/net.example.bz2にある例を参照してください。このファイルはbzlessで読むことができます。DNS/NIS設定を管理する場合、net-dns/openresolvをインストールすることは興味深いでしょう。Linuxをインストールしている間、ネットワークが使えるように設定されています。それはインストールCDのためのネットワーク設定であり、インストールされた環境のためのものではありません。Linuxのネットワークを設定しましょう。Configurationセクションを参照してください。すべてのネットワーク設定は/etc/conf.d/netにあります。直接的ではありますが、おそらく直感で理解できる構文ではありません。恐れることはありません。すべては以下で説明されます。/usr/share/doc/netifrc-*/net.example.bz2に、多くの異なる設定に対して完全にコメントが付与された例が記載されています。net-misc/netifrcDHCPはデフォルトで使用されます。DHCPを動かすために、DHCPクライアントをインストールしなければなりません。Toolsで説明されます。特別なDHCPのオプションを設定している、もしくはDHCPをまったく使いたくない等の理由で、ネットワーク接続をしなければならないときは、/etc/conf.d/netを編集します。/etc/conf.d/netIPアドレスとルーティングを設定するのはconfig_eth0とroutes_eth0です。注意ここではネットワークインターフェイスがeth0であると仮定していますが、これはシステムによって違います。最近のインストールメディアから起動しているのであれば、インストール時と同じインターフェイス名が使われると思ってよいでしょう。Namingを参照してください。192.168.0.1"DHCPを使う場合は、config_eth0を設定してください。/etc/conf.d/netDHCPの定義config_eth0="dhcp"使用可能なオプションのリストについては、/usr/share/doc/netifrc-*/net.example.bz2を参照してください。特定のDHCPを設定しなければならないときは、DHCPクライアントのmanページも必ず読みましょう。システムが複数のネットワークインターフェースを持っている場合は、config_eth1、config_eth2、...に対して上記の手順を繰り返してください。設定を保存し、エディタを終了しましょう。起動時に自動でネットワーク接続するブート時にネットワークインターフェースを有効にする場合は、デフォルトランレベルにそれらを追加する必要があります。defaultもし、複数のネットワークインターフェースがある場合は、net.eth0と同じ方法で、適切なnet.*ファイルを作成しなければなりません。ブート後、ネットワークインターフェース名(現在、このドキュメントではeth0と記述)が間違っていた場合、次の手順で修正してください。正しいインターフェース名で/etc/conf.d/netファイルを更新します。(例えばeth0をenp3s0と修正)新しいシンボリックリンクを作成。(例えば/etc/init.d/net.enp3s0)古いシンボリックリンクを消去。/etc/init.d/net.eth0)新しいスクリプトをデフォルトランレベルに追加。defaultで古いスクリプトを消去。hostsファイル次に、ネットワーク環境をLinuxに伝えます。これは/etc/hostsに定義され、ネームサーバでは解決できないホストについて、ホスト名からIPアドレスを決められるようになります。以下は本システムの定義です。設定されなければなりません。ネットワーク上にあるその他のホストの定義です。benny設定をセーブし、エディタを終了しましょう。PCMCIAを機能させるPCMCIAユーザーは、sys-apps/pcmciautilsパッケージをインストールする必要があります。sys-apps/pcmciautilsシステム情報rootパスワードpasswdコマンドでルートのパスワードを設定します。#passwdルートアカウントはとてもパワフルなアカウントなので、強いパスワードを与えてください。後で、日常の作業のための一般ユーザーアカウントを作成します。initとboot設定(少なくともOpenRCを使っているときは)Gentooは、システムのサービス、スタートアップ、シャットダウンの設定に/etc/rc.confを使います。/etc/rc.confを開いて、ファイル中のすべてのコメントを楽しみましょう。設定をレビューして、必要な箇所を変更してください。/etc/rc.conf次に、キーボードを設定するために/etc/conf.d/keymapsを開いて、正しいキーボードを選択、設定します。/etc/conf.d/keymapskeymap変数に特に注意してください。キーマップを間違えた場合、キーボードを叩くたびに、奇妙な現象が起こるでしょう。最後に、クロック設定をするために/etc/conf.d/hwclockを編集します。個々の好みに合わせて設定できます。/etc/conf.d/hwclockもし、ハードウェアクロックがUTCになっていない場合、このファイルにclock="local"を記述しなければなりません。ない場合、クロックスキューが発生するでしょう。同じ機能が複数のパッケージによって提供されるツールがいくつかあります。いったツールはstage3アーカイブには含まれていません。どのパッケージをインストールしたいのかをあなた次第で選んでください。システムにロギング機能を提供するツールを決定しましょう。お望みならログファイルにシステムで起こった全てを記録できます。これはシステムロガーを使って行ないます。Gentooでは複数のシステムロガーから使いたいものを選択することができます。このうちのいくつかを紹介します。app-admin/sysklogdは、システムのログを取得するための伝統的なデーモンを集めたものです。デフォルトのログ設定をそのまま使ってもうまく働くので、このパッケージは初心者にはいい選択肢です。app-admin/syslog-ngは、進化したシステムロガーです。1つの大きなファイルにログを取る以上のことをするには、何らかの設定が必要です。上級のユーザは、ロギングの発展性に基いてこのパッケージを選択できます。スマートなロギングのためには追加の設定が必要になることに注意してください。app-admin/metalogは、高度な設定ができるシステムロガーです。Portageツリーにはまだまだ他の選択肢があることでしょう。日毎にPortageツリーのパッケージは増えていますから。Tipもしsysklogdかsyslog-ngを使おうと思っているなら、これらのシステムログツールにはログファイルをローテーションする機構が無いので、後でlogrotateをインストールして設定しましょう。Tipsystemdは"journal"と呼ばれる、独自のロギング機能を提供しています。別のシステムログのプロバイダーをインストールすることは、systemdが動作しているシステムでは任意です。システムログのデーモンにjournalからのメッセージを読ませるように追加で設定をする必要がある場合があります。選択したシステムログツールをインストールするには、それをemergeして、rc-updateを使ってデフォルトのランレベルにスクリプトを追加してください。次の例ではapp-admin/sysklogdをインストールします。cronデーモン次はcronデーモンです。cronデーモンは入れても入れなくてもよく、システムに必須ではありませんが、インストールしておくのが賢明でしょう。cronデーモンは予定されたコマンドを実行します。定期的(例えば日毎、週毎、月毎)にあるコマンドを実行する必要があるならとても重宝します。Gentooではいくつものcronデーモンを提供しています。sys-process/bcron、sys-process/dcron、sys-process/fcron、そしてsys-process/cronieです。その内の1つをインストールするのはシステムロガーをインストールするのに似ています。次の例はsys-process/cronieをインストールします。defaultdcronかfcronを使う場合、初期設定のための追加コマンドが必要です。ファイルのインデックスを作成より高速なファイル検索のためにファイルシステム中の各ファイルのインデックスを作成するときは、sys-apps/mlocateをインストールしてください。リモートアクセスインストール後、システムにリモートからアクセスできるようにするためには、sshdをデフォルトのランレベルに追加してください。default(たとえばリモートサーバで)シリアルコンソールからアクセスしなければならない場合、/etc/inittabのシリアルコンソールの部分のコメントを外します。vt100ファイルシステムツール使っているファイルシステムよって、(ファイルシステムの整合性をチェックしたり、追加のファイルシステムを作成する等のために)必須のファイルシステムツールをインストールする必要があります。セットの一部としてインストール済みであることに注意してください。次の表は、ファイルシステム毎にどのツールをインストールすべきかを示します。sys-fs/btrfs-progsTipGentooのファイルシステムについてのさらなる情報は、ファイルシステムの記事を参照してください。ネットワークツールもし、追加のネットワークツールを必要としない場合、ブートローダーに進みましょう。DHCPクライアントをインストールする重要DHCPはあくまで任意選択ですが、多くのユーザはネットワークに接続するためにDHCPクライアントが必要になるでしょう。この機会にDHCPクライアントをインストールしましょう。この設定を忘れた場合、ネットワークに接続できないことになり、これによりDHCPクライアントがダウンロードできなくなってしまいます。netifrcスクリプトを使用して、一つ以上のネットワークに自動的にIPアドレスを付与するときは、DHCPクライアントをインストールする必要があります。Gentooリポジトリには多くのDHCPクライアントがありますが、net-misc/dhcpcdがお薦めです。articleにdhcpcdに関するより多くの情報があります。PPPoEクライアントのインストールもしインターネットに接続するためにPPPを使うのであれば、net-dialup/pppパッケージをインストールします。ワイヤレス・ネットワークツールのインストールもしシステムをワイヤレス・ネットワークに接続させるつもりならば、オープンネットワークあるいはWEPネットワークを使用するためにnet-wireless/iwパッケージを、あるいはWPAまたはWPA2ネットワークを使用するためにnet-wireless/wpa_supplicantパッケージをインストールしてください。iwはまた、ワイヤレス・ネットワークの検出のための便利で基本的な診断ツールでもあります。net-wireless/wpa_supplicant次はブートローダーです。correctly.システムのリブートchroot環境を出て、全てのパーティションをアンマウントします。次に、最終かつ真のテストを実行するためのマジカルコマンドrebootを入力しましょう。~#rebootもちろん、ブートCDを取り出しておいてください。しないと新しいGentooではなく、再度CDをブートしてしまいます。新規にインストールされたGentooをリブートした後は、最終章インストールの締めくくりに進みましょう。毎日使用するためのユーザを追加しますUnix/Linuxシステム上で、rootとして作業するのは危険であり、できるだけ避けるべきです。そのため、日々の使用のためのユーザーを追加することを強くお勧めします。グループは、そのグループに所属するメンバーができることを定義します。次の表はいくつかの重要なグループを示します。オーディオデバイスにアクセスできます。光学デバイスに直接アクセスできます。フロッピーデバイスに直接アクセスできます。Portageの制限されたリソースにアクセスできます。USBデバイスにアクセスできます。ビデオキャプチャのためのハードウェアにアクセスして、ハードウェアアクセラレーションを有効にできます。suを使うことができます。wheel、users、audioの3グループに所属するlarryというユーザを作成するには、最初にrootとしてログインし(rootだけがユーザを作ることができます)、useraddを実行します。別の方法はsudoパッケージを使用することです。これは(正しく設定されれば)とても安全です。ディスクのクリーンアップtarファイルの削除Gentooのインストールおよびリブート完了後、かつインストールがすべてうまくいった場合、ダウンロードしたステージ3のtarファイルを削除できます。このファイルは/ディレクトリにダウンロードされたことを思いだしましょう。/stage3-*.tar.*次にすることは?ドキュメント次に何をすればいいかわかりませんか?探索する道が多くあります。Gentooには多くの可能性と共にユーザーが存在します。それゆえ、このwikiや他のGentooに関連するサブドメイン群(下のGentooオンラインを見てください)を探索するため、多くのドキュメント化された機能を使うことができます(記述量は多くないのですが...)。読者は絶対に、GentooハンドブックのPortageを読むべきです。これにはソフトウェアをどのように最新の状態にしておくのか、追加のソフトウェアパッケージをどのようにインストールするのか、USEフラグやGentooのOpenRC初期システムの詳細や、インストール後のGentooシステムを扱うことに関する他の様々な有益なトピックについてが説明されています。wikiの他のコーナーを探索したいと思うでしょう。overviewを提供しています。これは、このWikiにある記事のセレクションをカテゴリー別に一覧にしています。システムをよりあなたの国に適したものとするためには、ローカライゼーションガイドを参照します(特に英語を第二外国語として話すユーザにとって便利なものです)。GentooオンラインImportant読者は、すべての公式のGentooオンラインサイトがGentooの行動規範によって治められていることに注意するべきです。Gentooのコミュニティで活動することは特権で、権利ではありません。ユーザは、行動規範が理由があるために存在することを知っていると見なされます。Chat(IRC)ネットワークと、メーリングリストを除いて、ほとんどのGentooのウェブサイトは質問をしたり、議論を開始したり、バグを報告するために、サイト単位でアカウントを必要とします。Channelsの一つに参加することはウェルカムです。新規のGentooのインストールの最中に遭遇した問題が、過去に発見されたか、またその後いくつかのフィードバックの後に解決したかをフォーラムで調べるのは簡単です。Gentoo故に他のユーザがインストールの問題を経験する可能性は驚くべきものです。ユーザはGentooサポートチャンネルで手助けを求める前に、フォーラムやwikiを調べるよう勧められています。メーリングリストフォーラムやIRCでアカウントを作成するよりはむしろ、メール上でサポートやフィードバックを求めるほうがいいというコミュニティメンバーのために、いくつかのメーリングリストが利用可能です。ユーザは特定のメーリングリストを購読するために説明に従う必要があります。バグ時々、wikiを見たり、フォーラム内を探したり、IRCチャンネルやメーリングリストにサポートを求めても、問題に対する既知の解決策がない場合があります。一般的にこれは、GentooのBugzillaサイトにバグを公開する合図です。開発ガイドGentooの開発についてより多くのことを学びたいと考えている読者は、開発ガイドを見ると良いでしょう。このガイドにはebuildの書き方、eclassの扱い方についての説明や、Gentooの開発の背後にある、多くの一般概念の定義が載っています.締めくくりGentooは堅固で、柔軟でそして素晴らしく維持されたディストリビューションです。開発者コミュニティは、Gentooをどのようにさらに「よりよい」ディストリビューションにするかについてのフィードバックを聞けることを嬉しく思います。確認として書いておきますが、このハンドブックに対するすべてのフィードバックは、ガイドライン(ハンドブックのはじめにあるどうやってハンドブックを改善しますか?のセクションに詳細があります)に従っているべきです。