[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gentoojp-users 527] Re: I'm new to gentoo.
- Subject: [gentoojp-users 527] Re: I'm new to gentoo.
- From: Mamoru KOMACHI <usata@xxxxxxxxxxxxxxxxxxxxxxx>
- Date: Sat, 06 Sep 2003 03:13:56 +0900
- References: <[email protected]>
小町です。
At Sat, 06 Sep 2003 02:06:44 +0900,
Hajime Tanaka wrote:
> 1. NISで名前解決をする以前にNFSマウントが試みられて失敗する。
名前解決は普通 DNS ですると思うのですが、そのシステムでは NIS で名前解
決するように設定してあるのでしょうか? (/etc/host.conf を適切に書いて)
> 起動時のメッセージのラストあたり、gentooでは
> Binding eth0 up...
> Setting default gateway...
> Mounting network filesystems...
> Starting portmap...
> Starting sshd...
> Starting ypbind...
> Starting local...
> とメッセージが現れて、その後にログインプロンプトが出ます。
> vineではどうもypbind(NISクライアントのためのデーモン)が
> portmap(NFSのためのデーモン)より先に起動しているのでしょうか、
> 以下の問題が起こらない
いえ、portmap は RPC を使うプログラムなら必ず先に起動してないといけな
いので、Vine で ypbind が portmap より先に起動する、などということは考
えにくいと思います。Vine で設定を見てみましたが、portmap → ypbind →
nfs の順に起動しています。
> master:/home /home/ nfs rw 0 0
> などを記述している場合、クライアントがNFSマウントを試みる段階では
> master(NIS/NFSサーバの名前)を知らない
ネットワークが上がっているのであれば普通知っていると思うのですが……。
/etc/resolv.conf の設定次第だと思います。ちなみにこちらでは名前で記述
してマウントできています(名前解決の順序は hosts,bind,nis になっていま
すが、NFS サーバの名前が引けるのは bind だけです)。
> ここでmasterでなくNIS/NFSサーバのIPアドレスを直接書けば、DHCPによる
> アドレス取得はNFSマウントより先に試みられるので問題ないようです。
DHCP でアドレスを取得する際 /etc/resolv.conf も書き換えられると思うの
ですが(これも設定によりますが)、これの設定が間違っている、という可能性
はありませんか? もしくは /etc/host.conf の設定で resolv.conf をちゃん
と見ていない、ということも考えられます。
> しかしDHCPによるアドレス取得、NFSマウント、NISによる情報取得が
> どういう順序で起動するように定められているのかを調べ切れておらず、
> そこが気味のよくないところです。
/etc/init.d の各スクリプトの中の depend() をご覧ください。
use/need/after/before など書いてあると思います。
/lib/rcscripts/sh/rc-help.sh なんかを実行してみるとヘルプが出るので各々
どういった意味か分かると思います。
> vineではたしかchkconfigがらみの設定方法があったように記憶しています
> が(詳細を忘れました)、
数字と S や K で各 rc スクリプトの起動順を指定する System V 流の管理で
すよね。まあ数字でしか管理できないのでちょっと弱いというか……。provide
や before なんかで書けるのは rcorder という NetBSD 由来のものだと思い
ますが、こちらのほうが詳細に書けてよいと思います。
> gentooではサービスの起動の順番をどう設定すればいいのでしょうか。
上記書いたように depend() の中に必要なものを足せばよいです。
> 2. 起動時に実行したいシェルスクリプトはどこにおけばよいのか?
Gentoo 的には /etc/conf.d/local.start /etc/conf.d/local.stop にそれぞ
れ起動時に実行したいコマンド、終了時に実行したいコマンドを書くのが普通
のようです(/etc/rc.local に当たります)。
> rc-updateコマンドを参考にして、できあがったスクリプトを
> /etc/init.dに入れ、
> rc-update add <スクリプト名> default
> としましたが、エラーこそ出ないもののやはり起動後に確認すると
> NFSマウントされていません。
これは一応動くはずなのですが、動きませんか? ちゃんと depend() の設定
をしないと変なタイミングで起動されて動かないこともありますし、また、も
しかするとパスが通ってなくて動かないということもあるかもしれません
が……(その場合ならフルパスで書けば通るはず)。
> 3. rc-update add <サービス名> <ランレベル数>を実行すると
> アラートが出されて機能しない。
>
> rc-update add sshd 3
> などとしても
> runlevel 3 not found;
> skipping
> と表示されます。これはランレベルに応じたファイルやディレクトリ
> を用意せよと言うことでしょうか。
これはその通りです。Gentoo にはそもそも数字のランレベルといった概念は
ありません。/etc/inittab や /etc/runlevels を見ても分かるように、boot,
default, nonetwork, single という4つのランレベルが存在するだけです。他
のランレベルがほしければ適宜 /etc/runlevels の下にディレクトリを作成す
る(起動時に実行したければ /etc/inittab もいじる)、という感じになります。
> 4. /etc/make.conf中で
> PROXY="<ip adress>:<port number>"
> としても反映されない。
これはどうも wget が HTTP_PROXY や FTP_PROXY といった変数を参照してな
いからのようなのですが、現在の /etc/make.conf からはいずれの変数の記述
も消えている(以前なくて一時入っていてまたなくなった)ので、もしかしたら
サポートしなくなったのかもしれません。以前はダウンロードに fetch を使
うのがデフォルトだったことがあったと思いますが、fetch は HTTP_PROXY や
FTP_PROXY といった環境変数を参照するので、そのせいかも分かりません。
(fetch 以外にも2つくらい違うダウンローダーがあったような……去年の夏あ
たりの /etc/make.conf を見れば分かると思いますが)
> たしか公的な文書に
> /etc/make.conf, /etc/make.global中に
> HTTP_PROXY="<ip adress>:<port number>"
> FTP_PROXY="<ip adress>:<port number>"
> あるいは
> PROXY="<ip adress>:<port number>"
> とすれば
> emerge syncあるいはemerge-webrsyncが有効になるとあったはず
> なのですが、だめでした。
emerge sync では rsync しか使わないのでこの設定は意味ないです。emerge
で distfiles を取得する際に wget を使うのでプロキシの設定が利いてきま
す。emerge-webrsync はスクリプト自体見れば分かりますが、Portage のスナッ
プショットの取得に wget を使っているため、こちらはプロキシの設定が関係
あります。
ちなみに Gentoo のインストールガイドや FAQ には http_proxy/ftp_proxy
を使うように記述されていますが、man make.conf すると HTTP_PROXY や
FTP_PROXY が使えるかのような記述があります。http_proxy や ftp_proxy と
いったように小文字で書けば(デフォルトは wget なので)使えるのですが……。
--
Mamoru KOMACHI <usata@xxxxxxxxxxxxxxxxxxxxxxx>
http://www.sodan.ecc.u-tokyo.ac.jp/~usata/