SunOS 5.6にbindをインストール

セキュリティ的にあれなのでいきさつは割愛。
とりあえず SunOS 5.6 ( Solaris2.6 ) に bind を入れないといけなくなった。
ぶっちゃけ bind の tar を落としてきて make すれば終わりだと思ってましたが、そうは問屋が卸してくれず、いろいろ苦労したので備忘録的にメモ。

必要な環境の構築

とりあえず gunzip が入ってなくて tar.gz が展開できない。
そこで gzip の tar をダウンロードしてきて ./configure したら gcc も cc もねーよと怒られる。
/(^o^)\ナンテコッタイ
仕方ないので gcc のパッケージを捜索。
SPARCSunOS 5.6 のバイナリなんて10年前のアイテムだからいきなり苦労苦労。
結局
http://www.ibiblio.org/pub/packages/solaris/sparc/
ここで発見。
ついでに足りてなかった以下のものを全部入手

  • GNUzip
  • GNUgcc
  • GNUmake

導入方法はどれも簡単.( GNUzip だけは tarで固めてあるだけなので gunzip は省略してOK)

wget パッケージ名.tgz
gunzip パッケージ名.tgz
tar xf パッケージ名.tar
pkgadd -d . tarで展開されたディレクトリ名

パッケージ名のところには GNUzip-x.xx とかが入ります。
pkgadd の3個目の引数は tar してできたディレクトリの名前です。たいていはパッケージ名のバージョンがない感じ。
pkgadd の2個目の変数は " . " (どっと)なので間違えないように。 -d の後ろはドット(厳密にはパッケージがある場所)です。

ただこのやり方だと gmake は入っても make が入らないという不思議な現象が起きる。
そこで vector からも gmake のパッケージをダウンロード. URLは下
サイト:ftp://ftp.vector.co.jp/pack/solaris/sparc/
直リン:ftp://ftp.vector.co.jp/pack/solaris/sparc/prog/gmake_3.75_sparc.pkg.tar.gz
tarで展開されたディレクトリに入って

# cp ./root/usr/local/bin/make /usr/local/bin

を実行。
もちろん /usr/local/bin はパスが通ってること前提ね。
これでめでたく make も使えるようになる。
ちなみにここまで4時間かかりましたorz

bindのインストール

まず ./configure したら
ar がねーよ
と怒られる.
AR ってなんじゃらほいとおもったら UNIX向けのアーカイバらしい。
仕方なくこいつを導入
先のベクターのサイトから
ftp://ftp.vector.co.jp/pack/solaris/sparc/prog/binutils_2.7_sparc.pkg.tar.gz
をダウンロードして展開
展開先のディレクトリで

# cp ./root/usr/local/bin/ar /usr/local/bin

を実行。
そして再度 ./configure
 
OpenSSLのバージョンが古いという警告が出るものの、無事 config は終了
あとは

# make
# make install

今回は”運良く”make は一発で終了。無事インストールできました。
 
あとは設定と起動スクリプトだけど、この辺はどれでも同じなので割愛。
一応備忘に起動スクリプトだけコピペ

% cat /etc/init.d/bind
#!/usr/bin/sh

PATH=/usr/local/sbin:/bin:/usr/bin

case $1 in
'start')
if [ -f /usr/local/sbin/named ];
/usr/local/sbin/named;
echo "named started.";
fi
'stop')
pid=`/usr/bin/ps -eo pid,comm | /usr/bin/awk '{ if ($2 == "/usr/local/sbin/named") print $1 }'`
if test "$pid"
then
kill $pid;
echo "named stopped.";
fi
*)
echo "usage: $0 {start|stop}"
esac

まあこんなもんです。
レトロすぎて無意味な気もするが、レトロすぎて役立つ可能性も考慮して記録。