場合 - みる会図書館


検索対象: UNIX MAGAZINE 1993年11月号
137件見つかりました。

1. UNIX MAGAZINE 1993年11月号

LittIe PerI Pa 日 0 「の $default—paper &paper ($default-paper) ; ( 1 ) は、テキストファイルを PostScript に変換する a2ps たとえは、このサプルーチンに ' b4 ' という文字列を渡し というプログラムの一部である。この部分は、変換すると たとすると、 きに用紙に関するパラメータを合わせる処理をおこなう。 10Ca1 (*param) = param_b4' ・ こでは、 US Letter/A4/B4 判の 3 不頁の用紙をサポー トしている。 というプログラムが実行される。これは、次のように書い Perl のデータは入れ子にすることができない。つまり、 たのと同しことになる。 配列や連想配列の要素として配列を扱うことはできない。 10Ca1 (*param) = *param—b4; この場合も、連想配列の要素に配列をもっことができれば 問題ないのだが、それができないのでこのような方法を使 違うのは、前者の場合は param-b4 というシンポルから ってみた。 タイプグロプへの変換が実行時におこなわれるのに対し、 サプルーチンのなかで * p am というタイプグロプに 後者はそれがコンパイル時におこなわれるという点である。 このようにタイプグロプを使うと、 shift para-m— @param{ 'us ' } ( 8.50 , 11.06 , という文字列を代入している。通常、タイプグロプはタイ a て { ' a4 ' } ( 8.27 , 11 .64 , @param{ ' b4 ' } = ( 10.15 , 14.31 , プグロプに代入するのだが、文字列を代入するとすこし意 味が変わってくる。その時点のシンポルテープルから、そ のようなデータ構造をエミュレートすることが可能である。 の文字列と同し名前をもつオプジェクトのタイプグロプを ちなみに PerI 5.0 からはデータ構造の入れ子が可能に 代入した場合と同し効果が得られるのである。 なるので、このような工夫をしなくてもすむようになる。 ローカルなファイルハンドルを作る ( 1 ) &readfile(shift) ; sub readfile { 10Ca1 ( $ f 土 le ) = shift; 10ca1(*F) ; # ローカルなファイルハンドルを作る open(), $file) Ⅱ do {warn("$file: $!\n"); return;}; while ( く (>) { print ; &readfile($l) if /*#include\s + く ( . * ) > / ; c10se(F) ; 変数や配列は local を使って宣言することで、プロック というパターンを発見したら、その場所に f 。。 . h の内容を 内でローカルなものとして使用することができた。しかし、 表示する。 f 。。 . h のなかに ファイルハンドルに関してはこのような方法は提供され #include く bar . 五 > ていない。 サプルーチン内でローカルなファイルハンドルを使いた という行があれば、その場所に bar. h の内容を表示する。 いという状況はよくある。 ( 1 ) は、 #include を処理する簡単 このようなプログラムはサプルーチンの再帰呼出しを使 な cpp のようなプログラムの例である。 って実現するのが自然である。 しかし、ファイルをオープンしてその内容を読み出すた #include く f00. > めには、ファイルハンドルを使わなければならない。しか UNIX MAGAZINE 1993.11 181

2. UNIX MAGAZINE 1993年11月号

