NMW-Systemのインストール方法

ここでは、コンパイル及びインストール方法について述べます。 NMW-Systemは、SunOS 4.1.3、NEWS-OS 4.2.1R、BSD/OS 1.1,2.0、 FreeBSD 2.0で動作を確認しています。

全体の流れは、次のようになっています。

  1. パッケージの確認
  2. インストール前の確認
  3. コンパイル
  4. インストール
  5. 動作のテスト

パッケージの確認

はじめに、本パッケージの展開イメージを以下に示します。 ご確認下さい。
nmw-1.0a/INSTALL
インストールガイド(このページと同内容)
nmw-1.0a/Makefile.root
通常インストール用 Makefile.root
nmw-1.0a/Makefile.nonroot
非rootによるインストール用 Makefile
nmw-1.0a/README.1st
最初にお読み下さい
nmw-1.0a/etc/
wsd.confのサンプルがあるディレクトリ
nmw-1.0a/owl/
OWLのためのライブラリディレクトリ
nmw-1.0a/samples/
ワームのサンプルがあるディレクトリ
nmw-1.0a/src/
ソースディレクトリ

インストール前の確認

READMEを読む
このページを読む前に、README(または、 README.1st)に必ず目を通してください。 このパッケージの内容や NMW System の概要などについて書かれています。

scm,perlについて確認する
インストールを始める前に scm と perl がインストールされている ことを確認してください。NMW System を使用するためには、この2つ のプログラムが必要です。scmとperlのインストール方法はそれぞれの ドキュメントを参照して下さい。また、scmはバージョン4e0、または 4e1、perlはバージョン4.0で動作を確認しています。

ユーザとグループの設定
通常のインストールを行なうと、NMW System は nwm というユーザの 権限で動作するように設定されます。このため、NMW System を使うた めのユーザnmwと、ユーザnmwが所属するグループを作成する必要があり ます。インストールする前に、必ずnmwユーザを作成して下さい。また、 グループは既に存在するグループでもかまいません。

例えば、パスワードエントリは次のようになります。


 nmw:*:4646:30::0:0:Pseudo User for NMW System:/home/
nmw:/bin/csh

ユーザID、グループIDを適切に設定して下さい(この例の数値には特に 意味はありません)。グループはwheelグループである必要はありません。 特にパスワードは必ず設定して下さい。

また、この作業も含めて、NMW Systemを通常インストールするために はroot権限が必要ですが、root権限を使わないインストール方法もあり ます。ただし、現在のNMW Systemは認証システムをはじめ、セキュリテ ィに関する部分は実験中の部分が多く、一般ユーザ個人の権限で運用す る場合、セキュリティに細心の注意を払う必要があります。root権限を 使用せずにインストールする場合は、この作業を行なう必要はありません。


コンパイル

Makefile の 設定

まず、トップディレクトリで次のようにして Makefile をコピーします。
  rootインストール  :  % cp Makefile.root Makefile
  非rootインストール:  % cp Makefile.nonroot Makefile
次に、コピーした Makefile の 14行目〜27行目(非rootによるインストー ルの場合は15行目〜30行目)までを次の説明を参考にして編集して下さい。

[rootによるインストール]

  ------------------------------------------------------------
  CC           : Cコンパイラの指定
  MAKE	       : makeプログラムの指定
  BINDIR       : wsd,wormc(実行形式)を置くディレクトリ

  NMWDIR       : wsdのログ、出力結果が置かれるディレクトリ
  NMWTMP       : wsd等が使う一時ファイルが置かれるディレクトリ
  CONFDIR      : wsd.confが置かれるディレクトリ
  OWLLIBDIR    : OWLのライブラリファイルが置かれるディレクトリ
  OWLBINDIR    : scmが置かれているディレクトリ
  OWL_EXECPATH : OWLが呼び出すコマンドのパス

  NMWUSER      : NMW System 用のユーザのユーザ名
  NMWGROUP     : NMW System 用のユーザのグループ名

  SCMLIBDIR    : すでにインストールされているscmのライブラリ
		  ディレクトリ
  ------------------------------------------------------------
