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

ハンドブック:HPPA/インストール/ベース

From Gentoo Wiki (test)
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:HPPA/Installation/Base and the translation is 100% complete.
HPPA ハンドブック
インストール
インストールについて
メディアの選択
ネットワーク設定
ディスクの準備
stage3のインストール
Gentooベースシステムのインストール
カーネルの設定
システムの設定
ツールのインストール
ブートローダの設定
締めくくり
Gentooの操作
Portageについて
USEフラグ
Portageの機能
Initスクリプトシステム
環境変数
Portageの操作
ファイルとディレクトリ
変数
ソフトウェアブランチの併用
追加ツール
カスタムPortageツリー
高度な機能
ネットワーク設定
はじめに
高度な設定
モジュール式ネットワーク
無線
機能の追加
動的な管理


chroot する

任意自由選択: ミラーサーバーを選択する

ファイルの配布

ソースコードを短時間でダウンロードするために、速いミラーを選択することをお薦めします。Portageはmake.confの中のGENTOO_MIRRORS変数に指定されたミラー群を使用します。Gentooのミラー一覧から、インストール対象のマシンから物理的に最も近い一つ、もしくは複数のミラーを選択することができます(これらは高い頻度で最も高速になり得ます)。しかし、Gentooはmirrorselectという良いツールを提供しています。このツールは必要なミラーを選択するためによいユーザーインターフェースを提供できます。単純に選択可能なミラーが表示され、Spacebarを押せば、一つもしくは複数のミラーを選択できます。

root #mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf

Gentoo ebuild リポジトリ

ミラーを選択するために次に重要なステップは、/etc/portage/repos.conf/gentoo.confファイルでGentoo ebuildリポジトリを設定することです。このファイルはパッケージリポジトリを更新するときに必要になる同期情報を含んでいます(パッケージリポジトリは、Portageがソフトウェアパッケージをダウンロード、インストールする時に必要なすべての情報を含むebuildと関連ファイルを集めたものです)。

リポジトリの設定は単純な数ステップでできます。最初に(それが存在しなければ)repos.confディレクトリを作成します。

root #mkdir --parents /mnt/gentoo/etc/portage/repos.conf

次に、Portageが提供するGentooリポジトリ設定ファイルを(新規作成した)repos.confディレクトリにコピーします。

root #cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

エディタで覗き見するか、catコマンドを使いましょう。そのファイルは.iniフォーマットで、以下のような記述になっているはずです。

FILE /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
[DEFAULT]
main-repo = gentoo

[gentoo]
location = /usr/portage
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
auto-sync = yes
sync-rsync-verify-jobs = 1
sync-rsync-verify-metamanifest = yes
sync-rsync-verify-max-age = 24
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
sync-openpgp-key-refresh-retry-count = 40
sync-openpgp-key-refresh-retry-overall-timeout = 1200
sync-openpgp-key-refresh-retry-delay-exp-base = 2
sync-openpgp-key-refresh-retry-delay-max = 60
sync-openpgp-key-refresh-retry-delay-mult = 4

# for daily squashfs snapshots
#sync-type = squashdelta
#sync-uri = mirror://gentoo/../snapshots/squashfs

上に記載されているデフォルトのsync-uri変数は、ローテーション可能なミラーの場所を決めています。これはGentooインフラストラクチャーの帯域にかかるストレスを軽減することに役立ち、また特定のミラーがオフラインになっている場合のバックアップとなります。よって、デフォルトのURIは、ローカルのプライベートPortageミラーを使わない限り、そのままにしておくことが推奨されます。

Tip
興味のある人は、PortageプロジェクトのSync articleにあるPlug-in sync APIが役に立つでしょう。

DNS 情報をコピーする

新しい環境に入る前に一つだけやるべきことが残っています。それは/etc/resolv.confに記載されているDNS情報をコピーすることです。これは新しい環境に入った後でネットワークを使うために必要です。/etc/resolv.confは、そのネットワークのネームサーバーの情報を含んでいます。

この情報をコピーするときは、cpコマンドに--dereferenceオプションを付与することを推奨します。これは/etc/resolv.confがシンボリックリンクのときに、シンボリックリンクをコピーするのではなく、シンボリックリンクのリンク先の実ファイルをコピーします。そうしないと新しい環境でシンボリックリンクが存在しないファイルを指し示すでしょう(新しい環境では、元の環境でリンク先に指定していたファイルはほぼ利用できません)。

root #cp --dereference /etc/resolv.conf /mnt/gentoo/etc/

必要なファイルシステムをマウントする

もう少しで、Linuxルートは新しい場所に変わります。新しい環境を適切に動作させるために、いくつかのファイルシステムを使えるようにしなければなりません。

