|
1.
stage tarballのインストール
日時を正確に設定する
先に進める前に、日時をチェックして、更新しておく必要があります。
狂った時計は後でおかしな結果が起きる元になります。
現在の日時を確認するには、dateを実行してください。
コード表示 1.1: 日時を確認する |
# date
Fri Mar 29 16:21:18 UTC 2005
|
もし表示された日時が間違っていたら、date MMDDhhmmYYYYを使って更新してください。
構文としては、(Month(月)、Day(日)、hour(時)、minute(分)、Year(年)を表しています)。現在のところ、UTC時間を使用すべきです。自分のタイムゾーンに、後で設定することができます。例えば、2005年3月29日 16:21を設定したい場合には以下のように実行します。
コード表示 1.1: UTC日時の設定 |
# date 032916212005
|
stageの選択
次のステップとして、stage3tarballをシステムにインストールする必要があります。
必要なtarballをインターネットからダウンロードするか、一般的なGentoo UniversalCDから起動しているなら、ディスクからコピーすることができます。
多くの場合、どのstageファイルをダウンロードすればいいのかを判断するのには、uname -mコマンドの結果が役に立つでしょう。
Minimal CDや LiveDVD はstage3アーカイブを含みません。
1.
一般的な選択: インターネットからダウンロードしたstageを使う
stagetarballのダウンロード
Gentooをインストールしようとしているファイルシステムのマウントポイントに移動してください。
(大概は、次の場所です。/mnt/gentoo)
コード表示 1.1: インストール先のマウントポイントに移動 |
# cd /mnt/gentoo
|
インストールに使用している媒体によりますが、stageをダウンロードするツールが2、3用意されています。
もしlinksが使用可能なら、すぐにでもthe Gentoo mirrorlistにアクセスして、最寄のミラーを選択することができます。
links http://www.gentoo.org/main/en/mirrors.xmlと入力してエンターを押してください。
もしlinksが使えない場合には、lynxを一時的に使用できるでしょう。
proxyを使う必要がある場合には、http_proxyとftp_proxyを設定してください。
コード表示 1.1: lynxでのproxy情報の設定 |
# export http_proxy="http://proxy.server.com:port"
# export ftp_proxy="http://proxy.server.com:port"
|
ここから先はlinksが使用できると仮定して説明してきます。
お近くのミラーを選んでください。通常はHTTPのミラーで十分ですが、他のプロトコルのミラーもあります。
${release-dir}ディレクトリにアクセスしてください。あなたのアーキテクチャ(もしかしたら、それらは個別のサブアーキテクチャ名のディレクトリ配下に置かれているかもしれません)
ひとつを選んで、Dをおしてダウンロードしましょう。ダウンロードが完了したら、Qを押してブラウザを終了させます。
コード表示 1.1: linksでミラーリストを見る |
# links http://www.gentoo.org/main/en/mirrors.xml
# links -http-proxy proxy.server.com:8080 http://www.gentoo.org/main/en/mirrors.xml
|
stage3のtarballをダウンロードするようにして下さい。今後stage1またはstage2を用いたインストールはサポートされません。
ダウンロードしたstage tarballの正当性を評価したいなら、
md5sumを使って、その出力とミラーで配布されているMD5チェックサムを比較してください。
コード表示 1.1: stage tarballの正当性のチェック |
# md5sum -c ${stage3}.DIGESTS
${stage3}: OK
|
stage tarballの展開
さぁ、それではダウンロードしたstageをシステムに展開しましょう。
もっとも簡単な方法として、tarを使います。
コード表示 1.1: stageの展開 |
# tar xvjpf stage3-*.tar.bz2
|
上記と同様のオプション(xvjpf)を必ず使うようにしてください。xはアーカイブの展開、
vは展開中に何が起こっているのかを表示(これは、任意です)、jはbzip2の解凍、
pはパーミッションの保存、そしてfは、標準入力からではなく、ファイルから展開することを表しています。
これでstageはインストールされました。Portageのインストールへ進みましょう。
1.
Portageのインストール
Portageスナップショットの展開
ここでPortageスナップショット(これは、どのようなソフトウェアをインストールできるか、またどのようなprofileがあるのか、と言った情報が入った複数のファイルのことです)をインストールする必要があります。
Portageスナップショットをダウンロードし、インストール
あなたのファイルシステムにマウントした場所へ行ってください(多くの場合/mnt/gentoo)。
コード表示 1.1: マウントポイントへ移動 |
# cd /mnt/gentoo
|
links(またはlynx)を起動し、
Gentoo mirror listへ行ってください。
そしてあなたのいる場所に近いミラーを選択してから、snapshots/ディレクトリを開いてください。
そこで、最新のPortageスナップショット(portage-latest.tar.bz2)を選択して、Dキーを押してダウンロードしてください。
コード表示 1.1: Gentooミラーリストの参照 |
# links http://www.gentoo.org/main/en/mirrors.xml
|
次に、Qキーを押してブラウザを終了させます。
これで、Portageスナップショットが/mnt/gentooに保存されているでしょう。
ダウンロードしたスナップショットの完全性を確認したい時は、md5sumを使用し、
その出力と、ミラーから提供されているMD5チェックサムとを比較します。
コード表示 1.1: Portageスナップショットの完全性の確認 |
# md5sum -c portage-latest.tar.bz2.md5sum
portage-latest.tar.bz2: OK
|
次にこのPortageスナップショットをあなたのファイルシステム上で展開します。
次のコマンドを実行する際には、最後のオプションが小文字のcではなくて、
大文字のCであることに注意してください。
コード表示 1.1: Portageスナップショットの展開 |
# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
|
1.
コンパイルオプションの設定
はじめに
Gentooを最適化するために、Portageの振る舞いに影響を与えるいくつかの変数を設定することができます。
これらの変数は、すべて(exportを使用して)環境変数として設定することも可能ですが、
環境変数は永続的なものではありません。設定を保存しておくために、Portageの設定ファイル/etc/make.confがあります。
これが今から編集するファイルです。
注意:
設定可能なすべての変数は、/mnt/gentoo/usr/share/portage/config/make.conf.exampleにコメント付きで列挙されています。
Gentooのインストールを成功させるには、次に挙げられている変数を設定するだけでよいです。
|
あとで話題にする最適化のための変数を編集するために、
好みのエディタを立ち上げてください(このガイドではnanoを使います)。
コード表示 1.1: /etc/make.confを開く |
# nano -w /mnt/gentoo/etc/make.conf
|
おそらく気づいていると思いますが、make.conf.exampleファイルは、
他の設定ファイル同様の構造をしています(訳注:bashスクリプトと同じ作法です)。
"#"で始まる行はコメントで、その他の行には、VARIABLE="content"という構文で変数を定義します。
いくつかの変数については、次の節で話題にします。
CFLAGSとCXXFLAGS
CFLAGSとCXXFLAGS変数には、それぞれ、CおよびC++コンパイラであるgccに対する最適化のためのフラグを定義します。
ここでは、一般的なものを定義しますが、それぞれのプログラムごとに最適なフラグを使うことで、
最高のパフォーマンスを出すことが可能となります。
これは、それぞれのプログラムが異なっていることによります(訳注:プログラムごと、
アーキテクチャごとにパフォーマンスへの考慮や設計が異なり、フラグによってどれだけ最適化されるかということは、プログラムによって異なると言うこと。)
make.confには、一般的にはシステム全体の動作を損なわない範囲で最善の最適化フラグを定義すべきです。
この変数に、実験的な設定をしないでください。
過剰な最適化はプログラムの動作をおかしくします(クラッシュや誤動作の元です)。
すべての最適化オプションを説明はしません。
そのすべてを知りたいなら、GNU
Online Manual(s)やgccのinfo(info gcc -- このコマンドは既に稼動しているLinuxシステムでのみ動作します)を読んでください。
make.conf.exampleファイルにもたくさんの例や情報が含まれています。
こちらも忘れずに読んでください。
始めに-march=か-mtune=フラグを設定してください。
これには、ターゲットとするアーキテクチャの名前を指定します。
どんなオプションを設定できるかは、make.conf.exampleファイルに(コメントとして)書かれています。
次に、-Oフラグ(これは、大文字のOで、ゼロではありません)を設定します。
これは、gccの最適化クラスのフラグです。
s(サイズの最適化)、0(最適化なし)、そして、スピードの最適化フラグ1、2、さらに3までが指定できます(各クラスは、この順番により強い最適化を行います。より強い最適化をするクラスは、弱い最適化クラスと同様の効果を持ちつつ、追加の最適化を行います)。
-O2 が推奨されたデフォルト指定です。-O3をシステム全体で使用した場合には、問題が発生することが分かっていますので、-O2にとどめておくことをお勧めします。
他の人気がある最適化フラグとして-pipe(コンパイル時の様々な段階間の情報のやり取りに、テンポラリファイルではなくパイプを使うようにします)があります。
これは生成されるコードには影響しませんが、より多くのメモリが使われます。メモリが少ないシステムでは、gccが終了してしまうかもしれません。
そういった場合には、このフラグを使わないでください。
-fomit-frame-pointer(必要ない関数に対するレジスタ内のフレームポインタを保持しません)を使うと、
アプリケーションのデバッグが非常に困難になります。
CFLAGSとCXXFLAGSを定義するとき、
それぞれの最適化オプションは同じものを使うべきです。
展開したstage3アーカイブに含まれるデフォルトの設定は十分に最適化されています。
下記の例は、あくまで例です。
MAKEOPTS
MAKEOPTSには、パッケージをインストールするときに、
いくつ平行してコンパイルを走らせるかを定義します。
あなたのシステムのCPU数(またはCPUコア数)に1を加えた数を指定するのが賢明ですが、これは目安であり常にそれが最善であるというわけではありません。
コード表示 1.1: 一般的な、CPUが1個のシステムに対するMAKEOPTSの設定 |
MAKEOPTS="-j2"
|
さぁ準備ができました。次へ進みましょう!
/mnt/gentoo/etc/make.confをあなたの好みに応じて編集し、保存してください。
(nanoユーザは、Ctrl-Xを押します)
それでは、(Gentooベースシステムのインストール)へ進んでください。
|