ハードウェアクロックの時系をシステムに伝える
まずは/etc/default/rcSを編集してハードウェアクロック(マザーボードにあるCMOSの時間)の1秒の基準(GMT or UTC)をマシンに伝える。ハードウェアクロックの基準は不明だったがUTCと考えることにしよう。また、上のようにインストールした場合はデフォルトでUTC=yesなので、編集する必要は無かった。しかし、debianのクロスインストールの手引きには書いてあるので一応確認。古めの情報だが、Linux Debian 2.0 でのrcS.dの動作についてによれば、/etc/default/rcSは起動時にS10checkroot.shから呼ばれて環境変数の初期設定を行うためのファイルのようだ。
# echo UTC=yes >> /etc/default/rcS # grep -n UTC /etc/default/rcS 13:UTC=yes 18:UTC=yes
本来、この作業にはコンピュータのハードウェアクロックがUTCとGMTのどちらの基準で1秒を刻んでいるか知っていなければならない。ただ実際問題として、どこにでもある汎用のコンピュータこの設定を行う場合は、ハードウェアクロックがGMTとUTCのどちらを基準にしているかを知る必要は無く、単純にUTCを採用すればよいと思われる。なぜなら、どちらにしてもハードウェアクロックが基準に対してずれずに動くのはかなり難しそうな気がするからだ。GMTの場合は地球の自転を考慮して、UTCの場合はセシウム原子時計を基準にして、1秒を決めねばならず現実的ではない。どこかにあるGMTやUTC基準の時計から情報をもらうにしても、そのためのデバイス(電波時計)と汎用コンピュータの価格の比較から、現実的でない選択肢となってしまうと思うからである。
システムの時間帯をAsia/Tokyoに
初期状態ではタイムゾーンがUnknownなので、dateコマンドで表示される時間やlsのタイムスタンプも日本時間の9時間後。使いにくいかもしれないので、日本時間に変えておく。
# tzconfig
IPアドレスとデフォルトゲートウェイの設定
coLinuxからどのネットワークに接続したいのかによって設定は変化する。eth0に割り当てるアドレスを192.168.0.2とし、
まずは、eth0に割り振ったIPアドレスが所属するネットワークの外のネットワークにパケットを送るための出口(デフォルトゲートウェイ)を設定しなければ外のネットワークと通信できない。ここでは、192.168.0.1をデフォルトゲートウェイとした。一時的にゲートウェイを設定するには下のようにコマンドを打つ。この場合、再起動後に設定は消える。
# route add -net 0.0.0.0 network 0.0.0.0 gw 192.168.0.1 eth0
永続的にゲートウェイを設定するには下のように/etc/network/interfacesを編集して、eth0のブロックにgateway 192.168.0.1を追加する。このようにすると起動時に自動的にルーティングテーブルにデフォルトゲートウェイが追加される。このあたりの解説はデフォルトゲートウェイの設定が詳しい。
# vi /etc/network/interfaces >auto eth0 >iface eth0 inet static > address 192.168.0.2 > network 255.255.255.0 > gateway 192.168.0.1
下のようにしてupとpre-downを使って設定することも可能だが、煩雑。
# vi /etc/network/interfaces >auto eth0 >iface eth0 inet static > address 192.168.0.2 > network 255.255.255.0 > up route add -net 0.0.0.0 network 0.0.0.0 gw 192.168.0.1 eth0 > pre-down route add -net 192.168.0.0 network 255.255.255.0 eth0
ルーティングテーブルの確認は下のようにして行う。ルーティングテーブルの読み方は、他のネットワークのコンピュータとはどうやって通信しているの?が詳しい。gateway 192.168.0.1を追加したことで、一番下の行が追加され、192.168.0.0/255.255.255.0のネットワークに所属しないアドレスを宛先に持つパケットは全て、eth0を通して192.168.0.1へ送られることになった。
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.255.0 U 0 0 0 eth0 default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
「外のネットワークにパケットを送ることができる」とかいたが、注意がある。この場合なら、自分の所属するネットワーク192.168.0.0/255.255.255.0に属するアドレスを持つコンピュータがデフォルトゲートウェイの外にあってもパケットを送ることが出来ないということだ。ということで、最終的な設定ファイルは下のようになる。
# vi /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.0.2 network 255.255.255.0 gateway 192.168.0.1
ロケールのインストールと設定
まずはインストール。
# apt-get install locales
其の後、設定。とりあえずja_JP.UTF-8のロケールを作成して、システムのデフォルトをこれにしておく。
# dpkg-reconfigure locales