NMWDIR, NMWTMP, CONFDIR, OWLLIBDIR, OWL_EXECPATH で指定するディ レクトリは、NMW System が常時利用するものです。NMW Systemはその 性格上、各マシンごとに別々の設定を行なう必要があります。このため、 複数のマシンでマウントしているディスクにインストールすることはさ け、特殊な場合を除いてはローカルのディスクにインストールして下さ い。そのために、NMWDIR, NMWTMP, CONFDIR, OWLLIBDIR, OWL_EXECPATH で指定するディレクトリはローカルのディスクである必要があります。

OWL_EXECPATH は OWL が実行可能なコマンドが置かれているディレク トリを指定します。UNIXのシェルプログラムである「sh」のPATH環境変 数と同様にして記述します。また、インストール時にOWLが用いる標準 的なコマンドが $(OWLLIBDIR)/bin へインストールされるため、 OWL_EXECPATH にはこのディレクトリを含めるようにします。 OWL_EXECPATH を設定しない場合、OWLは外部コマンドを読み出すことが できません。

NMWUSER, NMWGROUP は NMW System を動作させるユーザのユーザ名と グループ名を指定します。決定したユーザ名を NMWUSER に、グルー プ名を NMWGROUP に記述して下さい。

SCMLIBDIR はすでにインストール済の scm が起動時に読み込むファ イルが置かれているディレクトリを指定します。NMW System はインス トール時にこのディレクトリにあるファイルをもとに、NMW System用の scm初期化ファイルを作ります。このディレクトリに Init.scm, Transcen.scmの2つのファイルが存在していることを確認して下さい。

[非rootによるインストール]

  ----------------------------------------------------------
  HOME	    : NMW System をインストールするディレクトリ
  NMWUSER   : インストールを行なうユーザのユーザ名
  NMWGROUP  : インストールを行なうユーザのグループ名

   ※他は「rootによるインストール」と同じ。
  ------------------------------------------------------------
「非rootによるインストール」では、rootでないユーザでも書き込む ことが出来るディレクトリに下に、インストールを行ないます。そのよ うなディレクトリとして、例えばテンポラリディレクトリやホームディ レクトリが考えられます。そこで、そのディレクトリを Makefile中の HOMEというマクロによって指定します。例えば、/usr/tmp の下にイン ストールする場合は
        HOME = /usr/tmp
とします。他の部分については、「rootによるインストール」を参考に して下さい。ホームディレクトリにインストールする場合は、ホームディ レクトリが複数のマシンからマウントされている場合に、マシンごとに wsdの設定を行なうことが出来なくなるためあまりお勧めはできません。

make の実行

OSごとに以下のようにして make を実行して下さい。
	SunOS 4.1.3        % make OS=SUN4
	NEWS-OS 4.2.1R     % make OS=NEWS
	BSD/OS 1.1         % gmake OS=BSDOS1
	BSD/OS 2.0         % gmake OS=BSDOS2
	FreeBSD 2.0        % make OS=FreeBSD2
たとえば、SunOS の場合は、
	% make OS=SUN4
のようにmakeを実行します。ただし、このときコマンドラインから実 行する make は Makefile 内で指定している make と同じものを使って 下さい。


インストール

必要なファイルのコピー

「rootによるインストール」の場合は root になってから、次のように 実行して下さい(非rootによるインストールでは root になる必要はあ りません)。
	% make install
