Solarisの設定に関する雑記
今までこのページでは、SolarisをDHCPのクライアントにする方法を紹介していました。しかし、それからいろいろと状況が変わったので、ちょっと構成を変更しました。
変化した内容
- インターネットに接続するのに、AirH"を使用しなくてはならなくなった。
- Windows経由でインターネットに接続する際、WindowsがDHCPのサーバであっても、必ずしもSolarisをDHCPのクライアントにしなくても良いことに気がついた。(遅いって)
- Solarisのマシンを更新した。
という感じです。
1.SolarisをDHCPのクライアントにする。
1.1 「/etc/dhcp.eri0」というファイルを作る
この中にはなにも記述しません。
基本的には、これだけでDHCPのクライアントとして設定されるはずなのですが、Solarisの場合はいろいろと問題があります。
注 eri0はインタフェースの名前です。環境に合わせて読み替えてください。
1.2 DNSサーバのIPアドレスを設定する
本来DHCPでDNSサーバのアドレスが取得できる様なのですが、少なくとも私の環境では取得できていませんでした。どうも、Solaris8に依存する問題のようです。
明示的にDNSサーバのIPアドレスを設定するには、以下のようにファイルを作成し編集します。
・「/etc/resolv.conf」ファイルを作成し、以下のように記述します。
「nameserver 192.168.1.1」
・「/etc/nsswitch.conf」ファイルの12行目を以下のように編集します。
「hosts: files dns」
行の最後に「dns」と書き加えてください。また、filesとdnsの記述する順番には意味があります。
注 当然ですが、「192.168.1.1」はDNSサーバのアドレスです。各自の環境に合わせて読み替えてください。
1.3 ホスト名を設定します
ここまで設定すればインターネットに接続できるようになります。しかし、Solaris8の場合、なぜかホスト名が「unknown」となってしまいます。
これは、Solaris8ではホスト名が取得できない場合ホスト名を「unknown」にする仕様になっているためです。(いろいろやったが、Solaris9でも10でもこの仕様は変わってないみたい。)
Solaris8でホスト名を設定するには以下の手順に従います。(なお、ここではホスト名にBladeを設定します。変更する場合はスクリプト中のBladeを適宜書き換えてください。)
・「/etc/rc2.d/S70set_hostname」というファイルを作り、以下のように記述します。
#!/bin/ksh
HOSTNAME="Blade"
uname -S $HOSTNAME
「/etc/rc2.d」というディレクトリにあるファイルにはランレベルが2の時に実行されるスクリプトが記述されます。また、ファイル名の先頭が「S」 の場合は起動時に、「E」の場合は終了時にそれぞれ「start」「stop」という引数を渡され実行されます。本来ならばここにあるスクリプトは「/etc/init.d」というディレクトリに本体があり、「/etc/rc2.d」にはハードリンクを格納するのが習わしです。
・「/etc/rc2.d/S73fix_etchosts」ファイルを作り、以下のように記述します。
#!/bin/ksh
rm -f /etc/hosts_BACKUP
rm -f /etc/hosts_NEWFILE
cp /etc/hosts /etc/hosts_BACKUP
sed 's/unknown/Blade/g' /etc/hosts > /etc/hosts_NEWFILE
cp /etc/hosts_NEWFILE /etc/hosts
これは、設定したホスト名で自分自身にアクセスできるように、hostsを編集するためのものです。
2 Windows経由でインターネットに接続する
AirH"をSolarisで使えるようにするには、並大抵ではない努力が必要になりそうです。そこで、Windows経由でインターネットに接続します。
2.1 WindowsでAirH"を使いインターネットに接続できるようにする。
当然です。
2.2 WindowsとSolarisをLANで接続する。
これまた当然です。
2.3 (Windowsで)AirH"による接続を「共有」するよう設定します。
コントロールパネル内の「ネットワークとダイヤルアップ接続」の中に、AirH"をダイヤルするためのアイコンがあります。それのプロパティをいじってやります。
そうすると、Windowsは自動的にDHCPのサーバとして設定されます。しかし、DHCPに関する設定は一切行えません。
注 冒頭でも書きましたが、Windows経由でインターネットに接続するだけであれば、わざわざSolarisをDHCPのクライアントにする必要はありません。固定的にIPアドレスを割り当ててしまってもインターネットに接続できます。しかし、その場合、LAN内に複数のクライアントが存在すると、「固定的に割り当てたIPアドレス」と「Windowsが割り振ったIPアドレス」がぶつかる可能性があります。なので、「固定で割り当てる」か「DHCPのクライアントにする」のどちらかに統一するべきです。
3 FTPサーバのロケールを変更する。
SolarisにWindowsからFTPすることを考えます。そのとき、FTPのクライアントがタコいと、表示がおかしくなってまともに使えない場合があります。
それは、SolarisのFTPサーバが日本語のロケールで起動されるため、FTPクライアントが日本語に対応していない場合はおかしくなるそうです。
というか、サーバプロセスを日本語のロケールで起動する必要性はありません。ということで英語のロケールで起動するよう変更します。
3.1 「/etc/init.d/inetsvc」を編集
「/etc/init.d/inetsvc」の一番最後の行「/usr/sbin/inetd -s &」を「LANG=C /usr/sbin/inetd -s -t &」と修正します。
こうすると、inetdから起動されるサーバプロセスは全て英語のロケールで起動されるようになります。
4 その他、思ったこと
本題からは外れますが。
4.1 Solarisのマシンを新規購入
Blade100を改め、FireV250を購入しました。主なスペックは下記の通りです。
- CPU UltraSPARC-IIIi 1.06GHz X 2
- メモリ 512MB
- HDD 10000rpm 36GB
- グラフィック XVR-100
4.2 ちょっと実験
昔から、どうしてもやりたかったこと。「Xでリモートのマシンにログイン」したい。・・・やりたかったんだよ。
で、興味深いことに気がついた。それは「グラフィックの性能はXサーバ側の描画速度に左右される」ということだ。当然と言われればそれまでなんだが。
ここで、Blade100(グラフィックはPGX64)にローカルにログインしてOpenGL用のデモソフト(/usr/X/demo/GL/ogl_install_check)を実行し、描画速度を調べる。そうすると、だいたい12FPS程度。
次に、FireV250からBlade100にリモートでログインして、同様に描画速度を調べる。そうするとだいたい36FPS程度。
OpenGLのレンダリングにおいても、Xサーバに接続されているグラフィックカードの性能が利用されるということが分かった。
俺的に、ちょっと、感動した。
4.3 AirH" no Solaris
AirH"はSolarisで使えるか。常識的に考えて使えないと判断するのが妥当。しかし、あえて挑戦してみる。
私が使用しているAirH"は富士通製のUSB接続の奴だ。これは、ATコマンドが使えるなど、基本的には「USB接続のモデム」として作成されているらしい。まぁ、極めて妥当な作りというわけだ。
で、Solarisの方はといえば、モデムを使用したPPPによるダイヤルアップが可能とある。
ということは、SolarisがUSB接続のモデムを使用したPPPによるダイヤルアップに対応していれば、SolarisでもAirH"が使えるのではないか、と思った。
ということで、とりあえず、突き刺してみた。
そしたら、なんか、/dev/usbにdevice0とか言うファイルができた。
もしかしたら、デバイスファイルとしてこの「/dev/usb/device0」を指定してPPPの設定をしてやればSolarisでAirH"が使えるんとちゃうのか?
勇ましく、PPPの設定に挑戦した。
接続時の制御について、かなり詳しく知っている必要がある。でも、そんな情報は手に入らない。
結局、挫折した。
|