Linux From Scratch 5.1.1 / 5.システムブートスクリプトを設定する



LFS-Bootscripts のインストール

tar jxvf lfs-bootscripts-2.0.5.tar.bz2
cd lfs-bootscripts-2.0.5
make install
cd /sources
rm -rf lfs-bootscripts-2.0.5

setclock スクリプトを設定する

setclock スクリプトはお使いのハードウェアクロック( BIOS や CMOS クロックとしても知られています)から時間を読み出し、 /etc/localtime ファイルを使って、ハードウェアクロックが GMT に設定されていればその時間をローカル時間に変換したり、ハードウェアクロックがすでにローカル時間に設定されていればそのまま使用したりします。ハードウェアクロックが GMT に設定されているか否かを自動的に検出する方法はないので、ここは自分たちで設定しなくてはいけません。

お使いのハードウェアクロックが GMT に設定されていないなら、下の UTC 変数の値を 0 ( zero )に変更してください。

以下のコマンドを実行して新しいファイル /etc/sysconfig/clock を作ります。

cat > /etc/sysconfig/clock << "EOF"
# Begin /etc/sysconfig/clock

UTC=1

# End /etc/sysconfig/clock
EOF

localnet スクリプトを設定する

localnet スクリプトの一部はシステムのホスト名を設定します。これは /etc/sysconfig/network の中で設定しなければいけません。

以下のコマンドをを実行して /etc/syscoinfg/network ファイルを作り、ホストネームを入力します。

echo "HOSTNAME=localhost.localdomain" > /etc/sysconfig/network

"localhost.localdomain" はコンピュータの呼称で置き換える必要があります。ここで FQDN ( Fully Qualified Domain Name: 完全修飾ドメインネーム)を入力するべきではありません。その情報は後ほど /etc/hosts ファイルの中に置かれます。

/etc/hosts ファイルを作成する

ネットワークカードを設定する場合、IP アドレスと FQDN 及び /etc/hosts ファイルの中で使われる可能性のあるエイリアスを決めなければいけません。文法は

<IP address> myhost.example.org aliases
となります。IP アドレスがプライベート IP アドレスの範囲にあるのを確かめなければいけません。有効な範囲は
	Class Networks
	A     10.0.0.0
	B     172.16.0.0 through 172.31.0.0
	C     192.168.0.0 through 192.168.255.0

たとえば 192.168.1.1 は IP アドレスとして妥当です。この IP 用の FQDN として www.linuxfromscratch.org は妥当です。

ネットワークカードを使うつもりがなくても、FQDN を決める必要があります。これは一部のプログラムが正しく動作するために必要です。

ネットワークカードの設定を行うつもりがないなら、以下のコマンドを実行して /etc/hosts ファイルを作ります。

cat > /etc/hosts << "EOF"

# Begin /etc/hosts (no network card version)

127.0.0.1 <value of HOSTNAME>.mydomain.com <value of HOSTNAME> localhost

# End /etc/hosts (no network card version)
EOF

ネットワークカードが設定されているなら、以下のコマンドを実行して /etc/hosts ファイルを作ります。

cat > /etc/hosts << "EOF"
# Begin /etc/hosts (network card version)

127.0.0.1 localhost.localdomain localhost
192.168.1.1 <value of HOSTNAME>.mydomain.org <value of HOSTNAME>

# End /etc/hosts (network card version)
EOF

もちろん、192.168.1.1 と <value of HOSTNAME>.mydomain.org はお使いのネットワークにあわせて(または、もしこのマシンが存在するネットワークに接続される予定であり、ネットワークまたはシステム管理者に割り当てるよう要求された IP アドレスがあるならばそれに)変更する必要があります。

ネットワークスクリプトを設定する

この節はあなたがネットワークカードを設定する場合にのみ適用します。

どんなネットワークカードもつけていないなら、おそらくネットワークカードに関連するどんな設定ファイルも作るつもりはないでしょう。その場合には、すべてのランレベルディレクトリ( /etc/rc.d/rc*.d )から network シンボリックリンクを削除しなければいけません。


デフォルトゲートウェイを設定する

ネットワークに接続するならば、このマシンに対してデフォルトゲートウェイを設定するといいでしょう。以下のコマンドを実行して /etc/sysconfig/network ファイルに適切な値を加えます。

サンプル1

cat >> /etc/sysconfig/network << "EOF"
GATEWAY=192.168.1.2
GATEWAY_IF=eth0
EOF

サンプル2

cat >> /etc/sysconfig/network << "EOF"
NETWORKING=yes
HOSTNAME=localhost.localdomain
EOF

GATEWAY と GATEWAY_IF に対する値はお使いのネットワーク設定に合わせて変更する必要があります。 GATEWAY はデフォルトゲートウェイの IP アドレスを指定し、GATEWAY_IF はデフォルトゲートウェイに向かうネットワークインターフェイスを指定します。

ネットワークインターフェイスの設定ファイルを作成する

どのインターフェイスがネットワークスクリプトによって有効にされ、または無効にされるかは /etc/sysconfig/network-devices ディレクトリにあるファイルに依存します。このディレクトリには ifconfig.xyz で、xyz の部分がネットワークインターフェイスの名前( eth0 や eth0:1 といった)という形式のファイルを置きます。

この /etc/sysconfig/network-devices ディレクトリの名前を変更するか、移動するつもりなら、/etc/sysconfig/rc ファイルを更新して新しいパスを提供することで network_devices を更新してください。

さて、そのディレクトリの中の新しいファイルは以下のものを含んで作られます。以下のコマンドはサンプルの ifconfig.eth0 ファイルを作ります。

サンプル1

cat > /etc/sysconfig/network-devices/ifconfig.eth0 << "EOF"
ONBOOT=yes
SERVICE=static
IP=192.168.1.1
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
EOF

サンプル2

cat > /etc/sysconfig/network-devices/ifconfig.eth0 << "EOF"
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
EOF

もちろん、これらの変数の値はそれぞれのファイルで適切な設定に合うように変更する必要があります。もし ONBOOT 変数が yes に設定されていると、ネットワークスクリプトはシステムの起動の間にそれを有効にします。もし yes 以外に設定すると、それはネットワークスクリプトに無視され、有効になりません。

Creating the /etc/resolv.conf file

If you're going to be connected to the Internet then most likely you'll need some means of DNS name resolution to resolve Internet domain names to IP addresses. This is best achieved by placing the IP address of your DNS, available from your ISP (Internet Service Provider) or network administrator, into /etc/resolv.conf. Create the file by running the following:

cat > /etc/resolv.conf << "EOF"
# Begin /etc/resolv.conf

nameserver <IP address of your primary nameserver>
nameserver <IP address of your secondery nameserver>

# End /etc/resolv.conf
EOF

Of course, replace <IP address of your nameserver> with the IP address of the DNS most appropriate for your setup. There will often be more than one entry (requirements demand secondary servers for fallback capability). The IP address may even be a router on your local network.