ハンドブック:IA64/インストール/システム
ファイルシステムの情報
fstabについて
Linuxでは、システムで使用するすべてのパーティションは/etc/fstabに記載されていなければなりません。このファイルは、これらパーティションのマウントポイント(これらはファイルシステムに存在しなければなりません)、どのようにマウントされるべきか、また特別なオプション(自動マウントかそうでないか、ユーザー権限でマウントできるかどうか等)を定義します。
fstabファイルを作成する
/etc/fstabファイルは表のように記述します。それぞれの行はスペース(一つまたは複数のスペース、タブ、もしくはその組み合わせ)で区切られる6つのフィールドを持ちます。それぞれのフィールドの意味は以下の通りです。
- 最初のフィールドはマウントされるブロックスペシャルデバイスやリモートファイルシステムを示します。デバイスファイルへのパスや、ファイルシステムラベルやファイルシステムUUID,そしてパーティションラベルやパーティションUUIDを含む、いくつかの種類のデバイスIDがブロックスペシャルデバイスノードとして使用可能です。
- 2番目のフィールドはそのパーティションがマウントされるマウントポイントを示します。
- 3番目のフィールドはそのパーティションのファイルシステムを示します。
- 4番目のフィールドは、そのパーティションをマウントするmountコマンドが使用するオプションを示します。すべてのファイルシステムは、固有のマウントオプションを持っています。ユーザーはマウントコマンドのmanページ(man mount)を参照することですべてのオプションを確認できます。複数のマウントオプションを記述する場合はカンマで区切ります。
- 5番目のフィールドはそのパーティションをdumpでダンプするかどうかを示しています。このフィールドは通常0(ゼロ)のままにしておいてかまいません。
- 6番目のフィールドは、直前のシャットダウンが正常に完了しなかったときに、fsckが各パーティションをどの順番でチェックするか示しています。ルートファイルシステムは1であるべきです。残りのファイルシステムは2(ファイルシステムチェックが不要であれば0)に設定しましょう。
Gentooが提供するデフォルトの/etc/fstabファイルは適切な記述ではありません。テンプレートとしてのみ使用してください
root #
nano -w /etc/fstab
これ以降、パーティションとして、デフォルトのブロックデバイスファイルである/dev/sd*を使います。
ファイルシステムラベルとUUID
MBR(BIOS)とGPTの両方が、ファイルシステムラベルとファイルシステムUUIDをサポートしています。これらの属性は、ブロックデバイスを探しマウントするために使用されるmountコマンドの代用として、/etc/fstab内で定義することができます。ファイルシステムラベルやファイルシステムUUIDはそれぞれLABELとUUID接頭辞で識別され、blkidコマンドで確認することができます:
root #
blkid
もし、パーティション内のファイルシステムが消滅すると、ファイルシステムのラベルとUUIDの値は後に変更されるか除去されます。
一意性のため、MBRスタイルのパーティションテーブルを使用している読者は、/etc/fstab内で、マウント可能なボリュームを定義するのにラベルよりもUUIDを用いることを推奨します。
パーティションラベルとUUID
GPTルートを選択した人は、/etc/fstab でパーティションを定義する際に '頑丈' な方法を使うことができます。パーティション自体にどのファイルシステムが使用されているかにかかわらず、ブロックデバイスの個々のパーティションを識別するのにパーティションラベルやパーティションのUUIDを使うことができます。パーティションラベルとパーティションのUUIDはそれぞれPARTLABEL、PARTUUID接頭辞で識別され、そして端末で blkid コマンドを実行すると簡単に調べられます:
root #
blkid
パーティションラベルも絶対にとは言えないのに対し、fstab でUUIDを使ったパーティション指定を使えば、たとえ将来ファイルシステムが変更されるとしても、ブートローダーがボリューム検出に迷うことはありません。従来のブロックデバイスファイル (/dev/sd*N) を使った指定は、SATAブロックデバイスの追加・削除とシステムの再起動が頻繁に行われるシステムでは危険です。
ブロックデバイスのファイル名は様々な要素 (ディスクがどんな順番でいくつ接続されているかを含む) によって変化します。またファイル名の順番についても、初期起動プロセス中にカーネルがどのデバイスを最初に検知するかによって変化します。つまり、ディスクの順序を頻繁にいじったりしない限りは、デフォルトのブロックデバイスファイルを使うのはシンプルで素直な方法です。
実際のパーティション構成にあわせたルールや、CD-ROMドライブのためのルールを追加してください。他にパーティションやドライブがあれば、それも忘れずに追加しておきましょう。
以下は、より詳細な/etc/fstabの例です。
/etc/fstab
完全な/etc/fstabの例/dev/sda2 none swap sw 0 0 /dev/sda3 / ext4 noatime 0 1 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
3番目のフィールドでauto
を使う場合、mountコマンドはそのパーティションのファイルシステムが何かを推測します。これは様々なファイルシステムを使う可能性があるリムーバルメディアで推奨されます。4番目のuser
オプションで、ルート権限を持たないユーザーがCDをマウントできるようになります。
パフォーマンスを改善するために、多くのユーザーはマウントオプションとしてnoatime
オプションを付け加えたいと考えるでしょう。アクセス時間が記録されないので、結果としてより高速なシステムになります(一般的にこの記録はほとんど必要ありません)。TRIM
コマンドが動くようにdiscard
オプション(現時点ではext4とbtrfsのみ)を使ってSSDをマウントする場合も、noatime
オプションを付けるとよいでしょう。
再度/etc/fstabを確認して、保存、エディタを終了します。
ネットワーク接続のための情報
ホストとドメインのための情報
さて、PCには名前をつけなければいけません。至極簡単に思えますが多くのユーザーはPCに名前を付けるのに苦労しています。事を早く進めるために、選んだ名前は後で変更できることを知っておいてください。判りやすいように、ここでは単にマシンをtux、ドメイン名をhomenetworkと呼ぶことにします。
root #
nano -w /etc/conf.d/hostname
# hostname変数にホスト名を設定する。 hostname="tux"
次に、もしドメイン名が必要なら、/etc/conf.d/netに設定します。ISPやネットワーク管理者からそう言われているか、DNSサーバがありDHCPサーバがない場合には、ドメイン名が必要になります。もし、ダイナミックIPアドレスやネットワーク設定のためにDHCPを使っている場合は、DNSやドメイン名は気にしなくても構いません。
デフォルトで/etc/conf.d/netが無い場合、新規作成する必要があります。
root #
nano -w /etc/conf.d/net
# dns_domain_lo変数にドメイン名を設定する。 dns_domain_lo="homenetwork"
もしドメイン名を設定しない場合、ログイン画面に"This is hostname.(none)"というメッセージが現れるでしょう。これは/etc/issueを編集して、
.\O
を消去することで対策できます。もし、NISドメインが必要であれば(それが何かを知らないユーザは必要ありません)、以下のように定義してください。
root #
nano -w /etc/conf.d/net
# nis_domain_lo変数にNISドメイン名を設定。 nis_domain_lo="my-nisdomain"
DNSとNISの設定詳細については、/usr/share/doc/netifrc-*/net.example.bz2にある例を参照してください。このファイルはbzlessで読むことができます。また、DNS/NIS設定を管理する場合、net-dns/openresolvをインストールすることは興味深いでしょう。
ネットワークを設定する
Gentoo Linuxをインストールしている間、ネットワークが使えるように設定されています。しかし、それはインストールCDのためのネットワーク設定であり、インストールされた環境のためのものではありません。では、インストールされたGentoo Linuxのネットワークを設定しましょう。
bonding、ブリッジ、802.1Q VLAN、無線ネットワークに間するより詳細な情報は、Gentoo Network Configurationセクションを参照してください。
すべてのネットワーク設定は/etc/conf.d/netにあります。直接的ではありますが、おそらく直感で理解できる構文ではありません。しかし恐れることはありません。すべては以下で説明されます。/usr/share/doc/netifrc-*/net.example.bz2に、多くの異なる設定に対して完全にコメントが付与された例が記載されています。
最初に net-misc/netifrc をインストールします。
root #
emerge --ask --noreplace net-misc/netifrc
DHCPはデフォルトで使用されます。DHCPを動かすために、DHCPクライアントをインストールしなければなりません。これは Installing Necessary System Toolsで説明されます。
もし、特別なDHCPのオプションを設定している、もしくはDHCPをまったく使いたくない等の理由で、ネットワーク接続をしなければならないときは、/etc/conf.d/netを編集します。
root #
nano -w /etc/conf.d/net
IPアドレスとルーティングを設定するのはconfig_eth0とroutes_eth0です。
ここではネットワークインターフェイスがeth0であると仮定していますが、これはシステムによって違います。もし、最近のインストールメディアから起動しているのであれば、インストール時と同じインターフェイス名が使われると思ってよいでしょう。より詳しい情報はNetwork Interface Namingを参照してください。
/etc/conf.d/net
config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" routes_eth0="default via 192.168.0.1"
DHCPを使う場合は、config_eth0を設定してください。
/etc/conf.d/net
DHCPの定義config_eth0="dhcp"
使用可能なオプションのリストについては、/usr/share/doc/netifrc-*/net.example.bz2を参照してください。もし特定のDHCPを設定しなければならないときは、DHCPクライアントのmanページも必ず読みましょう。
もし、システムが複数のネットワークインターフェースを持っている場合は、config_eth1、config_eth2、…に対して上記の手順を繰り返してください。
設定を保存し、エディタを終了しましょう。
起動時に自動でネットワーク接続する
ブート時にネットワークインターフェースを有効にする場合は、デフォルトランレベルにそれらを追加する必要があります。
root #
cd /etc/init.d
root #
ln -s net.lo net.eth0
root #
rc-update add net.eth0 default
もし、複数のネットワークインターフェースがある場合は、net.eth0と同じ方法で、適切なnet.*ファイルを作成しなければなりません。
もし、ブート後、ネットワークインターフェース名(現在、このドキュメントではeth0
と記述)が間違っていた場合、次の手順で修正してください。
- 正しいインターフェース名で/etc/conf.d/netファイルを更新します。(例えば
eth0
をenp3s0
と修正) - 新しいシンボリックリンクを作成。(例えば/etc/init.d/net.enp3s0)
- 古いシンボリックリンクを消去。(rm /etc/init.d/net.eth0)
- 新しいスクリプトをデフォルトランレベルに追加。
- rc-update del net.eth0 defaultで古いスクリプトを消去。
hostsファイル
次に、ネットワーク環境をLinuxに伝えます。これは/etc/hostsに定義され、ネームサーバでは解決できないホストについて、ホスト名からIPアドレスを決められるようになります。
root #
nano -w /etc/hosts
/etc/hosts
ネットワーク情報の記述# 以下は本システムの定義です。必ず設定されなければなりません。 127.0.0.1 tux.homenetwork tux localhost # ネットワーク上にあるその他のホストの定義です。任意設定です。 192.168.0.5 jenny.homenetwork jenny 192.168.0.6 benny.homenetwork benny
設定をセーブし、エディタを終了しましょう。
任意自由選択: PCMCIAを機能させる
PCMCIAユーザーは、sys-apps/pcmciautilsパッケージをインストールする必要があります。
root #
emerge --ask sys-apps/pcmciautils
システム情報
rootパスワード
passwdコマンドでルートのパスワードを設定します。
root #
passwd
ルートアカウントはとてもパワフルなアカウントなので、強いパスワードを与えてください。後で、日常の作業のための一般ユーザーアカウントを作成します。
initとboot設定
(少なくともOpenRCを使っているときは)Gentooは、システムのサービス、スタートアップ、シャットダウンの設定に/etc/rc.confを使います。/etc/rc.confを開いて、ファイル中のすべてのコメントを楽しみましょう。設定をレビューして、必要な箇所を変更してください。
root #
nano -w /etc/rc.conf
次に、キーボードを設定するために/etc/conf.d/keymapsを開いて、正しいキーボードを選択、設定します。
root #
nano -w /etc/conf.d/keymaps
keymap変数に特に注意してください。もしキーマップを間違えた場合、キーボードを叩くたびに、奇妙な現象が起こるでしょう。
最後に、クロック設定をするために/etc/conf.d/hwclockを編集します。個々の好みに合わせて設定できます。
root #
nano -w /etc/conf.d/hwclock
もし、ハードウェアクロックがUTCになっていない場合、このファイルにclock="local"
を記述しなければなりません。そうでない場合、クロックスキューが発生するでしょう。