local - みる会図書館


検索対象: UNIX MAGAZINE 1991年3月号
14件見つかりました。

1. UNIX MAGAZINE 1991年3月号

(b) mount による NFS マウントの表示例 # /et c/mount /dev/sdOh 0 /home type 4.2 (rw) /dev/sd0g 0 Ⅱ /usr type 4.2 ( 環 ) /dev/sd0a on / type 4.2 ()w , nosuid) jupiter: /pub/local 0 れ /usr/local type nfs (rw) 険です。 r 。。 t オプションを使用する場合、この権限を与 かし、この権限を無制限にクライアントに与えるのは危 root の権限でファイルを操作できるようになります。し す。このオプションを使えば、 NFS クライアントから でのアクセスを許すオプション r 。。 t が用意されていま ① NFS4.0 では、 NFS クライアントからの root の権限 マウントの実行 えるのは必要最小限のホストにとどめましよう。 /usr/local mount : givmg up 0 : mount : access denied for Jupiter : /pub/local # jupiter: /pub/local /usr/local リスト 4 NFS マウントの失敗例 連載 クライアント側の設定 UNIX Communication Notes (a) df による NFS マウントの表示例 リスト 3 マウントの確認 # df Fi1esystem /dev/sdOa /dev/ sdOg /dev/sdOh jupiter: /pub/local kbytes 7469 46601 47281 226215 used 3178 33739 32629 163916 avail 3544 8201 9923 39677 capacity 47 % 80 % 77 % 81 % Mounted 0 れ /home /usr/local これで準備の説明は終りです。 NFS で共有するには、 NFS クライアント側で、 NFS サーバーのファイルシステ ムあるいはその一部のファイルやディレクトリをローカル のファイルシステムにマウントします。これには、前号で 説明したファイルシステムのマウント ( mount ) の概念を NFS のために拡張した mount コマンドを用います。 /etc/mount れ宅 4 襯 e : 五襯 0 ″トカ 0 切ー すなわち、従来のコマンド mount の第 1 引数に NFS サーバーのファイルを指定します。たとえは、 NFS サーバ ー jupiter の /pub/local をローカルシステムの /usr/ 10Cd1 にマウントする場合は、 # mount Jupiter : /pub/local /usr/local 40 に NFS サーバーのファイルシステムをマウントするよう るのは面倒です。そこで、システムの立ち上け時に自動的 NFS を利用するたびに手でコマンド mount を起動す とします。マウントするファイルシステムは NFS サーバ ーの絶対パスで指定します。 さて、マウントができたら、実際にマウントされている かどうかを df か mount を使って確認します。リスト 3 に 使用例を示します。 NFS サーバー側の /etc/exports の設定が誤っている と、リスト 4 に示したようなエラーメッセージが表示され ます。この場合は、 NFS サーバー側の /etc/exports を正 しく設定し直して再度マウントします。 NFS4.0 の場合、 exportfs を実行しないと設定変史がシステムに反映され ないので注意してください。 N FS でマウントしたファイルシステムを取り外すには、 ローカルのファイルシステムと同しようにコマンド umount を使います。 にクライアント側で設定できることになっています。 設定は、 /etc/fstab でおこないます。 この UNIX MAGAZINE 1991.3

2. UNIX MAGAZINE 1991年3月号

