FreeSoftwa 「 e の世界 UNIX MAGAZINE 1990.8 psfig の出力コード の処理に、後者はⅱ teral の処理に使用することになりま がそのまま出力されます。大雑把にいえば、前者は figure ルの展開をおこないます。後のほうは、 literal PostScript 最初のエスケープ・シーケンスでは、フィルタがファイ \X'ffiIename ' \X'p1itera1 POSTSCRIPT ' たちで使用しています。 psfig は、このエスケープ・シーケンスを以下のようなか のようなシーケンスを出力するようになっています。 \!x X text のまま出力する ) を利用して、 ケープ・シーケンス ( このシーケンス以降から行末までをそ ません ) のためのパッチがあります。これは、 \ ! というエス い ditroff(C/A/T コードを出力する旧い troff ではあり たものの、前述の ftp を利用できるサイトにはこれより旧 使用することはできません。しかし、 news には流れなかっ すから、 DWB2.0 より旧い troff ではそのまま psfig を ジスタ、ストリングなど ) を入れておくことができます。で のなかにほかのエスケープ・シーケンス ( 文字列の長さ、レ と出力します。、、 text" の部分は troff が解釈するので、 x X text と書くと、 troff は、 \X'text ' ので、 に依存するコードを troff の出力フィルタに渡すためのも 使用しています。このエスケープ・シーケンスはデバイス の troff で追加された \ X というエスケープ・シーケンスを のコードを渡しているのでしようか。これには、 DWB2.0 ところで、 psfig は troff にどのようにして PostScript スになります。 比較的短時間で出力できます。文中の図形はただのスペー アでも見当がつきます。また、長方形を描くだけですから れませんが ) おおよその位置は別のプリンタやプレピュー ファイル名が表示されます。これによって、 ( 図形は出力さ す。 \X'p ' は、ファイルを挿入するとき troff のほか のコードの邪魔にならないようにしたり、図形の大きさを 変更する際、座標変換のために psfig 自身が PostScript コードを前後に入れるのにも使用されます。この目的で psfig が使用するオペレータは、あらかしめプロローグで 定義します。 これからも分かるように、 psfig で指定したファイルを 実際に展開して出力のなかに組み入れるのは psfig でも troff でもなくフィルタです。冒頭に述べたとおり、フィル タには TRANSCRIPT'€ッケージの troff 用のものを 利用することになっていますが、ほかのフィルタを改良し て用いるときにはエスケープ・シーケンスを解釈し、 troff 自体のコードとの整合をとるために psfig で使用するオペ レータを書き直すだけでいいでしよう。 なお、 psfig は指定したファイルを絶対パス名に変換し ますが、フィルタは同し計算機上でそのファイルに対する 読込み許可をもっている必要があります。 psfig は PostScript プリンタでしか利用できませんが、 サイズの孑ぐに troff のレジスタが使用できることや文章 のなかでも利用可能なことを考えると、かなり強力なツー ルであるといえるでしよう。 さらに、 X ウインドウや Macintosh などのアプリケー ションに PostScript 対応のものが多いことから、 pic よ りも将来性があるかもしれません。いすれにせよ、 troff と PostScript のユーザーであれは・いちど使ってみる価値は あると思います。 おわりに [ 参考文献 ] [ 1 ] Adobe Systems , Do 夜ィ川の s レ″ c 版〃 g co 〃〃〃 0 〃 s - s. 加 c れレ e あ〃 2 . ム 1989. [ 2 ] Adobe Systems, 石田晴久監修、松村邦仁訳 CPostScript リファレンスマニュアル』アスキー、 1988. [ 3 ] Adobe Systems , E れ c ゆイ Po S げ / が万“ - 電〃 0 れれ 2 . 0 , 1989. [ 4 ] Net BatcheIder and Trevor DarreII , Psfig ーー D ″妲産 P ゆ川化 ss の・知 PostScript F ″尾 s , 1987. [ 5 ] J. R. Mashey, PWB/UNIX S 厖〃 T ″ねれ , Septem- ber 30 , 1977. 77
ネットワー代のワークステーション管理 別名の機能を使えば、 ることもできます。 たとえは・、 nakayoshl : keisuke , oshima, fumiyo , kokubun 1 人だけでなく複数の人に転送す と思いますが、運用開始時にはとりあえす次のように設定 alias の設定はメールの運用にしたがって増加していく れないことがあります。 のような alias を設定するとループが生し、正しく処理さ user:user@localhost. 10C 訌 dom localdomain というシステム上で、 ただし、 sendmail のバージョンによっては localhost. で作ることが多いようです。 てもかまいません。通常、メーリングリストはこの仕組み ューサーとして総げ@ ん os / . 川 4 切形式の表現を使っ うな名前でもかまいません。また、ほかのシステムの上の ー名でも、 aliases ファイルのはかの行で置換えが生しるよ に転送されます。左側に書かれた名前はローカルなユーサ とすると、 nakayoshi 宛のメールは以降に書かれたところ daemon: keisuke root : keisuke MAII. ER-DAEI{ON : postmaster Postmaster : root しておくとよいでしよう。 が解釈され、 sendmail が利用する DBM ファイルが作成 ドを実行します。このコマンドによって aliases ファイル aliases の設定が終ったら、かならす newaliases コマン えておいたはうがよいかもしれません。 UUCP を利用している場合には、それらのための記述も加 スに書き込んだほうがよいでしよう。また、 news や 個人 ( この例では keisuke という利用者 ) のメールポック mon になって読んでもいいのですが、通常は実際の管理者 まなメールが届きます。それらをいちいち root や dae- メールを運用していると、 root や daemon 宛にさまざ 26 ホームディレクトリに置かれ、その利用者宛に届いたメー . forward ファイルがあります。このファイルは各利用者の なお、 aliases の設定と似たような処理をするものに されます。 ルをファイルのなかに書かれているアドレスに転送しま す。 . forward の処理は、 aliases ファイルの処理後におこ なわれます。 aliases ファイルで特殊な設定をする場合は、 各利用者の . f 。 d ファイルの設定と矛盾しないように 注意しなくてはなりません。 新しいファイルによる sendmail の起動 sendmail. cf は、設定が終ったら /usr/lib ディレクトリ に置きます。これで、次に sendmail が起動されたときに は新しい . cf ファイルで制御がおこなわれるようになりま す。ただし、環境によっては以下の 2 つの項目に注意しな くてはなりません。 ◆ sendmail . fc ファイル sendmail. cf の記述は sendmail を起動するたびに解 釈されるので、 CPU の負荷が大きくなることもあります。 これを避けるには、 sendmail.cf を解釈した後のメモリイ メージを sendmail. fc というファイルにダンプしておき ます。 sendmail は、 sendmail.cf でなくこちらを使用し ます。 現在 sendmail. cf を使用しているが負荷の軽減のため に sendmail. fc に変えたいとき、または現在使っている sendmail. fc を新しくしたいときには、 sendmail.cf ファ イルを / usr / lib ( または / etc ) に設定した後、次のコマンド を実行します。 # /usr/lib/sendmail —bz これによって新たな sendmail. fc ファイルが作成され、 以後起動される sendmail はすべて新しい設定を使用す るようになります。 ◆ SMTP daemon TCP/IP ネットワーク上のメール転送には、ほとんどの 場合 SMTP メーラーを使用します。ほかのメーラーと異 なり、 SMTP ハンドラは sendmail に内蔵されています。 そのため、はかのシステムからの SMTP 要求を受け付け るには、 daemon モードで動作している sendmail が必要 で、 bd オプションを使って次のように起動します。 # /usr/lib/sendmail 一 . —qlh UNIX MAGAZINE 1990.8
FreeSoftware の世界 define "macfig"@ f igure define l'macfig'l / figure/ ; file mac ・ pro g10b ; このマクロを最初に使うときには、 file コマンドで mac. pro の内容をグローバルに定義します。そして、次の行でそ のマクロを再定義し、次にこのマクロを呼び出すときは figure だけを実行するようになります。 この構文では、ツクと、、 } 〃で囲まれた部分に literal を 使えば、 PostScript のコードをそのまま書くこともでき ます。 また、これを利用すればパラメータが必要な図形などが あった場合、 figure func. ps { literal / 矼 gl 矼 g2 / f igure のように書くこともできます。 psfig か扱う PostScript ファイル psfig が扱う PostScript ファイルには、図形の大きさ の情報が入っている必要があります。この情報は以下のよ うなかたちのコメントです。 %%BoundingBox: 11X 11Y urx ury この例は、ファイルのなかの図形が ( 1 ⅸ , 11Y ) と (urx, ury ) の 2 点を対角線とする矩形のなかに収まることを示 しています。このような特殊なコメントを、 PostScript の structuring convention ( 構成規約 ) と呼びます [ 冂 ( バー ジョンは旧くなりますが、 [ 2 ] にも解説があります ) 。 また、この PostScript プログラムのように、ほかの PostScript プログラム (troff も PostScript プリンタに 出力するときには、最終的に PostScript プログラムに落 ちます ) との互換性を保ち、一定のコメントが書かれている ものを EPS (Encapsulated PostScript) と呼びます [ 3 ] 。 したがって、 EPS コードを出力するアプリケーションで作 76 成した図形は、 psfig でもそのまま利用できることになり ます。 ただし、実際に psfig が見るコメントはこのうちの % % BoundingBox だけなので、この情報を補うことによって X11.4 の xpr や xfig の出力ファイルなど EPS コードで はないアプリケーションでも利用可能です。このコメント がないファイルには、 bound というキーワードを使用し て、文書のなかで図形の大きさを定義します。 psfig コマンドの起動方法 psfig は troff のプリプロセッサなので、利用するとき には次のようにします。 psfig file ー troff —mmacro -mpsfig ー ほかのプリプロセッサも使うときは、 psfig の前にタイ プします。ー mpsfig は . F 十マクロや . F ーマクロの定義ファ イルを指定するもので、 PostScript で書かれた図形をセ ンタリングします。 X ウインドウやさまざまなグラフィック・エデイタなど によって作成される PostScript コードはかなり大きいの で、これらの図形を入れた出力ファイルはややもすると膨 らみがちです。また、 psfig を使用していると PostScript に依存した出力になってしまうので、別のプリンタやプレ ピューアを使用することができません。 そのようなことを考慮して、 psfig には、、ドラフトレベ ル〃という概念が用意されています。 psfig コマンドのなか に level というキーワードに続けてレベルを表す数字を書 くと、その図形は指定したレベル以止で psfig を動かした ときしか描かれません。 それ以下のレベルで psfig を動かすと、 . F 十と . F ーで囲 まれた図形は、 ドラフトレベル UNIX MAGAZINE 1990.8 sml ey. のように、位置と大きさを表す長方形のなかにその図形の
ネットワー代のワークステーション管理 メールシステムのセットアップ 田中啓介 ■はじめに 20 メールアドレスで発信されてしまうケースもあります。そ よっては、何も設定せすにメールを出すとそのメーカーの にどんどん送られてしまうこともありますし、システムに が ) 。しかし、メールの場合はエラーメールがあちらこちら せん ( むろん、周囲に誤った情報を流すことはあります 続を拒否される程度で周囲への影響はさはど大きくありま メール以外のネットワーク機能は、設定を間違えても接 常な運用のためには設定が必要です。 ければ十分に利用できないのと同様、メールサービスも正 /etc/passwd の設定やホームディレクトリの生成をしな も ) スイッチを入れるだけでそれなりに使えます。しかし、 ませた状態で搬入されるので、利用者は ( 管理者であって : 丘の UNIX システムは OS などのセットアップをす 前にメールを出してはいけません ません。 の存在も無視できないのですが、今回の解説ではとりあげ mailx 、 mh などメールを読み書きするアプリケーション ください。また、実際のメールサーピスでは、 ucbmail や 述べません。末尾に挙げた文献 [ 冂 [ 2 ] [ 3 ] [ 4 ] [ 5 ] を参照して かぎられていることもあり、 sendmail の詳細については それ以降の運用についてまとめていきます。なお、誌面が てメールサービスを一般利用者に開放するまでの手順と、 移植されています。ここでは、この sendmail を中心とし たものですが、現在では多くの SystemV 系システムにも あります。 sendmail は BSD 系のシステムに含まれてい メールを配送するための中心的な機構に sendmail が く広域ネットワーク環境でも利用されています。 れほど神経質にならすに利用できますし、 LAN だけでな しよう。ほかのサーピスのようにセキュリティについてそ されるものは電子メール ( 以ード、メールと記す ) サーピスで ネットワーク上のサービスのうち、もっともひろく利用 んなメールを受け取ったときは、差出人に苦情のメールを 出そうにも、発信者のメールアドレスに出したのではメー カーに送られてしまいます。 困ったことに、間違った設定でもシステム内のローカル なメールのやりとりは可能なことが多く、利用者の混乱を 招きます。こういった事態を避けるためには、すみやかに メールの設定をおこなうか、 ( その余裕がなけれは ) メール ■ な手順でおこないます。 sendmail を使ったメールシステムの設定は、次のよう メールシステムの設定 の機構が働かないようにしておくべきでしよう。 ドメイン名 6 ) 運用の開始 5 ) sendmail. cf 以外のファイルの設定 4 ) sendmail.cf のテスト 3 ) sendmail. cf ファイルの設疋 2 ) メールシステムの環境の決定 ドメイン名の決定 1 ) 昔は ( といっても今でも通用するのですが ) メ ドレスを、 ん 0 弘 ! ん 0 2 ! ん OS / 3 ! user のように言当していましたが、現在では、 ″sの・@ ん os / . 川〃か ールのア の形式が大勢を占めるようになりました。 JUNET あるい はそれに類似したネットワークの利用者は、おもにこの形 式のメールアドレスを使用することになります。 そのためには、ますドメイン名を決定する必要がありま す。ひと口に、、ドメイン名〃といっても、も丘ではさまざ まな文脈で使われています。今回の特集だけでも、 UNIX MAGAZINE 1990.8
FreeSoftware の世界 ともできるのです。たとえは、 MacDraw で作成したファ イル lab. ps とそのプロローグ・ファイル mac. pro があ るとき、 figure lab. ps { file mac ・ pro figure } width \ Ⅱ ( . lu とすれば、 troff のなかで文字を反転することはほとんど 不可能ですが、 psfig を使えば figure black. ps height 40u width "\w' 白黒反転 'u + ln"reserve 0 0 @\c @ literal / 1 setgray/ @白黒反転@ literal / 0 setgray/ @ のように容易に実現できます。 とすれば、 tr 。仕のなかで文字を反転することはほとんど不可能 ですが、 psfig を使えば のように容易に実 現できます。 のようになります。 reserve というキーワードによって、その図形を印刷す るために troff に空けておいてもらう領域を指定します。 領域を指定しないと、図形の大きさのぶんだけ空きます。 この例では、図形と troff で書いた文字とを重ねたかった ので 0 にしてあります。ソ〃はたんなる区切り記号ですか ら、 PostScript コードの一部 ( 普通の行のなかで使用する ときはデリミタも含む ) でないかぎりなんでもかまいませ ん。もし、カラー PostScript プリンタがあれは、これをす こし変形させて色付きの文書を作成することも可能です。 また、 pic では線種を変えられるのは直線だけですが、 のように目的の図形を描くことができます。 psfig を使えば円やスプラインを点線にすることもできま この例では、 lab. ps のまえに mac. pro が取り込まれ、 す。 lab. ps は mac. pro の環境を利用できます。 mac. pro の 図形の幅や高さを毎回するのは面倒なものですが、 環境が有効なのは挈と、ツで囲まれた範囲なので、 lab. マクロ機能を使えは簡単です。たとえば、 ps の図形を出力した後はもとの環境に戻ります。 define smiley /figure smiley. ps width 3 Ⅱ / 同しアプリケーションの図形を何枚も使用するときなど は、 file で同しファイルを何回も転送するのは時間の無駄 です。このようなときは、 global というキーワードをつけ のように書いておくと、次からは@ sm ⅱ ey@ と書くだけで この図形を文章中で使用できます。 ればファイルの内容がグローバルな範囲で利用可能になり、 Macintosh で作成した PostScript のデータ ( アプリケ 次の図からは file の指定を省くことができます。上の例で ーション ) を UNIX で利用するときには、 PostScript オ mac. pro の部分をグローバルに定義したい場合は、 ペレータの定義などか書かれたプロローグ部分を別のファ イルに保存しておき、そのオペレータを使用するスクリプ figure lab. ps{ file mac ・ pro global ト部分だけを入れ替えて印刷することによってファイル容 figure } width \ Ⅱ ( . lu 量を節約するのが一般的です。しかし、そういった場合で も psfig のために 2 つのファイルをつなぎ合わせる必要は と書きます。こういうときには、次のようにマクロにして ありません。 psfig では、図形ファイルを取り込むまえにほ かのファイルを読み、その図形のための環境を用意するこ おいたほうが便利です。 白黒反転 75 UNIX MAGAZINE 1990.8
大阪大学情報工学科ネットワーク ( その 2 ) 実際にどうだづたカ 1. ワークステーションの質に対する要求 ようなコンセプトを掲げました。 今回、引・算機システムを入れ換えるにあたっては、次の 基本的なコンセプト 42 割にはそれはど利用されないからです。ワークステーショ としませんし、 X ウインドウは初期設定などがたいへんな 1 台は要りません。入門用にはさはどの計算パワーは必要 が必要です。一方、低学年での教育にはかならすしも 1 人 ような実験には、たしかに 1 人 1 台のワークステーション ログラミング教育がおこなわれています。高学年でのこの 年では X ウインドウ・システムやソケットなどを用いたプ UNIX の使い方や C 言語などの教育に使われており、高学 いる実験をみるとその使い方はさまざまです。低学年では めつくしてしまいました。ところが、実際におこなわれて 以前の構成は、実験室を多数のワークステーションで埋 2. 計算機利用の階級化ーー初心者教育用と高度教育用 求されたのです。 を揃えてサービスの質を向上させ、種類を増やすことが要 などです。これら、さまざまなクラスの言 t 算機や周辺装置 ンタやカラー・ディスプレイを備えたワークステーション 要求が出てきました。たとえば、解像度の高い高速なプリ むしろ、研究室の環境ではより質の高い計算機に対する ているような気がします。 考えて必要以上に台数を増やすことへの警戒心が根付い 易になりました。学科の人びとのなかに、管理上の手間を も登場してきたので、端末の台数を揃えることは比較的容 ョン並みのユーサー・インターフェイスを実現できるもの X 端末のような、管理に手間がかからす、ワークステーシ 研究室単位でも気軽に入手できるようになりました。また、 なかったワークステーションも価格の低下にともなって、 す。しかし、研究室の環境は変わってきました。以前は少 に使用する計算機の台数は、従前どおり 1 人 1 台が原則で のワークステーションの導入が要求されました。学生実験 で、またホストとなる計算機がなくなることから、相当数 前回は、ワークステーションを持っている研究室も少数 ンをばらまくと、管理だけでけっこうな手間がかかります。 とくに、教育用に使うためには標準の設定などを教官があ る程度準備しなければならず、これを個々のワークステー ションごとにおこなうのは面倒です。むしろ、漢字端末で ⅵといった使い方で十分とさえいえます。 そのため、計算機設備を高学年用と低学年用に分け、高 学年用としてはワークステーションからなる分散システム を、低学年用には汎用機 ( といっても、サーバー型のワーク ステーション ) からなる集中システムを用意して管理の手 間を減らそうと考えました。 3. サーバーによるアプリケーションの共有 大きな記憶領域を備えたファイルサーバーを実験・演習 用に何台か用意して計算機環境の整備はサーバー上でお こない、ワークステーションではそれを共用するような仕 掛けが要求されました。これによって、アプリケーション やその使用環境をすべての実験・演習用ワークステーショ ン上で揃えることができます。このように、教育に用いる 部分ではできるだけ管理の手間を減らさなければなりませ ん。同様に、研究室の環境のサポート用にもサーバーを使 うことにしました。 システム構成 新しい副・算機システムのハードウェア構成は図 1 のとお りです。一見して分かるとおり、 DECstation が 80 台も並 ぶというきわめて贅沢な環境になっています。 図の上半分が学生実験用の計算機群です。 1 台の DEC- station がローカルサーノヾーとなって 4 台のディスクレス をサポートする形態になっており、計 45 台の DECstation があります。これらの計算機は、プリッジを利用してほば 10 台すっ別系統のネットにすることでネットワーク全体 のトラフィックを抑えています。さらに端末 ( Vt382 ) が 45 台あり、おもにこれらをサポートするために 3 台のサーバ ー (icsfsl 、 icsfs2 、 icsfs3) があります。図の下半分は研究 用の計算機群で、各研究室にサーバーが 1 台とディスクレ スが 2 台すっ割り当てられています ( 10 講座、計 30 台 ) 。 研究用の計算機も、ほば 6 台すっ別系統のネットワークに しています。このほか、従来からある言 t 算機が lcsnet にぶ ら下がっています。 icsvax は唯一の VAX アーキテクチ ャの計算機 ( VAX3900 ) で、学科全体のサーバーとして演 習用のネット (Expnet) と研究用のネット (lcsnet) のゲー UNIX MAGAZINE 1990.8
JUNET 便り みるく やドキュメントにはその旨か書かれていますが、フリーソ PDS にしろ、フリーソフトウェアにしろ、ソースコード ・フリーソフトウェアの制限 アの違いをよく理解して正しく使い分けたいものです。 無用の混乱を起こさないように、 PDS とフリーソフトウェ フリーソフトウェアを作る人、利用する人のいすれにも 人が多くなってきたようです。 を認識していたのですが、最近になってふたたび混同する の違いに関する言侖をした糸習韋から、多くの人がその相違 JUNET では以前にヾフリーソフトウェア〃と、、 PDS" 分けられます」などと説明しているものまであります。 アウェア〃 ( 使ってみて気に入ったら使用料を払うもの ) に には「 PDS を分類すると、、、フリーソフトウェアクと、、シェ 、、 PDS 〃という言葉を使っていることが多いようです。なか 介されていますが、どうもフリーソフトウェアのつもりで 描丘、よく雑誌などでフリーソフトウェアや PDS が紹 リックドメインにおく ) というふうに使うそうです。 る場合に "put XX in the public domain" ()X をパプ 権や特許権などの ) 消滅状態クという意味で、権利を放棄す 語の辞書には載っていますが、、、公有地〃あるいは、、 ( 著作 PDS の、、 public domain" という言葉はすこし大きな英 作権はあるよ〃という点です。 して、フリーソフトウェアは、、無料で使っていいけれど著 ので、、煮て喰おうが焼いて喰おうが勝手〃にできるのに対 違は、 PDS が、、著イ料莅を放棄した状態のソフトウェア〃な Domain Software) とは違うものです。もっとも大きな相 すが、同しように無料で入手できる PDS (PubIic フリーソフトウェアは無料で入手できるソフトウェアで ・フリーソフトウェアと PDS リーソフトウェアにまつわるお話をしたいと思います。 ェアを、、フリーソフトウェア〃といいます。今月はこのフ トされていますが、このように無料で入手できるソフトウ 今月も fj . sources にはたくさんのソフトウェアがポス 128 フトウェアの場合はさらに、、どういう条件で何をしてもよ い〃という制限事項が書かれているのが普通です。たとえ ば、、、営利を目的としないかぎり、このプログラムのいかな る複写、移植、改変、修正も許諾します〃という簡単なも のから、、、著作権表示について〃、、配布内容についてクプロ グラムの利用による損害の保証についてハ商用利用につい て〃などの各項目ごとに制限カかく孑ぐしてあるものも あります。 たとえば GNU のソフトウェアでは、「コピーする各フ ァイルには著作権表示をかならす記載しなくてはいけな い」「バイナリを配布するときはソースコードも添えなくて はならない」「配布に関する手数料は請求してもかまわな い」というようなことか書いてあります。 フリーソフトウェアを利用するときには、これらの制限 : 第頁をよく理解したうえで利用・配布・改造などをするよ うにしましよう。 ・フリーソフトウェアの回覧 fj. sources には、描丘大きなソフトウェアの投稿が増え てきて、 20 から 30 ものパートに分けてポストされている ものも見かけるようになりました。とはいえ、 1 パートが 50KB として単純計算してもニュースで配布できるのは数 MB ほどカ吐限になります。 しかし、 X ウインドウ・システムのように全体のサイズ が 100MB 以上にもなるフリーソフトウェアもあります から、そのようなときには有志が集まってテープで回覧す ることもあります。これまでにも、 X11. [ 3 / 4 ] のほか、 MH 、 KERMIT 、 NCSA software 、 USENET ソフト ウェア・アーカイプなどが回覧されています。 これらは、そのフリーソフトウェアを入手した人の好意 によるものです。よいフリーソフトウェアを入手したら、 ぜひ回覧して皆で幸せになりましよう。 ◆今月の話題から ( 1990 年 6 月 22 日現在 ) Newsgroups: fj . general Subject: Status Of Bitnet overseas line BITNET 国際回線の利用状況と利用制限についてのお 知らせです。現在、 BITNET の日本と海外ゲートウェイ間 の転送速度はそれはど高速ではないのにもかかわらす、大 容量のファイルの転送リクエストが相次いでおり、回線が UNIX MAGAZINE 1990.8
メールシステムのセットアップ 特集 もできますが、システム側で設定したほうが楽な場合もあ ります。 このための設定方法には、以下の 3 つが考えられます。 1) NFS を使って、メールポックスのためのディレクトリ を物理的に 1 つにする。 2 ) sendmail.cf を変更して、ローカルなメールポックス に書き込まれるメールをメールサーバーに転送する。 3 ) aliases ファイルを設定して 1 カ所にメールを集める。 1 ) の方法は簡単ですが、メール配送時の書込みとメール のアプリケーションによる読出しが同時に生した場合に、 ファイルのロックをどうするかが問題となることもありま す。ここで安易な方法を採ると、メールポックスが消去さ は、ルールセットのなかで、 sendmail. cf のなかに書けるようになりました。たとえ 同時に、ホスト名を正式なものに変更するための記述が と管理しなけれはなりません。 す。その代わり、 BIND サーバーの MX レコードをきちん く、したがって sendmail.cf はほとんど変更せすにすみま 基本的に、メールの転送のための記述はこの 1 行だけでよ SMTP メーラーに smtp という名前を使用しています ) 。 に対して SMTP を使ってメールが送られますにこでは、 対する MX レコードを参照し、その結果得られたシステム keisuke@unimaga ・ CO. jp であれば、 unimaga ・ CO ・ jp に という senmdail. cf の日当があったとしましよう。宛先が UNIX MAGAZINE 1990.8 合です ) 。 や /usr/lib/sendmail. subsidiary. cf の記述を使った場 ように設定されています (/usr/lib/sendmail. main. cf になっています。現在、 NIS を利用する仕組みは、以下の Sun か胱供している sendmail は、 NIS を利用するよう N 旧の利用 た正式な形式に変史することができます。 完全なものや、別名となっているものをドメイン名を含め と記述すれば、ドメイン名に省略があるなどホスト名が不 ゝれるような事故が起きる可能性もあります。 2 ) と 3 ) は 1 ) よりも安発生が高いものの、利用者が設定 している . forward がシステム側の設定と矛盾している場 合にループを生しるおそれがあります。その点に注意すれ ば、かなり有効な方法といえるでしよう。ただし、利用者 はメールサーバーでしかメールを読むことができなくなり ます。 N D からの青報の取得 「 BIND サーバー」の章で説明があったように、 MX レコ ードを設定し、それにしたがって sendmail の動作を制御 することができます。 MX レコードは、最終的な宛先を決 たとえば、 定する際に使われます。 31 の情報を参照できます。しかし、 2 ) の機能を使って参照で 前号の「 NIS 」の説明でも触れたように、 NIS は BIND になります。 く、ドメインマスターのシステム名を付けることが可能 メールポックスを置いているシステム名 ) を出すことな することで、 From : に個々のシステム名 ( 利用者個人が という From: フィールドを keisuke に直します。こう From: keisuke@hlssystem.unimaga ・ co ・」 p とあった場合、 keisuke : keisuke@hissystem.unmaga ・ CO ・ JP 向の情報をもっています。たとえば、 /usr/lib/aliases YP マップ mail. byaddr は、 /usr/lib/aliases の逆方 されます。 3 ) From : の行は NIS マップ mail. byaddr に従って置換 ホストに直接 SMTP を使ってメールを送ります。 2 ) NIS マップ hosts. byname に登録されていれは、その aliases ファイルから作成されます。 通常、 mail. aliases は NIS のマスターサーバーの プ mail. aliases を使って別名の処理をおこないます。 1 ) /usr/lib/aliases (/etc/aliases) に先立って、 NIS マッ
、特集 応用的な事項 漢字コードの変換 ネットワーク時代のワークステーション管理 、ゝ 1 ) メールシステム ( sendmail など ) でおこなう 現在では、日本語 ( 漢字コード ) を簡単に扱える UNIX が多くなり、メールも国内でやりとりされるものはほとん どが漢字混しりになってきました。 日本語化された UNIX は、 EUC を標準として使ってい る場合が多いようです。これに対して、メールとして転送 する場合には JIS コードを使うように奨められています。 とくに組織間でやりとりするメールに EUC を使っている と変換がかかって文字化けが生しるので、かならす JIS コ 2 ) アプリケーションでおこなう 3 ) 利用者が個人でおこなう という 3 種類から選択できます。どの方法にも一長一短が あって決定的なものはないのですが、本来は 1 ) がもっと もよい解決方法でしよう。ただし、 sendmail 自体はコード 変換の都合を考えた設計にはなっていないので、あまりす っきりした解決はできません。 こでは、とりあえす使用 する方法を記しておきます。 外部から入ってくるメールに対しての変換 ローカルなメールポックスに書き込む段階で変換を加え ードにする必要があります。 漢字のコード変換方法は、 MIoc 訌 , P=/bin/ma11 , F=rIsDF&n, S = 10 , R = 20 , A=maiI -d $u となっている部分を以下のように変更します。 ます。具体的には sendmail. cf で、 M10c 訌 , P=/usr/Ioca1/etc/ma11-nt0h, F=r1sDFMmn, S = 10 , R = 20 , A=mai1-nt0h -d $u mail-ntoh は以下のようなシェルスクリプトです。 # ! /bin/sh exec /usr/local/bin/ntohk ー /bin/mail $ * ( ここで、 ntohk コマンドは JIS コードをそのシステムの 漢字コードに変換するフィルタとします ) 。 外部に出ていくメールの変換 そのシステムから外部に出ていくだけのものに対しては、 有効な変換方法はありません。ただし、 /usr/ucb/mail だ けを対象にするのなら、以下の方法があります。 MaiI. rc ファイル ( あるいは各利用者の . mailrc ) に以下 # ! /bin/sh ードに変換するフィルタとします ) 。 ( htonk コマンドは、そのシステムの漢字コードを JIS コ mail-hton は、以下のようなシェルスクリプトです sendmail=/usr/local/etc/mail—hton の行を加えます。 exec /usr/local/bin/ntohk ー /usr/lib/sendmail $ * 30 この方法では /usr/ucb/mail にしか対応できません。 のほか、 /usr/lib/sendmail 自体を、漢字コード変換フィ ルタを通してから本当の sendmail を起動するようなシ ェルスクリプトに置き換える方法もあります。しかし、 uucp でメールのやりとりをおこなうようなシステムでは、 そのシステムを通過するだけのメールにもコード変換をお こなってしまいます。そういった意味では、あまり推奨で きない方法です。 なおはも丘の日本語化された UNIX では mail などのユ ーザー・インターフェイスのプログラムでコード変換を自 動的におこなうものもあるようです。 メールサーノヾー ーは、あるネットワークでメールポックス メールサー を集中して管理するマシンです。 Ethernet にたくさんの マシンか接続されている環境で、あちこちのメールポック スにメールがそれぞれ書き込まれてしまうと面倒です。で きれは 1 つのシステム上のメールポックスに集めたはうが、 管理者にとっても利用者にとっても都合がよいでしよう。 もちろん、各利用者が自分で設定して 1 カ所に集めること UNIX MAGAZINE 1990.8
すが ) 。 さらに、組織外から、、そちらの大学の xx 先生のメール アドレスを教えてほしい〃あるいは、、そちらの大学の出身 者ですが、成績証明がほしいので手続きを教えてください〃 というメールが送られてくることさえあります。相手にし てみれば、問合せ先がよく分からないので postmaster 宛 にしてしまうわけです。ポストマスターは、これらにも ( そ れなりに ) きちんと答えていかなけれはなりません。 これらは技術的な事項ではありませんが、メールシステ ムの運用を続けていくためには重要なことです。管理者の ところにくる可能性のある質問には、次のようなものがあ ります。項目ごとに筆者の経験からいえることを付加して おきます。 ・△△さんのメールアドレスが知りたい 可能なかぎり情報は提供すべきです。しかし、現在その ための有効な手段はありません。 そこのポストマスターさんと親しければ、問い合わせて みるのも 1 つの方法です。ただし、相手はポストマスター を務めるくらいの人ですから多忙です ( ? ) 。あまり迷惑が かからない程度にとどめましよう。結局のところ、、、本人に 問い合わせたほうが早いですよ〃ということになってしま います。いまのところ、これに勝る解決策はありません。 ・相手がメールを読んだかどうか知りたい 現在の UNIX システムあるいは sendmail では実現で きません。相手に、読んだら芯を示してはしいと頼むし かないでしよう。 なお、宛先に確実に到着したかどうかは、メールを出す ときに Return-Receipt-To: というへッダに自分のアド レスを書いておけは、相手のシステムに到着した時点で reply が生成されて送り返されます。ただし、相手側のシス テムがサポートしていない場合もあることをかならす言い 添えておきましよう。 ・いつ誰にどんなメールを出したか、記録を採っておきた いのですが・・ 、、そんなの簡単しゃない〃とあなたは言うかもしれませ ん。しかし、利用者はあなたのようになんでも知っている わけではありません。たとえば、、、 mail コマンドをお使いで すね。それでは、メールを出すときに相手のアドレスに加 えて、もう 1 つ自分の名前を追加してください。そうすれ UNIX MAGAZINE 1990.8 メールシステムのセットアップ は相手に送られると同時に自分にも送られますから、記録 になりますよ〃と答えるだけでもいいのです。そこで、新 しいユーサー・インターフェイスや複雑な使い方を教える のはやめましよう。利用者はメールを使って情報交換をし たいだけで、メールのユーザー・インターフェイスを使い こなすことが目的ではありません。現在の利用者の使い方 から考えて、もっとも簡単でスタイルを変えなくてもすむ 方法を提案するはうがよいでしよう。あなたがそれよりよ いと思われるユーザー・インターフェイスを知っていたと しても、利用者が現在の使い方に不便を感しるようになる までは紹介しないほうが賢明です ( むろん、例外もあります が ) 。 テストメールの出し方 テストメールというのは本来なら出す必要のないメール ですから、なるべく周囲に負担をかけないようにすべきで す。注意が必要な点としては、以下の事項が考えられます。 ・たくさん出さない たくさん出しても成功するわけではありません。 1 つ出 したら syslog や mqueue をチェックして、そのメールが どうなったかを判断しましよう。それから次の行動に移っ てください。 ・なるべく外部に出さない 組織外にきちんと届くかどうか心配する気持ちは分かり ますが、実際にメールを出さなくても sendmail -bt コマ ンドでおよその見当はつけられます。もし、ほかの組織に うまくメールが届かない場合でも、メールのヘッダやログ の情報を見たり、 sendmail 、メーラーの機構、メーラーが 使用する通信プロトコルを分離して調べたほうがトラブ ルの原因を特定しやすいものです。 ・なるべく他組織の管理者に負扣をかけない たとえば、 guru. ed. unimaga ・ co ・ jp から root% guru. ed. unimaga ・ CO. jp@acchi.ac ・ jp にメールを 出します。通常、 acchi. ac. jp のゲートウェイまで届いて から自分のところに戻ってきます。これなら相手の管理者 に負扣をかけることはありません。ただし、エチケットと して、相丁の管理者にはゞそちらに出して戻ってくるこ れこれしかしかのテストメールを出します〃と知らせてお くべきでしよう。 29