●逆襲のOS/2●(2008.11.17)

Samba for OS/2インストール記

【目的】OS/2とWindows VistaやLAN DISKをネットワーク接続し、ディレクトリの共有やファイルのコピー等を行う。

【Peer for OS/2の問題点】

【解決法】

【結果】

安定性などいくつかの点で問題を残してはいるが、それらは設定のチューニング等で解決できる問題のような気がする。少なくとも、2011年8月現在、Peer for OS/2よりもかなり快適に使用できる環境が整っている。私が理想としていたのは、ACアダプタ/ファンレス駆動で2.5" HDD/SSDを使用し、メモリカード/USBメモリ類をリムーバブルストレージとして使用できるファイルサーバであったのだが、その実現に目処が立ったと言ってよい。

【留意点】


■サーバのインストール

●入手すべきファイル

 samba-3.0.31-os2-20080711-v2.wpi  Samba server本体
 warpin-1-0-17.zip WarpINインストーラ
 baselayout.zip Unixの基本的なディレクトリ構造と設定ファイル
 libc-0.6.3-csd3.zip DLL(本体部分用)
 VROBJ.DLL DLL(GUI部分用)

●事前の注意点

Samba serverをインストールするには、事前の準備がかなり必要になる。ここでは作業の概要だけを述べておくが(具体的な方法は後述)、すべて重要かつ必須の作業なので必ず実行すること。

●インストールの下準備

  1. libcの中身とVROBJ.DLLをx:\os2\dllにコピーする。

  2. 適当なHPFSドライブ上に\unixrootというディレクトリを作成する。別の名前でもよいが、ルートにこの名前で作成しておくと判りやすくて便利だと思う。

  3. unixrootディレクトリにbaselayout.zipを展開する。

  4. CONFIG.SYSに次の2行を追加する。
    SET UNIXROOT=g:\unixroot
    SET TMPDIR=g:\trash
    
    ここで、g:はHPFSドライブ、またtrashは適当なテンポラリ・ディレクトリの名前。

●NetBIOS over TCP/IPの削除

