こんばんは.齋藤です. In article Message-ID:<20030402.085635.91326053.snozawa@xxxxxxxxxxxxxxxxxxxxx> Satoshi I.Nozawa wrote: = のざわです。 = = > こんにちは.齋藤です. = = > 私の得た結論は,/etc/sysconfig/network-scripts/ifcfg-eth0 を = > 削除するというものです.このファイルにBOOTPROTO=dhcp と書かれて = = 削除しても認識するんですか。いや純粋に興味あります。こんな方法があった = とは、驚きとともに、参考にしようと思います。 boot loader のGRUB にNIC のモジュールを組み込んでいる ため,最初のOS load の時点ですでにNIC はactive になっており, かつ,DHCP によりIP が割り当てられるので,OS 起動後にIP を もう一度割り当てる必要はないのでは,という予測の下に試してみて うまくいきました./etc/rc.d/init.d/network では, /etc/sysconfig/network-scripts/ifcfg-* が存在していればその 設定を有効にするというようにしているので,diskless マシンに おいては,なければないでどうということはない,と考えました. ただ,(手動でやってもよいのですが)gateway やNIS domain 名の 設定をやって欲しいので,下記のようにしています.↓↓ = > /etc/rc.d/init.d/network が実行されるときにもう一度DHCP に = = は何を書いていますか。 = = NETWORKING=yes = HOSTNAME=localhost.localdomain = NISDOMAIN=nis-domain = = という感じですが、eth0 の指定はどうされていますか。モジュールでなくカー = ネルに組み込んでいても、関係ないのか。 NIC 用のドライバは,カーネルに組み込むように再構築しています. 先に紹介したWeb page でも組み込むように,とアドバイスしてありま すし,/lib/modules 以下がきちんと読み込まれるのか,ちょっと不安 だったからです(module の状態で試したことはまだありません). /etc/rc.d/sysconfig/network には NETWORKING=yes GATEWAY=172.22.3.6 NISDOMAIN=himitsu とだけ書いています.ホスト名を設定するために, /etc/rc.d/rc.sysinit の中で ――――― ここから ――――――――――――――――――――――――― ... # Read in config data. if [ -f /etc/sysconfig/network ]; then . /etc/sysconfig/network else NETWORKING=no fi if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then HOSTNAME=localhost fi hostname $(cat /etc/hosts |\ #←追加 grep $(ifconfig eth0 | grep inet | cut -d: -f2 | cut -d' ' -f1) |\ #←追加 awk '{ print $2 }') #←追加 HOSTNAME=$(hostname) #←追加 ... ――――― ここまで ――――――――――――――――――――――――― としています.diskless client の/etc/hosts は, diskless サーバ上で ypcat hosts | sort | uniq の結果をdiskless client 用のhosts ファイルに書き込んでいます. /etc/rc.d/rc.sysinit を実行している段階でホスト名が設定される ことから,その直前で/etc/rc.d/init.d/ypbind start を記述しても 動作が怪しそうなので,上記のようにしています. 他の情報も同様にしてサーバマシン上で更新すればdiskless client でNIS を使わなくても済むのかもしれませんが,アカウント 情報が必要なのはdiskless マシンだけではないことから,管理が ややこしくなりそうなので,NIS を使うようにしています. -- Yasuyuki SAITO