01、<<イントロダクション>> ご承知のように SunOS は Solaris2.X と違ってNISを使わない場合は DNS を 参照しません。そこで NIS を使わない場合 resolv+ を構築し、含まれる 共有ライブラリを入れ替える事で、DNSを参照できるようになります。 以下の方法は最初ご近所の「なかさん」から教えて頂きました。(感謝多謝) 他にも NIS を使わない場合の方法として BIND に含まれる 共有ライブラリを 入れる方法もあるそうです。
02、<< 準備 >> /usr/lib/shlib.etc の中を見て、空の時は共有ライブラリのための パッケージを入れる。 A)標準の shlib.etc をバックアップする。 # cd /usr/lib # mv shlib.etc shlib.etc.org B)パッチなどから入れ替え用 shlib.etc を取り出す。 # cd /tmp (例えば /tmp ) # gtar -zxvf p0104-02.tar.gz p0104-02/usr/lib/shlib.etc ( for SunOS ) # mkdir /usr/lib/shlib.etc_sun # cp -p /tmp/p0104-02/usr/lib/shlib.etc/* /usr/lib/shlib.etc_sun # gtar -zxvf p0104.tar.gz p0104-02/shlib.etc_jle ( for JLE ) # mkdir /usr/lib/shlib.etc_jle # cp -p /tmp/p0104-02/shlib.etc_jle/* /usr/lib/shlib.etc_jle # cd /usr/lib # ln -s shlib.etc_sun shlib.etc
03、<< resolv+2.1.1 >> resolv+2.1.1.tar.gz をどこかのftpdの /pub/Securty/tools/ などから落とす。
04、<< インストール >> $SRCで解凍展開 % cd /usr/local/src などの場所で % gtar -zxvf resolv+2.1.1.tar.gz として展開する。 Makefileの変更 最初の方でccを使うように CC=gcc ---> CC=cc へ とNISは使っていないので DEFS= -DNIS -DDEBUG -O ---> DEFS= -DDEBUG -O とした。 SunOS共有ライブラリとJLE共有ライブラリのMakefileを作成する。 % cd shlib % cp Makefile Makefile.sun Makefile.sunの中の cat を全て head -1 (いち)にする。 % cp Makefile.sun Makefile.jle Makefile.jleの中の cat を全て head -1 (いち)にする。 Makefile の変更( 20行目くらいから30行目くらいにかけて ) -mv tmp/xccs.multibyte. tmp/xccs.multibyte.o ---> -mv tmp/euc_gen_globals tmp/euc_gen_globals.o @/bin/ls /usr/lib/libc.so.* > TMP_FILE ---> /bin/ls /usr/lib/libc.so.101.* > TMP_FILE @/bin/ls /usr/lib/libc.so.* > TMP_FILE ---> /bin/ls /usr/lib/libc.so.101.* > TMP_FILE @/bin/ls /usr/lib/libc.sa.* > TMP_FILEA ---> /bin/ls /usr/lib/libc.sa.101.* > TMP_FILEA /usr/lib/shlib.etc へリンク # cd /usr/lib # ln -s shlib.etc_sun shlib.etc make する。 # cd /usr/local/src/resolv+/shlib ( ソースのあるとこ) # make -f Makefile.sun all こんな warning が出てくるが無視していいらしい。 ranlib: warning: libc.sa.1.9.1(res_data.o): no symbol table shlib の中に libc.so.1.9.1 と libc.sa.1.9.1 ができているはずなので インストールする。 # cp -i libc.so.1.9.1 /usr/lib # cp -i libc.sa.1.9.1 /usr/lib # ranlib /usr/lib/libc.sa.1.9.1 # ldconfig 次に同じ要領で JLE用を作り、インストールする。 # cd /usr/lib # ln -s shlib.etc_jle shlib.etc # cd /usr/local/src/resolv+/shlib ( ソースの場所 ) # make -f Makefile.jle all こんな warning が出てくるが無視していいらしい。 ranlib: warning: libc.sa.1.9.1(res_data.o): no symbol table shlib の中に libc.so.101.9.1 と libc.sa.101.9.1 ができているはずなので インストールする。 # cp -i libc.so.101.9.1 /usr/lib # cp -i libc.sa.101.9.1 /usr/lib # ranlib /usr/lib/libc.sa.101.9.1 # ldconfig
05、<< /etc/resolv.conf を用意する >> 以下のような ファイルを作る。 order hosts,bind trim foo.shin.xx.jp nospoof on alert on
06、<< その他 >> 以上で DNS が引けるようになったが、ライブラリを スタティックリンクしてる コマンド(rcpなど)はもちろんこれでもDNSが引けないので、最後の手段 /etc/hosts に記述する。( やっぱり。これか! (^.^;;;; ) それでは ふろ〜む しんたろ@茨城県境町の空のしたより ∩ ∩ ( ̄。 ̄)..zzZ E-mail 〜(_ x _) URL http://shin.nu/