This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
Gentooインストールファイルをインストール
stage tarballをインストールする
日時を設定する
Gentoo をインストールする前に、日付と時刻が正しく設定されていることを確認するといいでしょう。時刻が正しく設定されていないと、おかしな結果を導くかもしれません。例えば、ベースシステムのファイルは、タイムスタンプを正確に保ったまま展開されるべきです。実際、いくつかのウェブサイトやウェブサービスでは暗号化された通信(SSL/TLS)を利用しているため、システム時刻があまりにもずれていると、インストール用ファイルをまったくダウンロードできないということもありえます!
date コマンドを実行して、現在の日付と時刻が正しいか確認してください。
root #
date
Mon Oct 3 13:16:22 PDT 2016
表示された日時が間違っていたら、以下に示す方法に従って、自動または手動で更新してください。
リアルタイムクロック(RTC)を搭載していないマザーボードでは、自動的にシステム時刻を時刻サーバと同期するように設定するべきでしょう。これはRTCを搭載しているけれど、バッテリーがだめになってしまったシステムについてもいえます。
自動
公式 Gentoo インストールメディアには、ntpd コマンド(net-misc/ntp パッケージを通して利用可能です)が含まれています。公式メディアには、 ntp.org 時刻サーバを指定した設定ファイルも含まれています。これによって、時刻サーバを利用して、システム時刻を UTC 時刻と自動で同期することができます。この方法はネットワーク設定を必要とし、アーキテクチャによっては利用できないかもしれません。
自動時刻同期によって犠牲になるものもあります。例えば、システムのIPアドレスや、関連するネットワークの情報が、時刻サーバ(下の例では ntp.org)に明らかにされます。プライバシーが心配なユーザーは、下記の方法でシステム時刻を設定する前に、このことを理解しておくべきです。
root #
ntpd -q -g
手動
date コマンドはシステム時刻を手動設定するのにも使えます。MMDDhhmmYYYY
(月(MM)、日(DD)、時(hh)、分(mm)、年(YYYY))という形式で日時を更新してください。
すべての Linux システムでは UTC で時刻を設定することが推奨されます。タイムゾーンはインストール中にあとで設定します。タイムゾーンを設定すると、時刻の表示がローカル時刻に切り替わります。
例えば、2016年の10月3日 13時16分に設定するには以下のようにします。
root #
date 100313162016
stage tarballを選択する
multilib (32ビットと64ビット)
ベースとなるtarballを適切に選ぶことで、この後に続くインストールプロセスの相当な時間を短縮できます。特に適切なプロファイルを選ぶで効果があります。ステージtarballの選択はこの後のシステム設定に直接影響し、頭痛の種もしくはtwo later on down the lineを減らします。multilib tarballは64ビットのライブラリを使えるときはそれを使用し、互換性を必要とする場合は32ビットのライブラリを使用します。これはインストールされるほとんどのソフトにとってすばらしい選択肢となります。プロファイルを簡単に変更できるシステムが必要な場合は、そのプロセッサアーキテクチャにあったmultilib tarballをダウンロードしなければなりません。
大部分のユーザは、'advanced'なtar ballを選択すべきではありません。これらは特定のソフトウェアもしくはハードウェアのみに必要です。
非multilib (64ビットのみ)
システムのベースとして非multilibのtarballを選択することで、完全な64ビット環境を構築できます。これは事実上、multilibプロファイルへの変更を(可能ではありますが)困難にします。非mutilibを必要とする明確な理由がなく、単にGentooを使いたいというケースでは、非multilibを選択すべきではありません。
非multilibからmutilibシステムへの変更は、Gentooの深い知識と低レベルのツールチェーンが必要だということを忘れないでください(これはおそらく私たちのToolchain developersを身震いさせるでしょう)。これは気の弱い人への警告ではなく、このガイドの範囲外になるということです。
stage tarball をダウンロードする
ルートファイルシステムがマウントされている場所、Gentooのマウントポイント(おそらく/mnt/gentoo)に移動してください。
root #
cd /mnt/gentoo
インストールメディアを使ってstage tarballをダウンロードするのに必要なたった1つのツールが、ウェブブラウザです。
グラフィカルブラウザ
完全なグラフィカルウェブブラウザがある環境を使っているひとには、stageファイルのURLをメインウェブサイトのダウンロードセクションからコピーするのに何の問題も無いでしょう。単純に適切なタブを選択して、stageファイルへのリンクを右クリックして、Copy link address (Firefox) または Copy link location (Chromium)してクリップボードにリンクをコピーして、コマンドライン上でwgetユーティリティにリンクをペーストして、stage tarballをダウンロードします。
root #
wget <PASTED_STAGE_URL>
コマンドラインブラウザ
伝統的な読者や'古参'のGentooユーザで、コマンドラインのみで作業をする人たちは、グラフィカル環境を必要としないメニュー形式のブラウザであるlinksを使うほうを好むかもしれません。stageをダウンロードするために、Gentooミラーリストに飛んでください。
root #
links https://www.gentoo.org/downloads/mirrors/
linksでHTTPプロキシを使うには、-http-proxy
オプションにプロキシのURLを渡してください。
root #
links -http-proxy proxy.server.com:8080 https://www.gentoo.org/downloads/mirrors/
linksに似たlynxというブラウザもあります。linksと同じくグラフィカル環境を必要としませんが、メニューはありません。
root #
lynx https://www.gentoo.org/downloads/mirrors/
プロキシを定義する必要があるならば、http_proxyやftp_proxy変数をexportしてください。
root #
export http_proxy="http://proxy.server.com:port"
root #
export ftp_proxy="http://proxy.server.com:port"
ミラーリストから、近くのミラーを選んでください。通常はHTTPミラーで十分ですが、他のプロトコルも使えます。releases/amd64/autobuilds/ ディレクトリに移動してください。入手可能なすべてのstageファイルが列挙されています。ファイルは、サブアーキテクチャにちなんだ名前のサブティレクトリの中にあることもあります。ファイルを選び、dを押してダウンロードしてください。
stageファイルのダウンロードが完了したら、整合性を検証してstage tarballのコンテンツが正当か確認することができます。興味のあるひとは次節へ進んでください。
stageファイルの検証と確認に興味が無いひとは、qを押すことでコマンドラインブラウザを終了して、stage tarball を展開する節へすぐに進むことができます。
検証して確認する
一部の tarball は xz 圧縮で提供されています。.tar.xz で終わる tarball をダウンロードした場合は、以下のコマンドに出現する tarball ファイル名の .tar.bz2 を適宜修正してください。
MinimalインストールCDのときと同じく、stageファイルを検証して確認するためのファイルもダウンロードすることができます。これらの手順は飛ばしてもかまいませんが、ダウンロードしたファイルの妥当性を気にするユーザのためにこれらのファイルが提供されています。
- stage tarball内のファイル一覧を含む.CONTENTSファイル。
- stage ファイルの各種アルゴリズムでのチェックサムを含む.DIGESTSファイル。
- .DIGESTSと同様にstageファイルの各種アルゴリズムでのチェックサムを含み、それがGentooプロジェクトから提供されたものであることを保証するために電子署名された.DIGESTS.ascファイル。
opensslを使って、その出力を.DIGESTSや.DIGESTS.ascファイルに含まれるチェックサムと比較してください。
例えば、SHA512チェックサムを検証するには以下を入力します。
root #
openssl dgst -r -sha512 stage3-amd64-<release>.tar.bz2
sha512sumコマンドを使う方法もあります。
root #
sha512sum stage3-amd64-<release>.tar.bz2
Whirlpoolチェックサムを検証する場合は以下を入力します。
root #
openssl dgst -r -whirlpool stage3-amd64-<release>.tar.bz2
これらのコマンドの出力を.DIGESTS(.asc)ファイルに記録されている値と比較してください。これらの値は合致している必要があります。合致していないのなら、ダウンロードしたファイルか、ダイジェストファイルが壊れているかもしれません。
ISOファイルと同様に、チェックサムが改竄されていないことを確認するために、gpgを使って.DIGESTS.ascファイルの電子署名を検証することもできます:
root #
gpg --verify stage3-amd64-<release>.tar.bz2,.DIGESTS.asc
stage tarball を展開する
ここで、ダウンロードしたstageを解凍しましょう。tarを使います。
root #
tar xpvf stage3-*.tar.bz2 --xattrs-include='*.*' --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を使います)を起動してください。
root #
nano -w /mnt/gentoo/etc/portage/make.conf
make.conf.exampleファイルを読めば、記述形式は分かるでしょう。コメント行は"#"で始まり、他の行は「変数="内容"」の形式で変数を定義します。これらの変数のうちのいくつかについてこれから見ていきます。
CFLAGS と CXXFLAGS
CFLAGSとCXXFLAGS変数はそれぞれ、GCC CコンパイラとC++コンパイラのための最適化フラグを定義します。この2つの変数は通常ここで定義されますが、真に最高のパフォーマンスを発揮するためには、このフラグはプログラム毎に別々に設定する必要があるでしょう。すべてのプログラムは異なるからです。しかし、それでは管理が大変なので、make.confファイルでこれらのフラグを定義します。
make.confでは、一般にシステムの応答が速くなるように最適化フラグを設定するべきです。この変数に実験的な設定を書かないでください。過剰な最適化はプログラムの挙動をおかしくすることがあり、クラッシュや誤動作の元となります。
ここではすべての最適化オプションを説明することはしません。すべてを理解するためには、GNUオンラインマニュアルやGCC infoページ(info gcc - 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="-march=native -O2 -pipe" # Use the same settings for both variables CXXFLAGS="${CFLAGS}"
各種コンパイルオプションがどのようにシステムに影響するかについてはGCCの最適化の記事に詳しい情報がありますが、初心者がシステムの最適化を始めるにはSafe CFLAGSの記事のほうがもっと実践的な場所かもしれません。
MAKEOPTS
MAKEOPTS変数は、パッケージのインストール時にどれだけ並行してコンパルを走らせるかを定義します。CPU数(コア数)プラス1を選択するのがよい選択とされていますが、ガイドラインは常に最良とは限りません。
MAKEOPTS="-j2"
よーい、ドン!
好みの設定に合わせて/mnt/gentoo/etc/portage/make.confを変更し、保存してください。nanoではCtrl+Xで保存できます。
それではGentooベースシステムのインストールに進んでください。