連載 /UNIX Communication Notes—O ◆均一な個人作業環境 ものです。 計算機では NFS で共有します。これは以下の理由による NFS サーバーにホームディレクトリを用意し、ほかの ・ホームディレクトリの共有 ノョンフ ' す。 / usr / 1 。 cal が共有できるようになると、バーご れは、これらのツールの実行形式ファイルを共有できま local に集められます。同一 OS で同一アーキテクチャであ PDS や X などの非標準のツールは、一般的に /usr/ ・ /usr/local の共有 りました。 についてもサーバーで 1 度おこなうだけですむようにな ホームディレクトリが集中しているため、バックアップ ◆パックアップが簡単 ません。 ークステーション間で無駄なファイルのコピーが発生し ホームディレクトリがサーバーに集中しているため、ワ ◆無駄なファイルを作らないですむ ようになりました。 ねに同し個人環境が提供され、環境の整備も 1 度ですむ た。 NFS によるホームディレクトリの共有によって、つ の方法で . cshrc や . login をコピーする必要がありまし ントがあった場合、個人環境を均一に保つにはなんらか NFS がないときに複数のワークステーションにアカウ ッフ。や新規のインストールは NFS サーバーの 1 台だけで すみます。 ・ /usr/man の共有 マニュアノレベージも、 場合は共有できます。 同しリリースの OS を使っている これ以外にも、 X ウインドウ関係のバイナリやライプラ リの共有、 /usr/bin 、 /usr/ucb の共有もしばしはおこなわ れます。 パーティションの分割 NFS 環境では、 UNIX のファイルをその性質に応じて パーティションで分類しておくといろいろと便利です。た ーとなる計算機を以下のようにして とえば NFS サー おくと、 NFS クライアントは簡単にファイルの共有がで 36 きます。 ・ホームディレクトリは / home パーティションに集め、各 ューサーのホームディレクトリを、 / home / se 〃 47 〃 e / home / S 召 / e % 〃 2 召 / S 42 % 召 としておく。ホームディレクトリをサービスする NFS サ ーバーが複数あるときは、後者の設定のほうが管理が楽に なる。 ・ホスト固有のファイルはパーティションを 1 つ割り当て て、シンポリックリンクを張っておく。たとえば / var パー ティションを作り、このなかに / v / adm 、 /var/spool な どを作り、 /usr/adm 、 /usr/spool からシンポリックリン クを張る。 サーバーの /usr パーティションは、サーバーで上記のシ ンポリックリンクを張り、クライアントで共有できるよう にしておく。 ディレクトリ構造の統一 NFS によるホームディレクトリの共有に合わせて各ワ ークステーションでのディレクトリ構造を統一しておくと、 個人環境の整備も容易になります。 たとえはコマンドのサーチパス (search path) の設定を 考えた場合、 X ウインドウや X などの非標準ツールや PDS を置くディレクトリを各言 T 算機で同しにしておくと、 各ューサ、一の . cshrc でのサーチパスの設定が楽になりま す。 筆者の環境では、すべてのワークステーションで次の構 /usr/local/lib/tex /us r/local/lib /usr/local/emacs /usr/local/mh /usr/local/tex /usr/local/bin /usr/bin/X11 成にしています。 で作業ができます。これ以外にマニュアルページやソース このため、どのワークステーションを使っても同し環境 関連ライプラリ・フォント 各種非標準ライプラリ GNU Emacs 関連のディレクトリ mh 関連のディレクトリ 関連のバイナリ 各種 PDS のバイナリ X11R4 のバイナリ UNIX MAGAZINE 1991.3 すい環境になるでしよう。 ファイルなどの置き方も統一しておくと、いっそう使いや

3. UNIX MAGAZINE 1991年3月号