具体的には、次のような作業が行なわれます。

  • wsdの利用するディレクトリの作成
  • 実行形式など必要なファイルのコピー

    実際に行なわれる作業を確認したいときには、次のように 実行してください。

    	% make -n install
    

    ポートの設定

    次に、NMW Systemの利用する通信ポートを設定します。/etc/services に次の1行を加えます(これを行なわなくても動作はしますが通常運用す る場合は必ず行って下さい)。
    	wsd      6464/tcp     # for Worm Support Daemon (NMW)
    
    ポート番号はnmw.hで設定しています(ただし、ポートを変更するために、 nmw.hを変更した場合は再コンパイルしてください)。

    wsd.conf の 設定

    付属のドキュメント README.wsdconf を参考にして、wsd が起動時に読 み込む設定ファイル /etc/wsd.conf を編集して下さい。 (非rootによるインストールの場合は、$(HOME)/nmw/etc/wsd.conf)

    動作テスト

    NMW-System の動作テストを行ないます。

    wsd.conf の設定

    ここでは、説明のため、以下のようなネットワークを仮定します。
    	kuro	mike   nora
    	|	 |	|	
    	o------+------+------+-----o animal-network
    	|                  xxx.xxx.xxx.xxx
    	pochi                255.255.255.zzz
    	|
    	o----+----+---+-------+----o vehicle-network
    	|        |       |      yyy.yyy.yyy.yyy
    	car	bus   bicycle   255.255.255.www
    
    この図は、animal-network,vehicle-network という2つのネット ワークがpochiというゲートウェイを通じて接続されている様子を表 しています。

    図中の7つのホストすべてにNMW-systemを導入する場合、すべての ホストでwsdを動作させる必要があります。

    また、この場合 pochi の wsd.conf は次のようになります。

      : animal-network xxx.xxx.xxx.xxx 255.255.255.zzz
      kuro
      mike
      nora
      : vehicle-network yyy.yyy.yyy.yyy 255.255.255.www
      car
      bus
      bicycle
    
    同様にして、その他のホストにも wsd.conf が 用意されている必要があります。 環境に合わせて設定してください。

    wsd の 実行

    次に、実際にNMW Systemを動かします。それぞれのホストでrootまた はnmwユーザになってwsdを実行してください。
    	% wsd
    
    非rootによるインストールの場合は、一般ユーザ権限での実行で結構で す。

    ホストpochiでnmwユーザになり(非rootによるインストールの場合は この必要はありません)、次のようにすると各ホストのプロセスの状況 を調査するワームが放たれます。

      % /usr/sbin/wormc -worm /usr/local/lib/owl/sample/ps.owl
    
    wormc はローカルホストの wsd にワームを転送するコマンドで、
      wormc -worm [ワームのファイル名]
    
    のようにして使用します。

    wsd は受け取ったワームを解釈し実行します。この場合、近隣の転送 可能なホストのwsdへワームを転送します。ワームは各ホストに転送さ れ作業を行なう(この場合psコマンドでプロセスの状況を調べる)と、結 果を持って戻って来る(転送される)ことになります。

    pochiのwsdでは、ワームが実行結果を持って帰って来ると、その結果 をインストール時に NMWDIR で設定したディレクトリにファイルとして 書き出します。 (デフォルトでは/var/nmw/result か /usr/tmp/lib/nmw/result)。 この例では、pochiから6つのホストへwormが放たれ、それぞれホストで のワームの作業結果が書き出されるため、6つのファイルができます。 問題なくインストールされていれば、このディレクトリに結果のファイ ルができているので、確認して下さい。wsd の動作ログも /var/nmw/log/wsd.log、あるいは、~/lib/nmw/log/wsd.log として作ら れているはずです。

    また、標準では/usr/local/lib/owlというディレクトリにワームのサ ンプルがいくつかインストールされています。動作させて、確認してみ て下さい。各サンプルの詳細については、以下のファイルを参照して下 さい。

    /usr/local/lib/owl/samples/README.samples
    (非rootの場合は、/usr/tmp/nmw/lib/owl/samples/README.samplesなど)
    

    NMW Systemβversionへ


    成田哲也 Tetsuya NARITA
    (narita@is.titech.ac.jp)