x:\IBMCOM\PROTOCOL.INIと\CONFIG.SYSの中から、以下の部分を削除する(http://svn.netlabs.org/sambaより)。なお、編集前のPROTOCOL.INIとCONFIG.SYSは必ずバックアップを取っておくこと。

【PROTOCOL.INI】

 [IBMLXCFG]セクション tcpbeui_nif = tcpbeui.nif
 [NETBIOS]セクション ADAPTER1 = tcpbeui$,1
 [tcpbeui_nif]セクション  すべての行

【CONFIG.SYS】

 DEVICE=x:\IBMCOM\PROTOCOL\TCPBEUI.OS2
 RUN=x:\IBMCOM\PROTOCOL\NBTCP.EXE

 DEVICE=x:\IBMCOM\PROTOCOL\LANPDD.OS2
 DEVICE=x:\IBMCOM\PROTOCOL\LANVDD.OS2
 DEVICE=x:\IBMLAN\NETPROG\RDRHELP.200
 DEVICE=x:\IBMCOM\PROTOCOL\NETBIOS.OS2
 DEVICE=x:\IBMLAN\NETPROG\VNETAPI.OS2
 IFS=x:\IBMLAN\NETPROG\NETWKSTA.200 /I:x:\IBMLAN /N
 SET NWDBPATH=x:\IBMLAN\NETPROG
 SET DLSINI=x:\IBMLAN\NETPROG\NETGUI.INI
 SET INIT_FILE_NAMES=netgui
 SET INIT_FILE_RANGES=200
 SET WPS_COMMUNICATION=YES
 RUN=x:\IBMLAN\NETPROG\LSDAEMON.EXE
 RUN=x:\IBMLAN\NETPROG\VNRMINIT.EXE
ここでいったんリブートを掛ける。

●サーバのインストール手順

  1. WarpINをインストールする。
  2. samba-3.0.31-os2-20080711-v2.wpiの[プロパティ|タイプ]で[現在のタイプ]として「WarpIN Archive」を追加する。
  3. samba-3.0.31-os2-20080711-v2.wpiをダブルクリックしてインストールを実行する。
  4. インストールが完了すると、rootのパスワードを要求してくるので、適当なパスワードを設定する。

●サーバの起動と確認

  1. Sambaフォルダの中に作成された[Samba status monitor]を起動する。
  2. Sambaの起動スイッチ(右の一番上にある緑のスイッチ)をクリック(シングルクリック)して、Sambaを起動する。
  3. 「smbd.exe」と「nmbd.exe」の「status」がともに「is running」になって、「PID」にそれぞれ番号が割り振られれれば起動成功。
  4. この段階で他PC(Vista等)から「guest」アカウント(パスワード不要)で、Sambaサーバに接続できるようになるはず。

  この方法で起動しない場合は、コマンドラインで「smb.cmd start」を実行してみる。もし、この方法で起動しなければ、インストールが根本的に間違っている可能性大。また、起動はするが、[Samba status monitor]で「not running」と出てしまう場合は、起動直後に落ちているわけで、おそらくNetBUEIの削除が完全ではないのではないかと思う。それでもわかんなきゃ、コマンドラインでsmbd.exeとnmbd.exeを別々に起動させてみるものも手かと。いずれにしても、Sambaの基本的な知識がないと少々キツイだろう。

●サーバの設定

設定事項は二つ。一つは、ユーザーアカウント設定。上記の方法ではguestでしかログオンできないので不便。ホームユースでも、個々にアカウント割り振って、アクセス権も細かく設定する方がよい。けれども、このユーザーアカウントの設定方法がよく判らない(^_^; 少なくとも、単純に[Samba Users and Groups]を使えば済むというものではないらしい。やはり、いくつかの下準備が必要なようだ。これはもう少し勉強してから。

もう一つは、共有するリソースの設定。少なくとも、私の環境では、いきなり全ドライブを共有設定されてしまった。流石にこれは拙い(嫁さんに見られたら拙いデータだってあるのだ(^^;)。共有ディレクトリの設定は[Simple Samba Configuration Center]を使えばよい。これは比較的簡単。


■クライアントのインストール

●入手するファイル

 ndfs310.zip NetDrive本体
 ndpsmb-1_0.zip NetDrive用Sambaクライアント・プラグイン
 libc-0.6.3-csd3.zip  DLL

●事前の注意点

●クライアントのインストール手順

  1. まず、NetDriveをインストールし、リブートを掛ける。
  2. NetDriveが正常に動作していることを確認する(どうやって?)。
  3. NetDriveのディレクトリにSambaプラグインのアーカイブを解凍する(サブディレクトリを作成しないこと)。
  4. コマンドラインでinstpl.cmdを実行する。
インストールに成功するとコマンドラインに成功メッセージが表示される。もし、インストールに失敗したら、NetDriveのバージョンを確認すること。

●リソースのマウント

  1. NetDriveの[Control Panel]を開く。
  2. [Volume|Attach a new volume]で適当なドライブを作成する(たとえばP:)。
  3. [Resource|Mount Resource]を選ぶ。
  4. [smbfs]を選ぶ。
  5. [Propaties>>]をクリックする。
  6. ワークグループ名、サーバ名(IPアドレスでも可)、共有名(ディレクトリ名)、ユーザーID、パスワードを指定する。このとき、ワークグループ名のみ指定してリソース名を省略すれば、ワークグループ中に公開されているすべてのリソースが表示される。
【注意】設定が誤っていないのに正常に接続できない場合は、サーバ名の代わりにIPアドレスを指定してみるとよい。

【後日談】その後、サブマシンでのWindows VistaとMeの共存(HDDラックによる切替と完全静音化)にメドが付いたので、OS/2側をPeer for OS/2に戻した。Samba for OS/2ではネットワーク・プリンタへの接続や、CPUに負荷が掛かったときのトラフィックの途切れ(ネットワークに保存しているMP3データの再生時の音途切れ)などの問題が気になっていたので。こんだけ苦労したのにね〜。ま、Samba clientの方はPeerと共存可能なので、OS/2からVista/LANDISKに接続するときは使用しよう。それに、フォルダ内のアイコンの表示形式がローカルフォルダと同等な点などはSambaの方が優れているしね(つ〜か、Peerの仕様は酷すぎる)。

【後日談2】新たにボリュームをマウントしようとしたら、なぜかLinuxサーバに接続不能になってしまった。そこで、サーバ名の代わりにIPアドレスを指定したら、実にスンナリ接続できた。しかも、高負荷時のトラフィックの途切れも発生しにくくなった。むしろ、Peer for OS/2よりも優秀なくらい。まあ、先回とはマシン性能自体が異なっているので一概には言えないが、どうもIPアドレス指定だとパフォーマンスが上がるような気がする。これならば、Peer for OS/2からsamba clientに乗り換えたい。ローカルドライブと同じように、ドラッグが「コピー」ではなく「移動」になるのも非常に便利だし、何よりsamab 2.2.x/カーネル2.4.xに対応できるのが嬉しい。市販NASが使用できるので、古いLinuxマシンに固執しないで済む。容量制限や省電力性能で格段の改善が望める。

【逆襲のOS/2目次】 【ホーム】