連載ー / 凵 Language—O 8 ; # + ポートの指定がなければ適当に作る。 10 ; # + クライアントが指定されると、そこからの接続だけを受け付ける。 12 unless ()o 'sys/socket. ph' ) { eval 'sub SOCK-S ・ I'REAM { 1 ; } sub AF-IN€r { 2 ; } sub PF_INET { &AF_INEr; } ' ・ 15 $sockaddr='S n a4 x8' ・ 16 ($name, $aliases , $TCP) = getprotobyname( 'tcp') ; 76 75 } 73 71 70 } 69 shutdown($from, 1 ) ; shutdown($to, 0 ) ; 68 67 65 62 60 59 57 } 56 55 50 48 42 41 39 } 38 33 } 32 31 30 28 26 } 25 24 23 22 21 19 17 14 } 13 11 20 while ($-=$ARGV [ 0 ] , た一 / ) { 18 se1ect(STDERR. ) ; &usage ; if (/-p$/) {$localport=shift Ⅱ &usage; next;} if (/-s$/) {$silent=l ; next;} if (/-d(\d*)$/) {$debug=$l Ⅱ 1 ; next;} shift; 29 sub usage { 27 $clientname = shift ; exit(l) ; print "Usage : $ 0 [-p port] [client] " 37 if ($clientname) { 36 ($name, $aliases , $type, $len, $localaddr) = gethostbyname($localname) ; 35 chop ( $ localn 肥 Chostname' ) ; &dotted($peeraddr) , $ e 。れ ) if ($debug) ; 58 printf STDERR ("Comection established with %s(%d)\n" exit(l) ; printf つ且 "Connection from %s is not allowed! \n" , &dotted($peeraddr) ; if ($clientaddr $peeraddr ne $clientaddr) { 53 ( $ , $ e 。れ , $peeraddr) = unpack($sockaddr, $addr) ; 51 ($addr = accept(NS, S) ) Ⅱ die "accept: $ ! \ Ⅱ " ・ 49 printf STDERR "P1ease connect t0 port=%d\n't $newport ; 47 $ Ⅱ e 。れ = (unpack($sockaddr, getsockname(S))) [ 1 ] ; 46 1isten(), 1 ) Ⅱ die "listen: $ ! \n" 45 bind(), $this) Ⅱ die "bind: $ ! \n" socket(), &PF—INET, &SOCK—STREAM, $TCP) Ⅱ die 'tsocket : $ ! \ Ⅱ " 43 $this = pack($sockaddr, &AF-INrr, $localport, " \ 0 \ 叭 0 \ 0 " ) ; unless $serverport = ~ / 八 d + $ / ; 40 $serverport = (getservbyname($serverport, 'tcp' ) ) [ 2 ] $clientaddr = &getaddr($clientname) Ⅱ die " Un 10m1 client $clientname. \Ⅱ" 63 print STDERR " $ 0 ( $ $ ) : exiting\n" if $debug; 61 &foxvard(NS, SI つ 0 び T) ; 66 sub forvard { 64 exit(0) ; local($from, $to) eval 、 print $to \ $ ー while(read($from, \ $ ー , 4096 ) ) ; 、 72 sub getaddr { た [ 0 ー 9 \. ] + $ / ? pack("C4" , split(/\. / ) ) : (gethostbyname($-)) [ 4 ] ; UNIX MAGAZINE 1991.3 77 sub dotted { join(' . ' , unpack('C4' , shift)) 81

4. UNIX MAGAZINE 1991年3月号

