resolv+ を入れたのだ

resolv+ を入れると,SunOS のいろいろなコマンドで domain name を使えるようになります。しかしこれには libc の入れ替えがともない,この過程でコマンドが7つしか(他に説あり)使えなくなります(ls も使えない!)。

周囲のおどし(事によっては OS 入れ替えだぞぉとか)にビビリながらも resolv+ のインストールに成功(おおげさ?)したので,やり方(やった事)をここに書いて置きます。

resolv+ の入手

まずは resolv+ を手にいれました。多分ほうぼうの FTP サーバにあるんだと思いますが,私は akiu から取ってきました。ここ↓にある resolv+2.1.1.tar.Z です。

ftp://ftp.tohoku.ac.jp/pub/net/resolv+

resolv+ の make

これを適当な dir で展開(% uncompress -c resolv+2.1.1.tar.Z | tar fx -)して,その dir に移って,まずは Makefile を編集しました。NIS を使ってないので DEFS の -DNIS を消し,EXTRASRCS と ESTRAOBJS のコメントを外しました。

% make
% make shared

make では gcc で,make shared では cc でコンパイルしているようです。
私の WS の環境(Sun SLC, SunOS 4.1.4 JLE なし)では make は何事もなく通りました。その後の make shared では2ヵ所ほど引っかかりました。一個所目は shlib/Makefile の lib.so: の部分の最後の方で,

awk -f lorder.awk lorder-sparc

の部分でした。これは shlib/lorder.awk の break の行をコメントアウトしたら大丈夫でした。もう一個所は shlib/Makefile の libc.sa の頭の部分でした。これは Sun の awk を使うようにした(PATH で最初に見つかるのが awk@ -> gawk だったので,% mv awk awk.org して/bin/awk を使うようにした)ら無事通過しました。これで shlib の中に libc.sa.1.9.1 と libc.so.1.9.1 の二つ(以下,二つまとめて libc.s?.1.9.1 と表記)が出来ました。

注:後でやり直してみたところ,gawk でなく Sun の awk(/bin/awk)を使ったら2ヵ所とも問題なく make shared できました。

ここで

% su root
# make install

としました。これで libresolv.a が /usr/lib にインストールされます。

libc の入れ替え

次に,いよいよ恐怖の:)libc 入れ替え。

最初に,shlib の中に出来た libc.s?.1.9.1 の owner を root に変更しました。さらに /usr/lib/libc.s?.1.9.1 の mode を確認(sa: 644, so: 755 だった)して,これに合わせてそれぞれ chmod しました(これをやらないと,入れ替えた後に root でしか login できなくなるそうです)。ついでに,念のためにこの二つのコピーを作って置きました。

ここで,関連するファイル(shlib/libc.s?.1.9.1 とそのコピー)の full path をメモっておきました。ls 使えなくなると聞いていたので。

次に,いよいよ /usr/lib の libc.sa.1.9 と libc.so.1.9 の名前を適当に変更します(これもメモメモ)。するとあら不思議,ls が使えなくなってます。(^^;;

この状態のうちに「おぉ ls も pwd も使えない!」とか楽しんでおきましょう。:)

遊び終わったら,shlib/libc.s?.1.9.1 を /usr/lib に mv して, shutdown & reboot しました。

その結果

さて reboot したところ。。。
わーい!domain name 使えるー!!:):)

libc 入れ替えに成功。良かった,失敗しなくて。(^^;;

ところでここまでだと /etc/hosts を参照しなくなってしまいます。これは /etc/host.conf というファイルを作り,そこに次の様に書いておきます。

order hosts,bind,nis

これで bind より先に /etc/hosts を見るようになります。ちなみに私は /etc/hosts.conf というファイルを作って,あれぇ?とか言ってました。(^^;;;


感想:いやぁ,割と簡単なのね。もっと複雑で恐い事かと思ってたのに。:)
とか言いながら,chat に入りっぱなしだった奴。

次のページを参考にしました。昔の BBMS の log だな。これは。

http://libra.pse.che.tohoku.ac.jp/~saeda/shared_doc/tips/resolv-setup


御意見御感想は けいじわん (webBBS です)までどうぞ。

satodai@dog.intcul.tohoku.ac.jp