フリーSolarisでここまでやれる!

山森丈範 YAMAMORI Takenori ●yamamori

NFS ルートのインストール


無事 CD-ROM のミニルートでネットワークブート できたので,この環境上で本番のNFS ルートをインストールしましょう.

●Solaris 7のCD-ROMからネットワークブートした時の様子
WARNING: Unable to determine keyboard type
ROM Rev. 2.2, 64 MB memory installed, Serial #XXXXXXX.
Ethernet address 8:0:20:xx:xx:xx, Host ID: xxxxxxxx.

Type b (boot), c (continue), or n (new command mode)
>
>n
ok boot net -s
Boot device: /sbus/le@0,c00000   File and args: -s
1ae00
hostname: cdrominst
domainname: mydomain
root server: server
root directory: /cdrom/Solaris_2.7/Tools/Boot
SunOS Release 5.7 Version Generic [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1998, Sun Microsystems, Inc.
Configuring devices...
|
INIT: SINGLE USER MODE
# pwd
/tmp/root
# ls
etc     kernel  var


○最小限の pkgadd

まずは NFS ルートを /a にマウントします.(サーバ上で,NFS ルートのディレクトリがあらかじめ作られていて,export されているものとします)

    # mount 192.168.1.3:/diskless/solaris2.7/root/client /a

CD-ROM は,先の bootparamsinstall エントリーにより,すでに cdrominst マシンの /cdrom にマウントされています.これの pkgadd 形式のファイルのあるところに移動します.

    # cd /cdrom/Solaris_2.7/Product

ここで pkgadd を行なえばいいのですが,なぜかこの時点で /var/sadm/install/admin/default のファイルが無く,そのままでは pkgadd がエラーになってしまいますので,

    # pkgadd -R /a -d . -a /dev/null SUNWcsr

と,-a オプションで /dev/null を指定します.

SUNWcsr はルートのおおもとのパッケージです.SUNWcsr をインストールするとこの default ファイルができるので,次からは -a オプションは要りません.さらに,必要最小限のものとして,

    # pkgadd -R /a -d . SUNWcar.c SUNWcsu SUNWkvm.c SUNWcsd SUNWcsl \
     SUNWesu SUNWlibms

とインストールします.途中に出てくる質問に はすべて y で答えます.

また,sun4c 以外の場合は,上の SUNWcar.c, SUNWkvm.c をカーネルアーキテクチャーに合わせて読み替えて下さい.

ちなみに,SUNWcsl の中には libc.so.1 等がありますが,これらは,Solaris 2.6 以前では SUNWcsu に含まれていました.

(注:最小限のパッケージのまとめ)

vfstab の設定

/etc/vfstab に,
server:/diskless/solaris2.7/root/client - /     nfs     -       no      -
という1行を追加します.
hosts の設定

/etc/hosts に,次のように記述します.
127.0.0.1       localhost loghost
192.168.1.3     server

なお,クライアント自身のホスト名と IP アドレスは,ブート時に自動的に bootparam によって取得されるので,/etc/hosts やその他のファイルに設定する必要はありません.


■本番 NFS ルートでリブート!

ブートサーバ上の /etc/ethers で,先にコメントアウトしておいた方を有効にし,NIS make します.
#08:00:20:xx:xx:xx    cdrominst
08:00:20:xx:xx:xx     client

そして,cdrominst 上で,

    # reboot

とやります.すると,今度はホスト名 client として,本番 NFS ルートのマルチユーザで,login: プロンプトまで立ち上がります.

シリアルコンソールから root で loginし,すぐにパスワードを設定します.


■その他のパッケージのインストール

現在,Solaris 7 の CD-ROM はまだブートサーバ上にマウントされています.それを client 上に NFS マウントします.

    # mkdir /cdrom
    # mount -o ro server:/cdrom /cdrom
    # cd /cdrom/Solaris_2.7/Product
unzip のインストール

Solaris 7 から,pkgadd 時に内部で unzip コマンドが使われるようになったようです.そこでまず,unzip を含む SUNWswmt をインストールします.

    # pkgadd -d . SUNWswmt
○NIS クライアントのインストール

    # pkgadd -d . SUNWnisr SUNWnisu
    # ypinit -c
    # /usr/lib/netsvc/yp/ypbind
○automount のインストール

    # pkgadd -d . SUNWatfsr SUNWatfsu
    # /etc/init.d/autofs start

筆者は既にブートサーバ上で,auto.home 等の NIS マップを設定しているので,クライアントの NIS と automount がスタートした時点でこのクライアントに対し,rlogin などが可能になります.

○locale の代用

Free Solaris 7 には jaja_JP.EUC の locale は付いていません.しかし,各種アプリケーションが LANG を参照するために,LANG=ja_JP.EUC などの状態で使用したいことが多いと思います.しかし,LANG=ja_JP.EUC にすると,/bin/sh で,

    couldn't set locale correctly

というエラーメッセージが出て邪魔です.

これを消すために,en_US の locale を代用します.SUNWplocpkgadd してから次のようにします.

    # cd /usr/lib/locale
    # ln -s en_US ja
    # ln -s en_US ja_JP.EUC
    # cd /usr/lib/locale/en_US
    # ln -s en_US.so.2 ja.so.2
    # ln -s en_US.so.2 ja_JP.EUC.so.2

なお,Free Solaris 7 でも,en_US.UTF-8 という unicode の locale は付いており,これを使って日本語を扱うことはできるようですが, これに対応しているのは CDE のアプリケーションのみのようです.

一般的な EUC の locale ベースの各種フリーウェアなどに対応するためには,後述の X_LOCALE 付きの X11R6.4 をインストールします.

TIMEZONE の設定

デフォルトでは PST になっていると思います.
/etc/TIMEZONE の,TZ=PST8PDT をコメントアウトして,

    TZ=JST-9

と書きます.これで,日本時間になります.

terminfo 仮設定

terminfokterm のデータがなく不便なので,とりあえず xterm のものをコピーして使うことにします.

    # mkdir /usr/share/lib/terminfo/k
    # cp -p /usr/share/lib/terminfo/x/xterm /usr/share/lib/terminfo/k/kterm

いずれ ncurses をインストールする時にできる kterm で置き換えるといいでしょう.その時は lynx の罫線化け防止のため,enacs のエントリーを削除した方がいいでしょう.

なお,ここで,念のため reboot しました.

○開発関係その他のインストール

    # cd /cdrom/Solaris_2.7/Product
    # pkgadd -d . SUNWtoo SUNWbtool SUNWsprot \
     SUNWhea SUNWscpu SUNWarc SUNWlibm \
     SUNWdfb.c SUNWdfbh SUNWcg6.c SUNWcg6h

以上のものをインストールしました.

/usr/include, /usr/ccs/bin や,フレームバッファー関係のものが含まれています.
ここまでで,約57Mbyteのハードディスクを使用しました.


To 『フリー Solaris でここまでやれる!』index


このページは、技術評論社 SoftwareDesign 1999年2月号、『フリーSolarisでここまでやれる!』の原稿を元に、Web 用に再構成したものです。
To 謎の処理系 SunOS 4.1.4 Home
yamamori