使えるようにしなければならないファイルシステムは以下の通りです。

  • /proc/ はLinuxカーネルから情報を引き出すための擬似ファイルシステムです(一見通常ファイルに見えますが、ファイルとしての実体はありません)。
  • /sys//proc/同様、擬似ファイルシステムです。/proc/より構造化されており、一度は/proc/を置き換えることを目的としていました。
  • /dev/は通常のファイルシステムです。一部はLinuxのデバイス管理機構(通常はudev)により管理されており、すべてのデバイスファイルを含んでいます。

/proc/は、/mnt/gentoo/proc/にマウントされるでしょう。他の2つはbindマウントされます。後者は、例えば/mnt/gentoo/sys/は事実/sys/となります(同じファイルシステムへの2番目のエントリです)。ここで/mnt/gentoo/proc/はファイルシステムの新しいエントリ(インスタンスとも言えるでしょう)となります。

root #mount --types proc /proc /mnt/gentoo/proc
root #mount --rbind /sys /mnt/gentoo/sys
root #mount --make-rslave /mnt/gentoo/sys
root #mount --rbind /dev /mnt/gentoo/dev
root #mount --make-rslave /mnt/gentoo/dev
注意
インストールの後半で出てくるsystemdを使う場合、--make-rslaveが必要です。
Warning
When using non-Gentoo installation media, this might not be sufficient. Some distributions make /dev/shm a symbolic link to /run/shm/ which, after the chroot, becomes invalid. Making /dev/shm/ a proper tmpfs mount up front can fix this:
root #test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
root #mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm

そしてモード 1777 がセットされていることを確実にしてください:

root # chmod 1777 /dev/shm

新しい環境に入る

ようやく、すべてのパーティションが初期化され、ベース環境がインストールされました。chrootを実行して新しいインストール環境に入りましょう。これは、セッションのroot(アクセスできる最も上位レベル)を、現状のインストール環境(インストールCDもしくは他のインストールメディア)から、インストールシステム(つまり初期化されたパーティション)に変更することを意味しています。これが"change root"もしくは"chroot"の意味です。

chrootは次の3ステップで実行されます。

  1. chrootコマンドによって、最上位ディレクトリを(インストールメディアの)/から(パーティションをマウントしている)/mnt/gentoo/に変更する。
  2. /etc/profileのいくつかの設定をsourceコマンドでリロードする。
  3. chroot環境であることを忘れないようするために、シェルのプロンプトを変更する。
root #chroot /mnt/gentoo /bin/bash
root #source /etc/profile
root #export PS1="(chroot) ${PS1}"

この時から、すべての操作は新しいGentoo Linux環境で実行されます。もちろん、まだゴールには程遠いです。その証拠にまだいくつもの章が残っていますよね!

Tip
これ以降の時点で Gentoo インストールを中断しても、インストール作業をこのステップから「再開」することができるようになっているはずです。ディスクをまたパーティショニングする必要はありません!ただ単にルートパーティションをマウントして、上のステップを DNS 情報をコピーするところから実行すれば、作業中の環境に再び入ります。ブートローダの問題を解決するのにもこれが役に立ちます。さらなる情報は chroot の記事にあります。

ブートパーティションをマウントする

新環境に入った今、/boot パーティションを作成してマウントする必要があります。このことはカーネルをコンパイルするときとブートローダをインストールするときに重要な意味を持ちます。

root #mkdir /boot
root #mount /dev/sda2 /boot

Portageを設定する

Web から ebuild リポジトリのスナップショットをインストールする

次に基本のebuildリポジトリのスナップショットをインストールします。このスナップショットには、インストール可能なパッケージの情報、システム管理者が選択するプロファイルの一覧、パッケージやプロファイルごとのお知らせなどをPortageに伝えるファイルが含まれます。

ここで紹介するemerge-webrsyncは、HTTP/FTPプロトコル以外でのダウンロードがファイアウォールで制限されるような環境や、ネットワーク帯域を節約したい場合にお薦めです。これらの制約がなければ、この手順は省いて次のセクションに進んでも構いません。

次のコマンドで、毎日更新される最新のスナップショットをGentooのミラーサイトから取得し、インストールします:

root #emerge-webrsync
注意
この作業中、 emerge-webrsync が「/usr/portage/がない」というメッセージを出すかもしれません。これは想定内で、このディレクトリは自動的に作成されます。

この時点で、Portageはいくつかのアップデートが推奨されていることを通知するかもしれません。これは、stageファイルでインストールされたシステム関連のパッケージについて、より新しいバージョンが利用可能であることを示しています。今回新しいリポジトリスナップショットがインストールされたことで、Portageがそれを認識したのです。このメッセージは今のところは無視して、Gentooのインストールが完了してから対応しても問題ありません。