連載 ,/UNIX Communication N0tes¯ /etc/fstab の書式 NFS が使えるシステムの /etc/fstab は、 : 0 : 0 : nfs : リスト 5 に示 更新するときはかならす個々のマニュアルで書式につい 独自の形式で拡張しています。このため、 /etc/fstab を 4.0 の場合は純粋な 4. [ 23 ] BSD の書式を次のように しかし、これ以外のものもあります。たとえば、 ULTRIX はしめ多くの OS ではここで説明したものと同しです。 ONFS の使えるシステムの fstab の書式は、 SunOS を それぞれの意味を 42 ページの表 2 にまとめておきます。 万 / ぉ川市 0 / の Pass れます。 次のようになっており、各フィールドは空白文字で区切ら した形式になっています。 fstab の各行のフォーマットは リスト 5 /etc/fstab の例 /dev/sdOh /dev/sd0g /dev/sdOa /home 4 . 2 4.2 4.2 jupiter: /pub/local /usr/local nfs 1 1 1 2 1 3 エ , i r 0 0 rw rw rw て確認してください。 /dev/rzId:/dIcIientO:rw: 1 :3:ufs : /dev/rzlg: / 皿 1t2:rw: 1 :4:ufs : /dev/rz3c : /home : rw : 1 : 5 : ufs : /pub/local@jupiter : /usr/local : rw /etc/fstab でのオプション NFS を利用する場合に問題になるのが、 第 4 フィール ドのオプションの設定方法です。 NFS を使わない UNIX のオプションは、ファイルシステムへの書込みの許可を設 定する rw 、 ro くらいでした。 NFS を利用できる OS では下記のような NFS のため のオプションがあり、カンマで区切って複数の設定ができ ro 、 rw ます。 UNIX MAGAZINE 1991.3 ないとき、 NFS サーバーが応答するまで何度でも要求を ト ) を指定した場合、 NFS サーバーに対する要求に反応が NFS マウントの種類の指定です。 hard( ハードマウン hard 、 s oft ると、読み書き可能でマウントします。 す。 r 。の場合、読出し専用でマウントします。 rw を指定す マウントしたファイルシステムへの書込み許可の設定で 繰り返します。一方、 s 。 ft ( ソフトマウント ) を指定すると、 NFS サーバーに要求を繰り返し送っても反応がないとき にはシステムコールを異常終了します。 hard マウントの場合、サーバーに対する処理要求が完了 するまで要求を送り続けますから、クライアント側の処理 はかならすおこなわれます。しかし、サーバーが拠章やメ ンテナンスで停止しているときは ( 処理が完了しないの で ) サーバーが復旧するまで待たされることになります。こ のため、どうしても必要なファイルシステムをハードマウ ントにします。たとえは、リモートホストの /usr ファイル システムを NFS で共有している場合は、一般にハードマ ウントにします。 ⅲを このオプションは hard とともに指定されます。このオ ードマウントであっても割 プションが指定された場合、 込みで中断できます。 たとえは、ハードマウントでサーノヾーが停止しているの にファイルにアクセスした場合、ⅲ tr オプションがないと 割込みも効かないので待ち続けるかリプートすることにな ります。しかし、このオプションが指定されていればハ ドマウントでもキーポードから Contro ト C を入力するこ とで処理を再開できます。 結局、サーバーに対する要求の処理の頑張り度 ( 執着度 ) は、 hard と hard , intr 》 s 0 幵 という順になります。 retry = 〃 ファイルシステムのマウントに失敗したときに、再度マ ウントを試みる回数です。〃の値だけマウントを繰り返し 試みます。マウントは、 NFS サーバーの負荷が高い場合 や、ネットワークカ鯤み合っている場合などに失敗するこ とがあります。しはしばマウントに失敗するようなら、こ の値を大きくします。 fg 、 bg / etc / fstab に指定されたファイルシステムは、システム 41

5. UNIX MAGAZINE 1991年3月号

連載 / ーー Li 社 Language 110 111 112 113 114 115 116 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 135 136 137 139 140 141 142 143 145 146 147 148 } 149 150 151 152 154 155 156 157 158 159 160 161 162 163 164 165 sub 166 167 168 169 170 sub リス exit(l) ; &dotted($heraddr)) ; printf STDERR ("Connection from %s is not allowed! \ Ⅱ " last CHECKADDR; $server = shift Ⅱ &usage , # i Ⅱ etd から起動されていない。 117 } else { unless $serverport = ~ 广 \ d + $ / ; $serverport = (getservbyname($serverport, 'tcp' ) ) [ 2 ] ($serveraddr = &getaddr($servername) ) Ⅱ die " Un row server $servername. \n $serverport Ⅱ &usage("No server po " ) ; ($servername, $serverport) = split(): / , $server) ; 138 if ($child = fork) { 1 ; select(stdout) ; select (s) ; 引 comect(S , $that) Ⅱ die "connect: 134 bind(), $this) Ⅱ die "bind: $ ! " ・ 133 socket(S , &PF—INET, &SOCK_STREAM $that = pack($sockaddr, &AF-INET $this = pack($sockaddr, &AF_INff, 0 , $localaddr) ; $TCP) Ⅱ die "socket : $ ! " ・ $serverport, $serveraddr) ; $ い # リモートからのデータを標準出力に書き出す。 } else { &forward(S , SDOtrr) ; &forward(STDIN, S) ; # 標準人力からのテ・一タを相手に書き出す。 exit ( の ; print STDERR. " $ 0 ( $ $ ) : exiting\n" if $debug; tcpreceive dotted { join(' . ' , unpack( ℃ 4, , shift)) ; } getaddr { shutdown($from, 1 ) ; shutdown($to, 0 ) ; eva1 "print $t0 \ $ ー while(read($from } else { eval "print $to \ $ ー while ( く $from> ) ; if ← t $from) { select($to) ; 引 select($from) ; 引 local($from, $to) = @ー・ 153 sub forward { , \ $ ー , 4096 ) ) (gethostbyname($-)) [ 4 ] ; ト 2 80 tcpreceive C-p port] CcIient] 5 ; # Syntax: 3 ・ # tcpreceive by く srekcah@sra. co ・ jp> 1 # ! /usr/local/bin/perl UNIX MAGAZINE 1991.3

6. UNIX MAGAZINE 1991年3月号

FreeSoftware の世界 PREFIX す。次の 3 つは、特定の状況にかぎって定義されます。 以止の変数は、すべてのターゲットに対して定義されま ます。 ターゲットからパスと拡張子を取った部分がセットされ IMPSRC 拡張子のルールをする際に が定義されます。 ARCHIVE 、 . MEMBER ソースファイルの名前 ライプラリを作成するときに定義される変数です。 最近の make はたいていそうですが、別のファイルをイ ンクルードすることができます。これによって、個々の MakefiIe の記述量を大幅に減らすことができ、移植性も 高くなります。 PMake では、 # include く prog. mk> のようにして、あらかしめ用意してある MakefiIe を読み 込みます。どこのディレクトリから読み込むかはインスト ールによって異なりますが、 /usr/local/lib/pmake など のディレクトリにまとめて置いておくことができます。 C の # include 文と同しく、 #include tprog ・ m に のようにダブルクオートで囲むと、ます力レントディレク トリを捜し、なけれはシステムのディレクトリを捜します。 また、明示的に指定しなくても自動的に読み込まれるフ ァイルがあり、 /usr/local/lib/pmake/system. mk など の名前でインストールされています。このファイルにデフ ォルトのルールが記述されているのですが、それぞれのシ ステムに合わせて編集しなけれはならないこともあります。 インクルード ターゲット属性 PMake では、ターゲットに属性が指定できます。たとえ 58 ば、 a11 : $(OBJS) . IGNORE と書くと、 a11 に対して . IGNORE という属性を指定した ことになります。属性を表す文字列はピリオド (. ) で始ま り、大文字のアルファベットだけで構成されます。いくっ かの属性について、以下に説明します。 DONTCARE ターゲットが作れなくても、気にせす続行します。 . EXEC この属性のついたターゲットは、ファイルを作るためで はなく、コマンドを実行するためだけにあることを示し ます。したがって、このターゲットがソースに現れても 依存関係は調べられません。この機能を利用して、サプ ルーチンのようなものを記述することができます。 IGNORE コマンド実行が失敗しても無視します。すべてのコマン ド行の先頭に一をつけたのと同し効果があります。 MAKE スクリプトのなかで make を実行することを示します。 -n オプションが指定されるとコマンドを実行せすに表 示だけしますが、この属性のついたコマンドは実際に実 行されます。サプディレクトリをもっ Makefile のなか PRECIOUS ではないということを明示します。 Makefile の最初に出てきてもデフォルトのターゲット NOTMAIN で便利に使うことができます。 UNIX MAGAZINE 1991.3 . USE の使い方については、すこし説明の必要があるで そのスクリプトがマクロのように取り込まれます。 この属性がついたターゲットがソースに指定されると、 . USE けたのと同義です。 実行するコマンドを表示しません。すべての行に @ をつ . SILENT には消去しません。 ターゲットを消去しますが、この属性がついている場合 PMake はコマンドがシグナルで中断されると作成中の

7. UNIX MAGAZINE 1991年3月号

連載 ,/UNIX Communcation Notes 険です。 NFS を使っていないホストでも、 1 度チェック リストー NFS3.2 での /etc/exports の例 してみてください。 /usr saturn mars /usr/local NFS 3.2 /home mercury N FS 3.2 ではクライアントに公開する単位はファイル のためには、カーネルにパッチをあてなければなりません。 システムとなっており、 /etc/exports で指定します。 / スーパーユーサーで NFS サーバーのカーネルに etc/exports では各行が、 # adb —w /vmunix nobody?D ファイルシステム名 [ 公開するクライアントのリスト ] nobody : nobody : という書式で構成されており、各ファイルシステムについ ?WO て公開するクライアントのリストをします。クライア -nobody : ントのリストをつけない場合、任意のホストに対してファ イルシステムを公開することになります。ファイルシステ ムの指定は、サーバーでマウントされている場所の糸寸パ スを指定します。 リスト 1 を見てください。この例では、 ・ /usr は、ホスト saturn と mars に公開 ・パーティション /usr/local は、任意のホストに公開 ・パーティション /home は、ホスト mercury にだけ公開 ・上記以外のパーティションは、いっさい NFS で公開し ー 2 ー 2 0 とします。 ①この方法で r 。。 t の権限によるアクセスを許した場合、 すべての NFS クライアントで root 権限のアクセスを 許すことになります。つまり、公開したファイルシステ ム全体に対する root の権限によるアクセスが許されて しまいます。したがって、この方法をとる場合は慎重に おこなってください。たとえは、 NFS サーバーで公開す るファイルシステムにセキュリティ面で注意が必要なフ ァイルを置くのは避けるべきです。また、ホームディレ という設定になっています。 クトリの公開も避けたほうが無難でしよう。 NIS を使用している場合には、ホスト名のリストの代わ NFS 4.0 りにネットグループ ( netgroup ) を用いて複数のホストを 指定することもできます。 NFS4.0 では、クライアントへの公開 / 非公開は、ファ 公開の指定は、 NFS3.2 ではファイルシステム単位で イルシステム単位のほかにディレクトリとファイル単位で 指定することができます。また、公開 / 非公開のほかにもさ しかできません。したがって、セキュリティが間題にな まざまな指定が可能です。 る環境では公開するファイルシステムに重要なものが含 NFS 4.0 の場合も /etc/exports で指定します o/etc/ まれていないかどうか注意する必要があります。 ONFS3.2 では、公開されたファイルシステムはすべて exports の各行は、 クライアントから書込みが可能で、読出しだけの公開は 市尾 0 ー 0 カ [ , の朝司 . できません。 という書式で記述されます。各要素は、 NFS 3.2 で root の権限によるアクセスを許すには NFS 3.2 では、 root の権限による N FS クライアント ・市尾 ctO 公開するディレクトリ・ファイルのパス名。 からのアクセスは許されていません。 nobody の値をカー ネル内にもち、普通は一 2 となっています。これを 0 に変更 NFS による公開に関するさまざまなオプションの設定 すると、 root の権限でアクセスできるようになります。そ 38 UNIX MAGAZINE 1991.3

8. UNIX MAGAZINE 1991年3月号

e $ & 0 ce 0 ce 図 2 /bin/sfty 、 /usr/5bin/stty の例 % /bin/stty everything nev tty(sjis) sys [ sj 土 3 ] , speed 9600 baud, 48 て 0 臂 3 , 80 C01 ns non parity , - て a 臂 - Ⅱ 1 echO —lcase —tandem tabs —cbreak crt : (crtbs crterase crtki11 ctlecho) —tostop —tilde - fl Ⅱ s 0 —mdmbuf —litout pass8 - Ⅱ 0 g —pendin decctlq ーⅡ Of1s erase ki11 verase rprnt flush lnext susp AZ/AY % /usr/5bin/stty -a int て quit Stop AS/*Q eof speed 9600 baud; て 0 響 s = 48 , C01 Ⅱ s = 80 , ypixels = 790 , xpixels = 644 ; -parenb —parodd cs8 —cstopb hupcl cread —clocal ー 10b1k -ignbrk brkint ignpar —parmrk —inpck —istrip ー土 n1c て—igncr icrnl —iuclc -tostop echoctl —echoprt echoke -defecho - 土 1 s 五 0 —pendin —iexten isig 土 c 0 Ⅱ—xcase echO echoe —echok -echonl - Ⅱ Of1s ixon —ixany —ixoff —imaxbel opost -OICUC onlc て - OC てⅡ 1 ー 0 Ⅱ OC て一 0 Ⅱ 1 て et - Of 土 11 —ofdel erase k 土 11 verase rprnt flush lnext susp 土Ⅱ t て AZ/AY AC quit Stop *S/AQ eof ◆ Compound Text 多国語を交換するためのフォーマット Compound Text の導入 ◆ XLFD フォント指定の名前のガイドライン XLFD(X Logi- また、以下のような点が変更されました。 cal Font Description Conventions) の導入 ◆ツールキット する改良も含む ) ◆ウインドウ・マネージャー twm ウインドウ・マネーンヤーの改定 ( ICCCM に関 ダイナミック・リソースエデイタなどの追加 ◆クライアント 新しいフォントの追加 ◆フォント Xt lntrinsics および Athena Widget の改良 ミュレータで、 ISO 8859 ー 1 などにも対応しています。 xterm は MIT のリリースに含まれるターミナル・エ ◆ターミナル・エミュレータ xterm の多国語対応 NEWS ー OS 独自の機能には、下記のものがあります。 18 NEWS-OS 4.0 では、日本語、韓国語、中国語にも対 応できるように国際化をおこなっています。 ◆ sjx 日本語入力フロントエンド・プロセッサ X のアプリケーションの日本語入力フロントエンド・ プロセッサとして、 sjx を搭載しています。アプリケー ションは、 sjx と通信するための Xlc ライプラリを使 って sjx を使用できます。 ◆ NEWS Desk X11R4 上のデスクトップ環境です ( 次号で紹介 ) 。 OSF/Motif GUI (Graphical User lnterface) として、 OSF/ Motif VI. 1 を日本語化したものを搭載しています。 mwm ウインドウ・マネージャーや M0tifWidget 、ド キュメントなどが含まれます。 多国語対応 NEWS-OS 4.0 の多国語対応は、国際化 (lnterna- tionalization) と地域化 ( Localization ) の概念にもと づいて実装されています。各国語対応のコマンドやライ プラリなどは、共通の国際化のためのアーキテクチャの うえに構築されています ( 図 3 参照 ) 。国際化されたコマ ンドやライプラリでは、日本語などのマルチバイト文字 も扱えます。国際化には XPG 準拠の locale を採用し、 UNIX MAGAZINE 1991.3

9. UNIX MAGAZINE 1991年3月号

連載 UNIX Commurucation Notes showmount はリモートホストの情報も得られるので、 マウントに失敗したときにファイルシステムの公開が適切 か否かを確認する際に便利です。この場合、 /usr/etc/showmount -e ん OS / として確認できます。 expo rtfs exportfs は、サーバーでファイルを公開する (export) ときや公開をとりやめる (unexport) ときに使います。基 本的にスーパーユーザーになって使います。使い方は、 /usr/etc/exportfs [ -aiuv ] [ ー。朝 ] [ 加 です。オプションも加〃尾も指定しないと、現在公開 されているファイルシステムのリストを出力します。オプ ションを指定せすに加襯にパス名が与えられた場 合、指定されたディレクトリ以下を任意の NFS クライア ントに対して公開します。加襯 e で指定するディレク / 、ゝトリは、 /etc/exports に記述されていなければなりませ ん。 オプションは次のような効果をもちます。 ー 0 etc/exports 内に記述されているすべてのファイル システムを公開します。オプション u とともに用いら れた場合は、現在公開しているファイルシステムの公 開をとりやめます。 /etc/exports 内に記述されているオプションを無視 して公開します。 加〃花に指定したファイルシステムの公開をと りやめます。 Verbose モード。詳しい情報を出力します。 公開するときのオプションを指定します。このとき、 ー i オプションを同時に指定しないと、 / etc / exp 。 rts のオプションが優先されることに注意してください。 指定できるオプションは /etc/exports 内で指定する オプションと同じで、 access 、 root などが指定できま す。複数のオプションを指定する場合はカンマで区切 ります。たとえば、 /usr/etc/exportfs —i ー 0 root=jupiter , access=jupiter :mercury /usr/local という指定をすると、 /usr/local は jupiter と mer- cury にアクセスを許し、 jupiter からの root 権限に よるアクセスを許すという公開になります。 nfsstat nfsstat は、実行したワークステーションでの NFS の利 用に関する統計情報を出力します。出力例を次ページのリ スト 6 に示します。 ーに対する RPC の再送が発生する頻度が分か 各サー ると NFS のチューニングに使えますが、現在のバージョ ンの統計情報にはあまり有益なものはなく、サーバーの負 荷を考えるときに参考になる稍隻です。 NFS 環境の管理・運用 NFS 環境の管理・運用は比較的簡です。ここでは、管 ・サーバー構築の計画をよく練ろう 理・運用に際してのヒントをいくつか紹介します。 UNIX MAGAZINE 1991.3 いったんサーバーの運用を始めてしまうと長期間の停止 いてはしつくり考えましよう。 サーバーのディレクトリ構成やパーティションの分割につ サーバーをどのように構築するかが鍵になります。とくに、 NFS 環境で簡単かつ効果的に管理・運用するには、 NFS は難しくなり、環境の変更を伴うディレクトリ構成やノ、 ティションの変更も難しくなるからです。パーティション のサイズは十分か、ディレクトリ構成に不具合はないかな ども十分に確認しましよう。 ・ NFS サーバーの管理体制を整えよう NFS 環境になってホームディレクトリや各種のツール を共有するようになると、バックアップの対象は、サー ーとクライアントのいくっかのファイルだけでよくなって きます。すなわち、 NFS の導入によって、無駄なディスク 45

10. UNIX MAGAZINE 1991年3月号

0 ee 図 3 NEWS - OS4.0 の多国語対応 - ース 国際化 図 5 NEWS-OS と NFS のリリ 図 4 文字コードと loca 厄の対応 ヨー - ロッノ、 ( 西欧 10 カ国 ) lnternat ionalization 図 6 /etc/experts に記述できる項目 文字コード 7bit ASCII 日本語 Shift-JIS 日本語 EUC ISO 8859-1 韓国語 EUC 中国語 TCA( 台湾 ) locale ja-JP. SJIS ja-JP. EUC en-US. 88591 ko-KR. EUC zh-TW.TCA NEWS-OS 2. X ・・ NEWS-OS 3. X ・・ NEWS-OS 4. X ・・ ・ NFS 3.0 ・ NFS 3.2 ・ NFS 4.0 NFS 3.2 1. ェクスポートするディレクトリ 2. アクセスを許すクライアント名 2. アクセスを許すクライアント名 4. read-write/ read-only の指定 許すクライアント名 3. スーパーユーザでのアクセスを 1. ェクスポートするディレクトリ NFS 4.0 環境変数 LANG に次の形式で文字列を設定すること により動作します。 1 田 1 rage C-territory [. codeset] ] NFS は 4.0 を採用しています。 NEWS-OS と NFS NFS 4.0 ードが用意されています。 -OS はありませんが、それぞれの言語に対応するキーポ ースされません ) 。ヨーロッパ各士或に対応した NEWS 地のディストリビュータが販売しており、日本ではリリ 化が施されています ( 韓国語、中国語のパッケージは現 ンド・プロセッサ、プリンタ出力のフォントなどの或 このような国際化のうえに、各国語入力のフロント工 みを用いて国際化されています。 では、文字列を処理するコマンドの多くがこれらの仕組 はこれらのデータベースを参照します。 NEWS ー OS4.0 lib / locale の下にあり、多国語対応のアプリケーション ンが作成できます。 1 。 cale データは原則として /usr/ えば、 locale に従って動く多国語対応のアプリケーショ イプラリの setlocale 関数 (ANSI C 、 XPG 準拠 ) を使 OS 4.0 で指定できる locale は、図 4 のとおりです。ラ Association) コードをサポートしています。 NEWS- は EUC 、中国語 ( 台湾 ) は TCA(Taipei Computer JIS コードと EUC 、ヨーロッパは IS08859 ー 1 、韓国語 ド ) に準昶しています。コードセットは、日本語は Shift- ISO 3166 の国名表示用コード (JIS X0304 の国名コー language は、 ISO 639 の言語コード、 territory は UNIX MÄGAZINE 1991.3 のリリースの対応は図 5 のようになります。 NFS 4.0 の おもな特徴は以下のとおりです。 ◆ファイルシステムのアクセス権に関する細かな指定が 可能 ◆ルートおよびスワップファイルの NFS マウントが可 ムヒ 月ヒ ◆オートマウント機能をサポート ◆ NFS サーバーの機能と NFS クライアントの機能を 個別にコンフィギュレーション可能 NFS 3.2 と比較しながら説明しましよう。 ファイルシステムの工クスポート ファイルシステムを工クスポートする場合のアクセス 制御が、従来より細かくおこなえるようになりました。 具体的には、管理ファイル /etc/exports での細かな指 定ができるようになっています ( 図 6 参照 ) 。また、ファ イルシステムの read ー only の工クスポートが可能にな ったので、サーバーのファイルを変更するような事故が 防げます。 NFS3.2 では、クライアントのスーパーユーサーは基 本的にアクセスできませんでした ( 許可する場合、すべて のクライアントのスーパーユーサーがアクセス可能にな ってしまう ) 。 NFS 4.0 ではこれが可能になり、クライ アントの指定もできます。図 7 に NFS 4.0 の /etc/ exports の例を示します。 なお、従来は /etc/exports に記述するだけでしたが、 19