Solaris8 for Intel のインストールとLinuxからのXの利用
2000年1月31日、2月1日に明治記念館で開催されたSun Technology Days の会場で、Solaris8の無料配布の申し込みをしたので正式リリースが発表された3月から4月頃はいつCD-ROMが着くか楽しみにしていたのですが着いたのは7月でした。
SOTECのノートPC Bird/Xへのインストールを試みたのですが、XFree86 3.x.xではうまく動作させる事ができず、このPCは Debian GNU/Linux woody 用マシンとしてしまいました。
しかしSolaris8を入れたマシンが欲しいので、何か安上がりな方法がないか物色していていました。結局、昨年秋、航空自衛隊が起こした停電事故により強制引退させられたベアボーン・タイプのASUSTeK P2B-Nをケースと一緒に買い直しHDD等は古いものを引っ越しをさせる事にしました。
これで器は用意できたのですが、インストールはノートPCへのトライで可成り習熟している自信があったにもかかわらず、4回目のインストールでやっとうまく収まったという有様で、正味12時間くらいかかりました。
主なトラブル箇所は
- Install Disk 2 of 2 以降のCD-ROMが読みとり不能になった。最初から再インストールしたら次は読めた。
- HDDにセカンドブート用パーティションがあるのを放置してCD-ROMブートしたら、HDDのセカンドブート領域でブートが続行された。fdiskでHDDのパーティションをformatし直した。
さて、インストールが一応うまくいっても、ネットワークがちょっと凝っていたので最初からネットワーク設定をいじるはめになりました。こういう場合、Solarisの世界は、Linuxに比べると全く情報不足ですね。インターネット上のWebやNews Group 、書籍など、入手可能な情報が極めて少ない事を痛感しました。ほんとに使う人はSunの講習会にでも行くのでしょうね。
NICは次の様な使い方にしようとしました。
- 3C509B(ISA) : MACアドレスをCATVインターネット接続に登録しているのでここで復活させたい。DHCPでアドレス取得する。
- オンボードのEtherExpress : 家庭内LANへプライベートアドレスで接続する。
結局、助けになったのは秀和システムから出ている、井上亜潮氏著の『Solaris 2.6 サーバー構築 理論・実践・応用』(ISBN4-87966-824-9)という本でした。題のとおりバージョンは古いのですが、十分役立っています。
具体的には、
- NICのデバイス名がよくわからない:3C509Bはelx0、EtherExpressはiprb0と書いてあり、その通りでした。(違うメーカのボードで良かった)Linuxに慣れているとメーカ毎に名前が違うという事自体がびっくりですね。
- インストール時に一応elx0は設定したので /etc/hostname.elx0 は既にありました。 /etc/hostname.iprb0 は、自分で作りました。/etc/hosts に家庭内LANにあるマシンを追記しました。
- 本にあるとおり、/etc/networks、/etc/netmasks に家庭内LAN側の定義を追記します。/etc/defaultrouter はCATV側に向けました。
こうして、無事に内外のネットワークが見えるようになりました。
そうすると欲が出てきて、「家庭内LANにつながったマシンからも、CATVインターネットを使いたいな」という発想が出てきました。しかし家庭内LAN上のマシンのデフォルトルートは、OCNエコノミーの常時接続の方を向いていますから、これと衝突しない方法が必要です。そこで思い出したのは、「Xはサーバ/クライアント型だ」という事です。つまり家庭内LAN上のCedarIslandなどがXサーバとなり、SalvoやfwのXアプリケーションをクライアントとしてこれらのマシン上で動かせば良いという事です。CedarIslandがCATVインターネットを使うには、Salvoで/usr/dt/netscape を起動し、CedarIslandに表示されたCATVインターネットログイン画面でログインすればよいのです。
ところで、2000年の夏現在Linuxの世界には6年半の経験があるというのに、考えてみるとXは常に同一マシン上でしか使ったことがなかったのです。---という訳で、クライアントとサーバが別のマシンにある場合のXの使い方というのを調べねばならなくなりました。
Windows2000を積んだOcracokeのChameleon/UNIXのXoftWareからは、CedarIslandの接続情報を登録してXDMボタンを押すと簡単につながりました。つまりSalvo(Solaris)側は特に問題がないようです。これをLinuxに変えた場合どうすればよいかの情報が以外に乏しいんですね。
「HOW TO RUN REMOTE X APPLICATIONS」の「5. サーバに指定する、サーバ側の設定」が一番整理された資料の様です。
Lunixでxhostコマンドを使ってXクライアントを登録する事はできます。具体的には、CedarIslandのコンソールで
xhost +Salvo
と叩いて、Salvo(Solaris)からの画面をLinuxのCedarIslandへ表示する事を許可します。
ただ、このコマンドはその場限りの設定をするだけです。
ずっと登録を生かす方法がわからなかったのですが、前述の本に、XサーバがSolarisの場合の設定の仕方が書いてありました。Xサーバに/etc/X0.hosts というファイルを作って、そこにXクライアントを登録します。
Linuxでもこれでよいのだろうと考えて作りました。
具体的にが、vi等で/etc/X0.hosts というファイルを新規に作り、Xクライアントとなるマシン名を
Salvo
などと記述すればよい訳です。あと、お互いの名前が相手側のマシンで名前解決できることを確認します。(/etc/hosts に載っているかということとか)
そして、CedarIsland(Linux)のXを立ち上げ直し、まず
telnet Salvo でログインし、
/usr/dt/bin/netscape -display cedarisland:0.0 &
と入れると、CedarIslandにnetscapeのウィンドウが出て、CATVインターネットへのログイン画面が表示できます。
これでSolarisへサーバ/クライアント型で接続できるようになりました。
ところで、相手がLinuxでも同じでしょうか?
結論から言えば、相手がLinuxでも自分のetc/X0.hosts に名前を登録すれば同様に使えました。
追記事項
最初にログインする時は、rloginやrshを使う例を書いた本や記述が多いようですが、これらはセキュリティ上の理由で特にサーバでは使用不可にしているケースが多くなっているのではないでしょうか?
という事で、ここではtelnetで一旦ログインするという事にしました。/usr/dt/bin/netscape -display cedarisland:0.0 & は長いので、DISPLAY環境変数を使うという方法もあります。ただ、常に表示する先がこの環境変数で指定された先とは限らないんじゃ?と思ったので、毎度この長い-display cedarisland:0.0 を叩くことにしました。
X0.hostsについては、Linuxでも man xhost や man Xserver でそっけなく触れられています。
以下は、 man Xserver からの引用です。
The X server also uses a host-based access control list
for deciding whether or not to accept connections from
clients on a particular machine. If no other authoriza-
tion mechanism is being used, this list initially consists
of the host on which the server is running as well as any
machines listed in the file /etc/Xn.hosts, where n is the
display number of the server. Each line of the file
should contain either an Internet hostname (e.g.
expo.lcs.mit.edu) or a DECnet hostname in double colon
format (e.g. hydra::). There should be no leading or
trailing spaces on any lines. For example:
joesworkstation
corporate.company.com
star::
bigcpu::
Users can add or remove hosts from this list and enable or
disable access control using the xhost command from the
same machine as the server.
以上で、すべて問題ないのかと言えば、双方のOSが異なる場合は、Xサーバ側に表示に必要な日本語フォントが無いというエラーメッセージが出て、文字が表示できないと言われるケースが結構あります。Linux、SolarisそれにWindows2000で日本語フォントで問題が出ない方が不思議な位です。XoftWareにはフォント・マネージャというユーティリティでフォントの変換ができるようになっていますが、LinuxとSolarisの間でもこういう操作が必要なのでしょう。
2000年9月2日(土)