任意自由選択: Gentoo ebuildリポジトリを更新する

Gentoo ebuildリポジトリを最新版にアップデートできます。先のemerge-webrsyncコマンドはほぼ最新の(通常は24時間以内に作成される)スナップショットをインストールするため、このステップは本当に任意です。

最新(一時間以内)のパッケージ更新があるかもしれません。その更新を取り込むためにemerge --syncを実行しましょう。このコマンドはGentoo ebuildリポジトリ(先程emerge-webrsyncコマンドで取得したもの)をアップデートするためにrsyncプロトコルを使用します。

root #emerge --sync

アップデートの時間を短縮するために、特定のフレームバッファもしくはシリアルコンソール等の遅いターミナルでは、--quietオプションを使うことをお薦めします。

root #emerge --sync --quiet

ニュースを読む

Gentoo ebuildリポジトリの更新時、Portage が次のようなメッセージを伴う警告を出すことがあります。

* IMPORTANT: 2 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.

ニュース項目は、rsyncしたツリーを通じて、ユーザーに重要なメッセージを通知するためのコミュニケーション手段です。これらニュース項目を管理するためにeselect newsを使用します。eselectはGentooのアプリケーションで、システムの変更や操作に対する共通の管理インターフェースを提供します。この場合、eselectnewsモジュールを使うことを指示されます。

newsモジュールに対しては、主に3つの操作が使用されます。

  • listを指定すると、現在有効なニュースアイテムの概要が表示されます。
  • readを指定すると、そのニュースアイテムを読むことができます。
  • purgeを指定すると、一度購読したニュースを削除することができます。これにより、それらのニュースを二度と目にすることはないでしょう。
root #eselect news list
root #eselect news read

ニュースリーダーに関するほとんどの情報はマニュアルページを通じて得ることができます。

root #man news.eselect

適切なプロファイルを選ぶ

Warning
対応する 17.1 ニュースアイテムを読むまではどの 17.1 プロファイルも選択しないでください。このプロファイルは実験的なものであり、特別な移行作業を要します。

プロファイルはあらゆるGentooシステムの基礎を構成します。プロファイルはUSECFLAGS等の重要な変数の初期値を決めるだけではありません。プロファイルは、パッケージのバージョンを決まった範囲に固定する役目を持っています。プロファイルはGentooのPortage開発者によって完全にメンテナンスされています。

eselectを使えば、現状のプロファイルがわかります。profileモジュールを指定しましょう。

root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/hppa/13.0 *
  [2]   default/linux/hppa/13.0/desktop
  [3]   default/linux/hppa/13.0/desktop/gnome
  [4]   default/linux/hppa/13.0/desktop/kde
注意
コマンドの出力は一例で、常に更新されています。

上の例の通り、いくつかのアーキテクチャではデスクトップ向けのサブプロファイルが見られるでしょう。

Warning
Profile upgrades are not to be taken lightly. When selecting the initial profile, make sure to use profile corresponding to the same version as the one initially used by stage3 (e.g. 13.0). Each new profile version is announced through a news item containing migration instructions. Make sure to read it and follow them before switching to a newer profile.

hppaアーキテクチャで利用可能なプロファイルを確認後、別のプロファイルを選択できます。

root #eselect profile set 2



Note
developerサブプロファイルはGentoo Linux開発向けの固有のプロファイルであり、通常のユーザーが使用するものではありません。

@worldの更新

At this point, it is wise to update the system's @world set so that a base can be established.

This following step is necessary so the system can apply any updates or USE flag changes which have appeared since the stage3 was built and from any profile selection:

root #emerge --ask --verbose --update --deep --newuse @world
Tip
フルスケールのデスクトップ環境を選択した場合、このプロセスはインストール時間を格段に長くしてしまうかもしれません。時間に追われている人は次の経験則が成り立つでしょう。「名前が短く、特定のシステムを示さないプロファイルの@world 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サーバーのサポートを含まない(最初のマイナス記号で指定)ようにコンパイルします。gnome gtk -kde -qt4 -qt5は、GNOME(とGTK+)サポートを有効にして、KDE(とQt)サポートを無効にします。これにより、(もし、アーキテクチャがGNOMEをサポートしていれば)システムはGNOME向けに最大限調整されます。

デフォルトのUSEの設定は、システムによって使用されるGentooプロファイルのmake.defaultsファイルに記述されています。Gentooはプロファイルをサポートするために、(複雑な)継承システムをサポートします。これにより今の段階でUSEの詳細に立ち入る必要はありません。現在有効なUSE設定を知るためのもっとも簡単な方法は、emerge --infoを実行してUSEで始まる行を抜き出すことです。