実彳」 1 lpq の実彳」 % lpq Rank Owner active aya UN Ⅸへの招待⑩ Tota1 Size Job 518 Fi1es genkO. dvi ラーが生してしまいます。 ${PRINTER : = PS400 } UNIX MAGAZINE 1993 ユ 1 コマンド テストコマンド という竹喋を繰り返します。 コマンドを実行し・・ あいだにあるコマンドを実行します。そしてまた、テスト 実行し、その終了ステータスが 0 であれば do—done の 実行するというものです。シェルは、テストコマンドを ドの終了ステータスが 0 のあいだ、繰り返しコマンドを は、 Bourne シェルの組込みコマンドで、テストコマン done do while 力します。 11 ~ 15 行目で使用している、 い引数てオ旨定されたファイルすべて ( $ のをプリンタに出 各行の詳細は次のとおりです。ます 9 行目で lpr を使 してプログラムの実行カ鮗了します。 出力カ院了するとメッセージ、、も一いーよ。 " を表示 カカ院了するまではメッセージ、、まーだだよ、 " が表示さ グラムを実行すると、ファイルカワ。リンタに出力さ出 ト 3 のプログラムについて説明しておきましよう。プロ パラメータと修飾子には直接関係ありませんが、リス などとしてもかまいません。 lpr —P${PRINTER : = PS400 } " $@" では 9 行目 ) でパラメータとイ市子を使い、 また、最初に該当する変数を利用する場所 ( プログラム中 PRINTER=${PRINTER: = PS400 } も、変数にこの形式の置換結果を代入してもよく、 メータと修飾子を利用しなければならないのです。もっと こういう場合は何もしないコマンド : の部分で、パラ 22180 リスト 3 中のテストコマンドでは、プリンタへの出力 状態を表小する lpq コマンドを使っています。 lpq は、 実行例 1 に示したようにプリンタへの出力要求とその状 態を表示します。ファイルのプリンタへの出力か完了す ると、 lpq からは該当要求に関する情報は表示されなくな ります。 リスト 3 では、 lpq の出力を一 ( パイカを介して egrep に送っています。 egrep は、 lpq の出力のうちュー サーのログイン名 ($USER) を検出します。 egrep は、文 字列を検出すれば終了ステータスとして 0 を、検出しな ければ 0 以外を返すことになっています。 lpq からの出 カ中に、 ・自分のログイン名 (Owner) があれは出力は完了して し ) なし ) ・ログイン名がなければ出力は完了した と判断できます。前者の場合は egrep の終了ステータス が 0 になるので、 do—done までのコマンドが実行され ます。一方、後者の場合は egrep の終了ステータスが 0 以外になり、 d 。以降のコマンドか実行されます。これに よって、出力カ院了するまでは、、まーだだよ、 " が、完了 すると、、も一いーよ。 " がメッセージとして表示されるわ けです。 プリンタが遠くにある場合、皆さんは出力か終ったか どうかを調べるために lpq を繰り返し実行していません か ? このようなときにリスト 3 のプログラムをいった ん実行しておけば、 (lpq 実行の手間なしに ) 出力の完了 を知ることができます。もっともこれは、プリンタの出力 要求がなくなるまで一定間隔ごとに繰り返し、出力要求の を実行するのとほ司しです。 lpq + $USER 状態を画面表示する、 189

3. UNIX MAGAZINE 1993年11月号