root #emerge --info | grep ^USE
USE="X acl alsa amd64 berkdb bindist bzip2 cli cracklib crypt cxx dri ..."
注意
上記の例は出力のほとんどを省略しています。実際には、USE 変数のリストはずっとずっと長いものです。

使用可能なUSEフラグの完全な記述は、/usr/portage/profiles/use.descにあります。

root #less /usr/portage/profiles/use.desc

lessコマンドでは、キーとキーを使ってスクロールすることができます。qを押すと終了します。

例として、DVD、ALSA、CD書き込みをサポートしたKDEベースのUSE設定を示します。

root #nano -w /etc/portage/make.conf
FILE /etc/portage/make.confDVD、ALSA、CD書き込みをサポートしたKDEベースのUSE設定
USE="-gtk -gnome qt4 qt5 kde dvd alsa cdr"

/etc/portage/make.confUSEが定義されたとき、それはデフォルトのリストに追加されます(-で始まるサポートは削除されます)。デフォルトのUSE設定を無視したい、もしくはUSE設定を自身で完全に制御したいときは、make.confUSE-*で始めます。

FILE /etc/portage/make.confデフォルトのUSEフラグを無視する
USE="-* X acl alsa"
警告
例示したように -* を指定することは可能ではあるものの、推奨されません。ebuildによっては、競合やエラーが起きないようにデフォルトのUSEフラグが慎重に調整されていることがあるためです。


タイムゾーン

タイムゾーンを選択します。/usr/share/zoneinfo/から利用可能なタイムゾーンを探してください。そして、それを/etc/timezoneファイルに記述しましょう。

root #ls /usr/share/zoneinfo

選択したタイムゾーンがEurope/Brusselsの場合は以下となります。

root #echo "Europe/Brussels" > /etc/timezone

/usr/share/zoneinfo/Etc/GMT*のタイムゾーンは、その名前が期待されるゾーンを示していないため、避けましょう。たとえば、GMT-8は実際にはGMT+8となります。

次に、sys-libs/timezone-dataパッケージを再設定しましょう。これは/etc/timezoneを元に、/etc/localtimeをアップデートします。/etc/localtimeは、システムのCライブラリが、自身が属するタイムゾーンを知るために使われます。

root #emerge --config sys-libs/timezone-data

ロケールの設定

ほとんどのユーザは、一つもしくは二つのロケールを必要とします。

ロケールはシステムで使用する言語を指定するだけではなく、単語のソート順や日付、時間等のルールにも使用されます。

システムがサポートすべきロケールは、/etc/locale.genに記述する必要があります。

root #nano -w /etc/locale.gen

次のロケールの例では、英語(United States)とドイツ語(Germany)を(UTF-8のような)文字コードと共に指定しています。

FILE /etc/locale.genUSとDEロケールを適切な文字コードと共に有効にする
en_US ISO-8859-1
en_US.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE.UTF-8 UTF-8
警告
UTF-8 のロケールを少なくとも一つは有効にすることを強く勧めます。おそらくいくつかのアプリケーションはUTF-8を必要とするためです。

次にlocale-genを実行します。これにより、/etc/locale.genファイルに記載されているすべてのロケールを生成します。

root #locale-gen

現在使用可能なすべてのロケールを確認するためには、locale -aを実行してください。

この時点で、システム全体で有効になるロケールを設定できます。eselectlocaleモジュールと共に使いましょう。

eselect locale listを実行すると、利用可能なターゲットが表示されます。

root #eselect locale list
Available targets for the LANG variable:
  [1] C
  [2] POSIX
  [3] en_US
  [4] en_US.iso88591
  [5] en_US.utf8
  [6] de_DE
  [7] de_DE.iso88591
  [8] de_DE.iso885915
  [9] de_DE.utf8
  [ ] (free form)

eselect locale set VALUE を実行することで、適切なロケールを設定することができます。

root #eselect locale set 9

手動で設定する場合は、/etc/env.d/02localeを編集してください。

FILE /etc/env.d/02localeシステムのロケールをマニュアル設定する
LANG="de_DE.UTF-8"
LC_COLLATE="C"

ロケールが設定されていることを再確認してください。そうしないと、後でカーネルをビルドしたり、他のソフトをインストールした時にワーニングやエラーが出ます。

ここで、環境をリロードします。

root #env-update && source /etc/profile && export PS1="(chroot) $PS1"

私たちは、このユーザーガイドを補完するための完全なドキュメントであるローカライゼーションガイドを作成しました。他の興味深い記事は、UTF-8を有効にするための情報であるガイドUTF-8です。