連載朝 A First Look TEX 表 1 拡大率と拡好 gf 、 pk の系 (300dpi のプリンタの場合 ) の「拡大率」拡大率 ( % ) \magstep ・ 1.20 = 1.0 \magstep 0 1000 0 300 1 20 ・ 5 = 1.095 \magstephalf 1095 10 329 1.21 = 1.2 \magstep 1 1200 20 360 1.22 = 1.44 \magstep 2 1440 50 432 1.23 = 1.728 \magstep 3 1728 75 518 1.24 = 2.073 \mags t ep 4 2073 100 622 1.25 = 2.488 \mags t ep 5 2488 150 746 と黒を出力するものがあり、それぞれに gf ファイルが リガチャーとカーニング 必要である。 3. あるフォントを異なる、、拡大率 " で使うとき、拡大率ご 以降では、リガチャー (ligatureo 合字 ) とカーニング とに gf ファイルを用意しなけれは・ならない。 (kerning) について述べる。 1 つのフォントに対するこれらの異なる gf ファイルを、 リガチャー どのようにして区別するのだろうか。 1 と 2 の場合は、一殳に個々にディレクトリを作成して リガチャーとは、 6 など 2 文字 ( ときには 3 文字 ) を それぞれの gf ファイルをそこに置くが、 3 の場合はこれ 印字する際に 1 文字として扱うことである。リガチャー とは別のガ去を用いる。同しフォントに対する異なる gf は、謝妾した複数の文字ではない。フォント・テサイナー ファイルは別の場所に置かなければならないが、異なる拡 は、おそらくリガチャーを形成する 2 つないし 3 つの文字 大率のファイルについてはその必要はない。これは、 gf を一一緒にデザインするはすである。どの文字がリガチャー ファイルの拡張子の一部に、、数字拡張子 " と呼はれる整数 となるかは、フォントごとに異なる。典型的なものとして 値を用いればよい。 は、伍、広広広田などか挙げられる。 いうまでもなく、 gf ファイルと tfm ファイルの拡張子 上で述べたように、リガチャーの対象となる文字はフォ 以、タ ) 部分 (basename) は同一である。たとえば cmr10 ントごとに異なるため、にもともと組み込まれたリ の場 , 合、 gf ファイノレは cm て 10.300gf や cm て 10.329gf ガチャーはない。どの文字僻 ) をリガチャーとして処理 のようになる。この数字才長子の決め方について、簡単に するかを決めるのは、フォント・テサイナーである。した 説明しておこう。 リガチャーの情報は tfm ファイルに収められる。 がって、 通常、タイプライタ体 (\tt) などの固定幅 (mono- 数字拡好 space) のフォントにはリガチャーはない。固定幅のフ gf ファイルでも pk ファイルでも、数字刻長子の計算 オントには、リガチャーという概念は馴染まないからで ガ去は同しである。 ある。 数字才長子の言 1 算は、次のようにおこなう。 カーニンク - 一旦 * scal れ 9 工 ( rna の scal, res round res * 1000 1000 カーニングとは、組版の際に文字間のスペースを彳周整 mag は文書全体の拡大率、 scal は計算によって得られ することをいう。カーニングとリガチャーの考え方は、次 るフォントの拡大率、几 s は出力装置の解像度である。 のような点で異なる。リガチャーは、 2 ~ 3 文字を 1 文字 mag と sc 襯は、 rIbX 式の引算 " てオ旨定する。たとえば、 として扱うための組合である。これに対し、カーニング 拡大率を 1.0 ( 等倍 ) にする場合は 1000 を指定する。そ は 2 文字 ( 2 つの別々の文字 ) のあいだのスペースを変更 して、〃可カ球める数判長子である俵 1 ) 。 することである。 2 つの文字のあいだに挿入される水平方向のスペース は、その文字ごとに異なる。通常、このスペースは減らさ 84 UNIX MAGAZINE 1993 ユ 1

4. UNIX MAGAZINE 1993年11月号

図 2 マシン banana の /etc/fstab 0 0 0 0 0 0 0 0 coconut : /home coconut : /prOJ coconut: /usr/local /home /proj /usr/local coconut : /usr/share/man /usr/man nf s nf s nf s nf s rw , hard , intr rw , hard , ro , hard , て 0 , hard , intr intr intr んなあ」 「ふーん、 ディレクトリを automount て管理するときによく使 われます。 直接マップ (direct map) マウントボイントを糸寸パスて指定します。 1 つのマッ プに複数のマウントボイントを記できます。 . マスターマップ (master map) automount が用いるおおもとのマップで、マウントボ イントごとにどのマップファイルを用いるかを指定し ます。 弸妾マップと茁妾マップの違いは、、、相対パス " と、、絶 対パス " の違いだけではありません。間接マップを用いた 場合、マウントボイント以下は automount の支配下に 入り、既存のディレクトリは隠されてしまいます。たとえ ば、さきほどのん s ツ 1 。 cal を間接マッフて管理しよう として /usr をマウントボイントにすると、 automount を起動したとたんに / Ⅱ s ツ 1 。 cal 以外のディレクトリ (/usr/bin や /usr/lib 、 /usr/etc など ) は見えなく なり、アクセス不能になります。ですから、 /usr をマウ ントボイントにして /usr/local を automount て管理 し、 /usr/bin や / us て / 1 土 b などをそのまま使いたいとき には、直接マップに日己しなけれは・なりません。 もう 1 つの違いは、マッフ。の修正がいつデーモンに反 映されるかです。マウントするディレクトリの追加などに よってマップを修正する場合、間接マップであればすぐ にデーモンに反映されます。直接マッフ。の場合は、 auto- mount デーモンを再起動しなければ変更が反映されませ ん。マシンをリプートできれば簡単ですが、周りに仕事を している人がいるとそうもいきません。かといって、 au- tomount デーモンだけを下手に殺して (kill して ) しま うと、マシンの動きがおかしくなることがあります。弸妾 マップが使えるなら、できるだけそちらを設定したはうが よいでしよう。 このように、管理するマウントボイントの状況によっ て、間接マップと直接マップを使い分ける必要がありま す。 22 マップかあ。でも、なんかイメージカヾ勇かへ それでは、 monkey 君のネットワークを例に挙げなが ら、実際の設定を紹介していくことにしましよう。マシン banana をセットアップして、ファイルサーバー coconut のディレクトリをマウントすることにします。マシン ba ー nana の /etc/fstab には、 NFS マウントとして図 2 の ようなエントリがありました。これを automount で管理 してみます。 マップの記述 間接マップ automount における間接マップは、マウントボイント ごとに 1 つのファイルを用意し、エントリを 1 行につき 1 っ書きます。それぞれのエントリは、次のように言己し ます。 ん e リ 0 0 れ loca 0 れ ん e リはマウントボイントから相対パスで示されるディ レクトリ名で、叩。れはマウント・オプション ( 省略 可 ) 、あ c 。。れはマウントするディレクトリの場所をん。 s れ。 me : 四という形式で記述します。さきはどの例で、 /home と /proj を間接マップで管理する場合はそれぞ れ別のファイルに記述しなければなりません。 /home は auto. home 、 /proj は auto ・ proj というファイル名にす ると、 auto. home は次のようになります 7 。 # key monkey OOSaru kozaru J ou— 0 opt ion location coconut : /home/monkey coconut : /home/oosaru coconut : /home/kozaru coconut : /home/jou—o monkey 君の竟では、ホームディレクトリは、 / ome / 社 ~ 07 れ e 7 、 # " て始まる行はコメントとみなされます。 UNIX MAGAZINE 1993.11

5. UNIX MAGAZINE 1993年11月号

・追加 ファイル末尾のテーフ。マークに上書きしてデータブロッ クを書き始めれば、ファイルに追加できます。 ・ファイルの切捨て 既存のテープファイルの、あるプロック以降にテープ マークを上書きすれば、以降のデータ ( とファイル ) を 切り捨てることかて、きます。 ・ UNLOAD/OFFLINE テープの UNLOAD 、テープ装置のオンラインからオ フライン状態への変更か可能です。 できない操作 ・プロックの更新 既存のプロック、、だけ " を書き換えることはできませ ん。上書きされた場所以降のすべてのデータはアクセス 不能になります。 ・ランダムな書込み 既存のデータブロックやファイルを読み飛はすことはで きますが、末尾 ( 2 つの連続したテーフ。マーク ) を越え て早送りし、そこを読み書きすることはできません。 UNIX でのインターフェイス こでは、テープのテンヾイスドライバがどのようにテー プ装置と UNIX のアプリケーションの仲立ちをしている かを説明します。 UNIX では、テープ装置をファイル (/dev/rmt8 な ど ) として扱います。現在でも、 tar や dump 、 restore な どのテープを使用するコマンドは、テパイスを指定しない と /dev/rmt8 や /dev/rmt12 などの、いまの WS には 存在しないデバイスファイルをアクセスしたりしますが、 これには歴史的な背景があります。昔の VAX-II での標 準勺なテープは 1 , 600bpi の MT でした。そして、その 4BSD でのテンヾイス名が /dev/rmt8 と /dev/rmt12 だっ たのです。 メーカーによっては、自社の UNIX のオ剽勺なテープ テパイスの名前に書き換えています。しかし、変えずにそ のままにしてあることも多いのです。 データブロックの読み書き 1 回の write システムコール呼出しで渡されるデータ が、 1 データブロックとなります。逆に、 1 回の read シ 98 ステムコーノい平出しで 1 データブロックを読み取ります。 read システムコールでオ旨定したデータ長がテープのプ ロック長より長い場合には、とくにエラーにはならず、実 際に読み込んだバイト数 ( データブロック長 ) を返します。 指定したデータ長がテーフ。のプロック長より短い場合に はエラーになったり、次の read システムコールの夫行時 にエラーになったりします。 ファイル末の見 レギュラーファイル ( ディスクファイル ) の場合、 EOF は read システムコールが 0 を返すことて表現されます。 テープもそれにならって、読み取ったプロックがテープ マークだったら、 read システムコールが 0 を返すように なっています。ただし、引き続いて read システムコール をおこなうと、次のファイルの地頁プロックを読みます。 データ密度の尺 1 つのテーフ。装置に対して、使用可能なテーフ。密度の数 だけのテパイスファイルを用意し、どれをアクセスするか で切り替えます。 たとえば、 UItrix に 1/2inch テープ装置 TU81 を接 続した場合、 /dev/rmt01 が 1 600bpi 、 /dev/rmtOh が 6 , 250bpi です。 自蜷戻し テープのもっとも典型的な使い方は、テープの地頁から 1 つだけファイルを作成するとか、テープのう巨頁に 1 つだ け書かれているファイルを読み出すというものです。 ファイルの作成を終えたら、テープを取り外すか、読出 しテストをします。読出しを終えたら、テープを取り外す か、もう 1 回読み出します。いすれにせよ、テープを巻き 戻す必要があります。 そこで、テープテンヾイスをオープンしたときは、テープ を巻き戻して知頁から読み書きを始めます。クローズした ときは、自重加勺に巻き戻されるようになっています。 自動捲戻しを止めたいとき ( テープに複数のファイルを 置く場は、異なるデバイスファイルを使います。 たとえば VAX ー 11 シリーズで動く ( 古典的な ) 4.2BSD では、 /dev/rmt8 が自動巻戻しあり、 /dev/rmt12 が自動 巻戻しなしのデバイスです。 UNIX MAGAZINE 1993 ユ 1

6. UNIX MAGAZINE 1993年11月号

UN Ⅸへの招待⑩ $ { 1 : -husband} では、 $ { 1 } すなわち ( シェル・プログラム実行時の引数 カイ直として代入されている ) 位置パラメータの 1 番目が未 設定の場合 ( 引数を指定しなかった場か、二重引用符 を使って空の引数が入力された場合、 $ { 1 : -husband} 全 体力蚊字列 husband に置き換わります。 example このため rsh コマンドは、次のように実行されます。 rsh husband ー 1 aya—s たとえばシェル・プログラムを次のように実行すると、 一方、引数カ甘旨定されているとその値に置き換わるので、 となります。 て s child ー 1 aya—s rsh コマンドは、 example child 186 では、パラメータ month が未成疋カイ直か空だった場合は、 ${month:-'date + 加 ' } たとえば、 置換された結果か文字列として使用されます。 とも可能です。この場合、メタキャラクタの働きによって の文字列の部分には、シェルのメタキャラクタを用いるこ $ { パラメータ : 一文字列 } この節の冒頭でもすこし説明しましたが、 メタキャラクタの利用 してください。 て文字列が代入されるわけではありません。その点に注意 本か文字列に置き換わるだけです。パラメータの値とし メータが未設定の場合、あるいは値が空の場合にこの形式 次項でも触れますが、 $ { パラメータ : 一文字列 } はパラ date 十 7 迎 の実行結果がこれに置き換わります。 % cat example # ! /bin/sh echo 今月は ${month : 'date + % m ( } 月 % date + %m 10 % example 今月は 10 月 余談ですが、 date + 形式 と利用すると、 SystemV 系の date コマンドでは、 形式 - て指定したとおりに date の出力 がおこなわれます。ー . ヒの例で使用した % m は、その月を数 字で表示します ( 詳細は date のマニュアルをご覧くだ さい ) 。この機能およびパラメータとイ市子一を使用し た、請求瞽を発行するシェル・プログラムをリスト 2 に 示します。簡略化したため、請 ) 頁目などは固定にして あります。また、支払期日の省略値は当月末にし、シェ ル・プログラム実行時の引数て指定すれは支謳測日を変更 できるようになっています。 $ { パラメータ : = 文字列 } 次は、 $ { パラメータ : = 文字列 } です。この形式では、 ・パラメータが未設定 ・パラメータか設定されていてもその値が空 のときにパラメータの値として文字列カイに入されます。そ して、 $ { パラメータ : = 文字列 } 本も文字列に置き換え られます。 文字列の部分には、 ( $ { パラメータ : 一文字列 } と同様 ) たんなる文字列もシェルのメタキャラクタを含む文字列 も指定できます。後者の場合は、メタキャラクタの展開 後にそれカイ直として代入されます。 この機能は、未設定の変数喇直のない変数に省略値を代 入するために使います。リスト 3 にこれを利用したシェ UNIX MAGÄZINE 1993 ユ 1

7. UNIX MAGAZINE 1993年11月号

これはなにもトランク上のバージョンに限った話では ありません。枝分かれのバージョンに関してもバージョ ン番号を指定できます。ただし、トランク上のバージョ ンとは異なり、自由に番号を付けられるわけではありま せん。枝分かれのバージョン番号の名前付けの方法を考 えても分かるように、もととなるバージョン番号やその バージョンから出ている枝番号を変えることはできない ため、最後の 1 桁だけが自由に設定できます。 枝分かれのバージョンは最後の 1 桁しか変更できない と説明したはかりですが、実際にはもっと自由に番号を 付けられます。もととなるバージョンか直接の親となら ないようなバージョン番号を用いて、バージョンの登録 をおこなうことも可能です。この場合には、必要に応し て新たな枝が作成され、 RCS の内部ではバージョン番 号で見たときの親バージョンから生成されたバージョン であるとみなされて処理されます。 また、もととなるバージョンか存在しない場合← 1 オ プションを付けすに取り出したファイルのモードを変更 して強引に編集した場合 ) でも、枝分かれのバージョン を登録できます。これらの機能はある局面では便利です が、反面、間違って入力してしまった場合にもそのバー ジョン番号でバージョンが作られることになります。十 分注意してください。 以前のバージョンを見る 以前のバージョンが必要になるのは、バグフィックス などのために編集する場合だけではありません。新しい バージョンを作成している最中に、以則のバージョンを 参照したくなることもあるでしよう。このような状況に 対処するために、 co コマンドには一 p オプションか準備 1 . 3 . 1 . C , V 1 . 1 CO error : checkout aborted writable main. c exists ; remove it? [ny] (n) : revision 1 . 1 ー > main . C RCS/main. c ,v % co —r 1 . 1 main. c 指定します。 けないときは一 r オプションに続けてバージョン番号を に続けてバージョン番号を指定しましたが、ロックをか クをかけて取り出すには、ロックを示す一 1 オプション ンを取り出す方法はまだ紹介していませんでした。ロッ 法を説明しましたが、ロックをかけすに以前のバージョ 以前のバージョンの取出し方法と標準出力への表示方 ー q オプションを指定して出力しないようにもできます。 こりません。ただし、このメッセージか不要な場合には、 れるため、 diff コマンドの入力などに用いても問題は起 示しますが、この情報は標準工ラー出力に対して出力さ は、どのバージョンを出力しているのかという情報を表 co コマンドに一 p オプションを付けて起動した場合 編集している main. c との違いを出力できます 1 として、 main. c のトランク上の最新バージョンと現在 % co —p main. c ー diff ー main. c ファイル main. c の変更状況を調べるには、 変化しているかを、 di 仕コマンドを用いて検査できます。 編集しているファイルか最後のバージョンからどの程度 と同し処理をおこないます。この機能を用いると、現在 と同様に、トランク上の最新バージョンを指定したとき だけを指定すると、一 1 オプションだけを指定した場合 ジョンの内容を標準出力に出力します。 -p オプション 号を続けることができ、この場合には、指定されたバー 容が出力されています。ー p オプションにはバージョン番 されています。 準出力に出力します。 st dout ー p オプションは、バージョンをファイルではなく標 reVISIon 1 . 3 RCS/main. c ,v % CO —p main. C 176 が出力されたことが示さ続いてバージョン 1.3 の内 う管理ファイルから、標準出力へ 1.3 というバージョン この出力では、 RCS ディレクトリの main. c,v とい % Ci malli. C RCS/main. c ,v く一 file is unchanged; revision done % co —rl RCS/main revision done . C maln . C reverting tO previous . C この例では、 c 。コマンドに一 r オプションを指定して、 main. c というファイルのノヾージョン 1.1 を取り出そう としたのですが、その前に一 1 オプション付きで co コマ 1 このためには別のコマンド rcsdiff も使えます。このコマンドについ ては、稿を改めて紹介するつもりです。 UNIX MAGAZINE 1993 ユ 1

8. UNIX MAGAZINE 1993年11月号

連載 UNIX Communication Notes—O 登録する名前は系騰調内て十分検言寸し、合意カられるよ うにしなければならない たしかに、一度登録したドメイン名を変更することも可 能です。しかし、ドメイン名の変更はインターネット の利用者や管理者に大きな迷惑をかけます。たとえば、 メーリングリストの登録を変更する手間と時間を考えて みてください。また、いったん使われ始めたドメイン 名は名刺や印届助などで充布されるので、相当長期にわ たって使われる可能性もあります。登録前に十分に本寸 し、長いあいた変更せすに使えるドメイン名を考えるこ とか重要です。正式名称などの利用が、 1 つの指針とな るでしよう。 ・略称を使うと衝突する可能性がある 組織の正式名称を用いれは、名前の衝突はほとんど発生 しないと思います。しかし、略称を用いると衝突の可能 性か高くなります。とくに日本の企業の場合は 3 文字 の略称が多いので、これをドメイン名に使うときは注意 が必要です。もちろん、既存のドメイン名と衝突せす、 さらにはかのドメイン名と混同する可能生が低けれは惆 題はありません。そうでない場合には、十分な注意が必 要です。 ・わけの分からないドメイン名は付けない 登録申請をする糸騰は、任意のドメイン名を尺するこ とかできます。しかし、ドメイン名はメールアドレスや ほかのネットワーク・サーピスにも使われます。した がって、意味不明のドメイン名は大きな混乱を招きか ねません。理解しやすいものか望まれます。 ・ドメイン名の長さはあまり気にしなくてもよい さきに述べた条ー ) 下であれば、長さはあまり気にする ことはありません。ドメイン名を短くするために無理に 略称を用いるくらいなら、正式名称を使ったはうが無難 です。 ・既存のドメイン名を調べる はかの組織の使っているドメイン名を見れば、すでに登 録したドメインの申請者の「迎未」を知ることかできま す。また名前の衝突を避けるためにも、登録されている ドメイン名のチェックは重要です。現在登録されている ドメイン情報の入手ガ去についてはあとで述べます。 UNIX MAGAZINE 1993.11 JPNIC への申請 以 E 窈旨針に従ってドメイン名を決めたら、 JPNIC に 登録を申請します。 JPNIC 指定の申請書に必要事項を記 入し、 JPNIC に送付するとドメイン登録の処理がおこな われます。申請書を入手するには、次の 2 つのガ去があり ます。 ・ Anonymous FTP の利用 nic ・ ad ・ jp: ~ ftp/pub/jpnic にある domain-name -new ・ txt には、新規申請についての注 . 意事項と申請書 カ唸まれています。 ・ JPNIC のメールサーバーの利用 info@domain.nic. ad ・ jp 宛に、本文カ可もなく、サ プジェクトにも何も書かれていないメールを送ると、ド メイン登録に関するドキュメントをメール 0 してき ます。これによって、里ドキュメントが入手できま す。 入手した申請書に必要事項を記載します。 申請書は、電子メールまたは郵便で送付します。電子メ ールで申請するときは、申請書を apply@domain ・ nic ・ ad ・ jp に送ります。この場合、メールのサプジェクトを、 Subj ect : New : XXXX. YY. JP とすることを忘れないでください。郵送の場合は、封筒の 表に「ドメイン名申請書在中」と朱書し、送先を記した 返信用封筒 ( 切手貼を 1 通同封のうえ、下記の住所へ 申請書を送付してください。なお、返信用封筒は通知書送 付のために使用されます。 〒 113 棘都文京区弥生 2-11-16 棘大学計算機センター内 日本ネットワークインフォメーションセンター 以 E のような手順で申請すると、 JPNIC の審査を経て 登ゞおこなわれます。ただし、以下のような場合は登録 されません。 ・はかのドメインと名前カ野突している場合 ・ JPNIC か第 2 レベルの属性を不適当と判断した場合 為の申請がなされた場合 このような場合は再度申請してください。 39

9. UNIX MAGAZINE 1993年11月号

連載 / インターネットの利用と仕組みー② らすこしずっ整理されていくことでしよう。 のルール 巧にはルールがあります。その 1 つが、営利目的て利 用してはいけないというものです。もともと JUNET の 実験のために巧ニュースグループが始まったこともあり ますが、これを運ぶネットワークの性格にも大きく依存し ています。同時に、 NetNews のシステムや運営形態にも 起因しています。このような制約は、巧か研究ネットワー クの上を運ばボランティアで漣営されていることによ ります。 巧にかぎらす、 NetNews では多くの場合営利行為を禁 しています。理由はの場合とほは 1 司じで、営利行為が 研究ネットワークのポリシーや運用形態にそぐわないこと が多いためです。 しかし、細部に関しては解釈 - ヒの問題もあり、難しい 部分を含んでいます。ソフトウェアのバグに関する問題 をそのメーカーの人か才高すること、あるいはプロダクト に関する質問にそのメーカーの人か情報を提供することな どは、 NetNews の読者にとって有益ですが、このような 個々のケースに対する判断基準をどこにおくかはきわめて 難しい話になります。 jp ニュースクループ もう 1 つの日本語のニュースグループは jp です。当 初は、 IP で接続したネットワークの管理情報をすべてメ ーリングリストで交換していました。これをニュースに移 行して問題ごとにう嶽頁し、かっ管理者以外にもオープンに する目的でスタートしたのがこれです (jp. inet)o 現在も、 この用途以タトにはあまり使われていません。 jp ・ inet ニュースグループは、記事番号を揃えるなどの 試みのために moderated となっています。しかし、自動 才哥されており、彳あの moderator がいるわけではあり ません。 マナーのことなど かって、「 JUNET の手引」というドキュメントがあり ました。これを作ったときに必要とされた知識を「手引き」 というかたちに集約したもので、 NetNews 、電子メール 46 を中心にコミュニケーションをおこなううえでのルール、 マナーを懇切丁寧にまとめたものでした。 しかし、こオ功ミ書かれた 1987 ~ 1988 年当時とくらペ 現在のネットワークは大きく変化しています。「 JUNET の手引」の時代と現在では、技術的背景も大きく異なっ ています。その点には気をつけなければなりませんが、 JUNET の暮らし方 " をはしめとして、いま読んでも NetNews の投稿についてたいへんよいことか書かれてい ます。 NetNews は、開かれた情報交換と言侖の場です。これ を気持ちよく利用し、役立てるためには守るべきことがた くさんあります。 NetNews は、知識を共有し、むだな手間と労力を省く うえでの有効な情報を交換して、自分のアクティビティを 高めていくための優れたシステムです。こク生は、コン ピュータ・コミュニケーション全般にいえることです。会 話と同様に手軽で、しかも言求として残ります。これらの 蓄積は、たいへん有益な情報原となります。 同しことで困っている人が、世界のどこかにいるかもし れません。時のむだを避けるには NetNews の生きた情 報カ彳殳に立ちます。 NetNews での質疑応答は、当事者だ けでなく多くの人のためになることも少なくありません。 ーヨ殳に、発表される成果や情報はおもに成功例がとりあ げらその裏に隠れている失具灯列か記されることは少な いものです。ところがネットワークでは、「 x x をやって みたが、どうもうまくいかないのだけれど・・・・・・」という質 問に対して、同じ経験をした人から、「そうしゃなくて〇 〇をするといい」というアドバイスを受けやすい利点があ ります。このように、経験にもとづく知識を交換する場所 として、 NetNews などは適しています。 こオ功ゞたんなる情報交換だけならそれほど間題は生しま せん。しかし、意見の分かれるテーマや価値観をともなう 問題の場合には、事は簡単ではありません。ただし、ネッ トワークの向こうにいるのは人間であり、 NetNews も便 利なコミュニケーションの手段の 1 つであって特別な世 界ではない、としつかり認識していれはあまり失敗するこ ともないでしよう。 NetNews は文字だけで、顔も見えなければ声も聞こえ ません。そのために起こる問題は、和渡も持ち出された話 になっていると思います。しかし、あなたの NetNews 上 UNIX MAGAZINE 1993 ユ 1

10. UNIX MAGAZINE 1993年11月号

CJN Ⅸ知恵袋 リスト 3 lib/Makefile. in の変更例 $(CC) -c $(CFLAGS) $(INCFLAGS) -I/usr/IocaI/XII/incIude $(DEFS) $* . c $(CC) -c $(CFLAGS) $(INCFLAGS) -I/usr/X11R5/inc1ude $(DEFS) $ * . c . 111 Mon Ju1 19 00 : 20 : 15 1993 * * * 1ib/Makefi1e ・ in ・ org Fri Oct 23 04 : 22 : 12 1992 x_shface . 0 : 1ib/Makefi1e x_shface . 0 : 28 , 30 * * * 120 , 121 * * * * 120 , 121 . 0 bitmap. 0 ut 土 1.0 $ (CC) —g —DTEST $ (INCFLAGS) save_rast . 0 bitmap. 0 uti1.0 $ (CC) —g —DTEST $ (INCFLAGS) save_rast ・ lib/x-shface . c $(DEFS) ー 0 dither dither . c x_shface . 0 \ -L/usr/X11R5/1ib —1Xaw —1Xt —1Xmu —1Xext ー 1X11 —lm $(DEFS) ー 0 dither dither . c x_shface . 0 \ —L/usr/10ca1/X11/1ib —1Xaw —1Xt —1Xmu —1Xext ー 1X11 -lm 私たちがコンパイルしたときは、 mugshot がうまく表 示されませんでした。表示された絵が壊れているように 見えるときは、リスト 4 のパッチを当ててください。 インストール後の作業 以 - ヒの設定を石忍したら、ディレクトリ finger-l. 37 で . /configure を実行します。その後、 make とタイ プしてコンパイルします。コンパイルがうまくいかな い場合は、 Makefi1e . 洫の設定を中心に見なおして、 ・ /configure からやりなおします。コンパイルに成功し たら、サーバー (fingerd を動かす計算機 ) では、 % make client その他の言算機では、 % make server ・ /usr/local/etc/fingerdir/clients バーでも必要です。 かす言 t. 算機の名前を指定します。このファイルは、サー finger のサーバーになる計算機、つまり fingerd を動 ・ /usr/local/etc/fingerdir/serverhost インストール後以下のファイルを変更します。 とすると、必要なファイルがインストールされます 1 。 UNIX MAGAZINE 1993.11 ザー - ク襯具でおこなってください。 1 インストールするディレクトリに物ムみ権がない場合は、スーパーユー ます。 fingerd はこのファイルに記述されている計算 サーバーで finger のクライアントの計算機名を指定し 機に対して、情報収集のためにポーリングをおこない ます。 ・ /usr/local/etc/fingerdir/mailhost ューザーがどこにメールをフォワードしているかの情報 や、メーリングリストに参加しているメンバーを間い合 わせるための計算機名を指定します。 ・ /usr/local/etc/ttylocs 部屋番号など、言算機か設置されている場所を次刎列の ように言当します。 hiromi A ー 416 chinatsu S ー 114 chiaki S ー 115 yuki S ー 212 ・ /usr/local/etc/fingerdir/targets/ このディレクトリにファイルがいくつかインストール されるので、チェックしておきましよう。 x-. sit e は、 finger ・ site を実行したときに実際に実行されるフ ァイルです。最初は次のようになっているので、適当 な情報を言当してください。 # ! /bin/sh # This file should describe your site . echo NO Site information . サーピスを追加する場合は、 x ーサービス名という名前 の実行形式のファイルを作成します。 Finger はサーピ ス名とユーザー名を区別しないので、サービス名の最初 ( ピリオド ) て始めるというふうにルール の文字は を決め、名前か重複しないよう注意しましよう。たとえ 119