/ etc / rc. boot から実行される。シングルューザー・モー ド用の設定がおこなわれ、マルチューザー・モードの場 合も実行される。仕事の内容は、 ◇ / と / usr ファイルシステムを read/write でマウント ◇共有ライプラリのための ld. so キャッシュを消去 ◇ログイン情報をもっている / etc / utmp ファイルをク リア ◇タイムゾーンの設定 ( tzse 加 p コマンド ) ◇キーポードのマッピングをロード (loadkeys 実行 ) ◇ sync -e の rc. boot で 1 つ注意しなければならないのは、 fastboot の場合です。 UNIX の立ち上け時には rc. boot が実行さ れますが、 fastboot ではそこでおこなわれる fsck が省略 されます。もちろん、ふだんは fsck を実行したほうがいい のですが、何度も立ち上げなおさなければならす、またフ ァイルを壊してしまう心配がない場合には、 fastboot を使 います。 fsck を省略するのですから、当然立ち上がりまで の時間が短縮されます ( だから fast= 速い boot)o これは、 スーパーユーザーになって、 nadi a# f astboot と叫べは、即座にリプート位ち上げ直し ) してくれます 8 。 ただし、これも前述の halt や fasthalt と同様にいきなり システムが落ちてしまいますので、実行にあたっては十分 な注意が必要です。ほかのユーサーが使用していない状態 ( シングルューサー・モード ) でおこなうのが、一般的で安 全な ( 嫌われない : ー ) ) 方法でしよう。また、 fasthalt でシ ステムを停止させたときも、次の立ち上け時にはこの fastboot が実行されます。 ・ /etc/rc /sbin/init が rc. boot の次に呼び出す。マルチューザ ・モードになる場合だけ実行される。つまり、マルチ ューザー・モードで必要なデーモンやサービスの起動を おこなう。仕事の内容は、 30 こでもう 1 度同しことをおこなっています。 め、 びマルチューザー・モードに戻った場合には / etc / rc. sing 厄が実行されないた 9 マルチューザー・モードからシングルューザー・モードにし、そこからふたた ろは同しですが、立ち上がるときに fsck を実行します。 8 これに似たコマンドに reboot があります。これはいきなり落ちてしまうとこ ◇ / が read only マウントなら /etc/rc. single を呼び出す ◇共有ライプラリのための ld. so キャッシュを消去 9 ◇ /fastboot ファイルの消去 ◇ /etc/ptmp の消去あるいは /etc/passwd ファイルの リカバー ◇ 4.2 BSD タイプのファイルシステム ( 前号参照 ) をマ ◇ quota をチェックし、利用しているときは起動 ◇ /etc/rc. 10Ca1 の呼出し ◇マノレチ・スワップシステムのための swapon コマンド の実行 ◇システムがクラッシュしたときに編集していたファイ ルがあれば修復 ◇ / tmp ディレクトリの下にあるファイルの消去 ◇スタンダード・デーモンの起動 update /var/spool/cron/FIFO (cron が作るファイル ) の 消去 cron ◇アカウント機能の起動 ◇ /usr/lib/uucp/uucpsched (UUCP のスケジュ ラ ) の起動 ◇ネットワーク・デーモンの起動 10 in. rwhod inetd ◇ lpd ( プリンタデーモン ) の起動 ◇ RFS サーピスの開始 ◇日付と時間の表示 ( date コマンド ) ・ /etc/rc. 10Cd1 /etc/rc から実行され、マルチューサー・モードになる場 合だけ実行される。そのマシン独自の環境を設定するた めに、さまざまなサーピスが開始されたり、デーモンが 起動されたりする。仕事の内容は、 ◇ NIS ( YP ) のドメイン名の設定 ◇ネットワーク・サーピスの開始 11 RPC ( Remote Procedure Call ) のために portmap keyserv を起動 NIS (YP) のために ypserve 、 ypxford 、 ypbind 、 rpc. 10 これについては、ネットワークの説明のところで詳しく説明する予定です。そ れまで、ちょっとお待ちください。 11 詳しくは、ネットワーク・サーピスを紹介するときまで待っていてください わ。 UNIX MAGAZINE 1991.6
e $ & 0 00 0 ce 肢となる。ほかの機関は、単に現在保有している混成シ ステムのなかに容易に統合できるシステムを好む。 大部分の Macintosh ユーサーは、 Macintosh Oper- ating System( 通称 MacOS) に固執しており、一般に MacOS べったりである 0UNIX には彼らが望むものが ほとんどないうえ、コスト ( 資源と手間 ) は高くつく。 しかし、重大な例外がある。多くの UNIX ューサーは Macintosh ューザーでもあり、そのうちのいくらかは両 方を自分の机の上に置いている。 A / UX を採用すれば、 これらのユーサーは 2 つのシステムを併合することが できる。これによって、たいへん強力で便利な環境カ醍 供される。 Macintosh のファイルは UNIX のツールか ら操作可能で、 NFS によって共有できる。ューサーは UNIX と MacOS のツールを目的に応して使い、両方 の世界の最良の部分を得られる。 混乱 当然のことながら、 UNIX と MacOS の統合にはい くっかの問題がある。規約、アプローチ、および世界観 の矛盾は、どれもその原因となりうる。しかし、 A/UX の実装ではこれらをきれいに、ときには創造的にすら処 理している。わすかに残っている混乱は、どちらかとい えば些細なものである。 UNIX のファイル名にはスラッシュ以外のものはな んでも使えるが、実際にはかなりの制約があるのが普通 である。対照的に、 Macintosh のファイル名にはしはし ばスペースと括弧が含まれる。そこで、管理用シェルス クリプトを書くためには、すこしはかりトリッキーな手 段を使うことになる。 Macintosh の、、フォルダー〃は、通常はかなり小さ い。数十個のファイルがあれは、大きい部類である。 UNIX のディレクトリはしばしばこれよりもすっと大 きく、何百ものファイルを含むときさえある。 Macintosh の Finder がこうした怪物的なディレクト リに最初に遭遇すると困った事態に陥る。そのディレク トリを全部スクロールするのはいささか迷惑である。 一方、 UNIX と MacOS の両方の機能を利用できる ので、 ls を使うことができる。同様に、 UNIX は選択さ れたファイルのセットをとてもうまく移動させることが 12 できるが、個々のファイルの名前を変更する際には Mac OS のほうがすぐれていることが多い。ューサーはまも なく、与えられた問題のためにどちらかを選ぶことに、 慣れるであろう。 概観 Macintosh にはたいへん多くのパッケージがある。 こで評価するには ( 言及するのでさえ ) あまりにも多 すぎるほどである。いすれにせよ、その仕事を専門とし ている雑誌やらカタログやらがあるので、この記事では 別の方法をとることにする。 あるパッケージはとくに注目すべきもので、 UN IX ューザーからみても興啝架い潜在能力を秘めており、説 明が必要である。その他のパッケージは単に評者にとっ て面白いというだけで、取りあけた根拠に深い考えがあ ったわけではない。 UNIX の立場から各パッケージのよ い点と悪い点に注意しながら、そのいくつかをみること にする。 これらの属性のいくつかは、すべての Macintosh パ ッケージに共通している。よい面は、パッケージのユー サー・インターフェイスがきわめて一貫していることで あり、ほとんど努力を必要とせすにインストールして使 える。パッケージングはプロの手になるものであり、ビ デオテープによる導入編などのオマケがついているこ ともある。 しかし、どのパッケージも Macintosh 病にかかって いる。 Brian Kernighan が言いだしたことだが、、、 What YouSeeIsAllYouGet ( 見えるものしか得られない ) 〃 ということである。パッケージが特定の仕事向きにデサ インされていればその仕事をうまくこなせるが、そうで ない場合には忘れてしまったほうがよい。 最後に、ファイル形態のドキュメントはめったについ ていない。いくっかのべンダーは要求すれば送ってくれ るが、開示しない旨の契約を必要とすることがある。ほか のべンダーは、彼らのフォーマットが完全に独占的なも のであると考えており、どのような条件でも提供を拒む。 これは、 Macintosh2N0 ッケージを支援する UNIX ( および自作の ) ツールの利用を著しく制限するし、この ような方針はばかげている。はんとうに必要がある人は、 UNIX MAGAZINE 1991.6
弔旧ル„A に盟〕 RT す 知む舞 ソフトウェア先進国・米国の L. A で、自分の能力をよりいっそう磨いてみませんか。 米国・日本の優秀なスタッフといっしょに、 UN Ⅸと UNIX 用ソフトウェアの研究・ 開発 : 諏り組み、最先端の技術と豊かな国際性を身につける。 これはまさに、ソフトウェア・エンジニアあこがれのシチュエーションです。 いま、工アーは、ロサンゼンレスで働いてくださる向上心にあふれた人材を求めています 会社概要 社名 本社住所 設立年月日 資本金 代表者 社 売上 従業員 種 主要商品 株式会社工アー 大阪市中央区北浜 1 ー 3 ー 14 西川三井ビル TEL : 06 ー 201 ー 4306 FAX : 06 ー 201 ー 4849 1983 年 8 月 8 日 18 , 000 , 000 円 北山洋一 東京・ロサンゼルス 1 , 130 , 000 , 000 円 ( 平成 2 年 6 月実績 ) 1 , 460 , 000 , 000 円 ( 平成 3 年 6 月予想 ) 50 名 UN Ⅸ用データベース他、基本ソフトウェア、コンピュータ、、 開発、販売、コンサルティング業務 リレーショナル・データベース「 UNIFY 」「 UNIFY2000 アプリケーション開発ツール「 ACCELL 」「 ACCELL/S ネットワークツール「 MULTIPLEX 」 MS ー DOS / UN Ⅸトランスフォーマ「 XDOS 」 スプレッドシート rlnter-calc 」 CG 印し / 待遇 給 諸手当 昇 賞 勤務地 与 給 与 募集職種 福利厚生 休日休暇 勤務時間 オフィスは海にも程近く、緑の多い好環境。 各種社会保険、退職金、財形貯蓄 完全週休 2 日、米国の祝祭日 ( ロサンゼルス ) 等 週休 2 日、祝日、年末年始、年次有給、慶弔、特別休暇 ( 国内 ) 9 : 00 ~ 17 : 30 ( 国内 ) ロサンゼルス・本社 年 2 回 ( 6 月・ 12 月 ) 年 1 回 ( 4 月 ) 住宅準備、海外勤務者手当等優遇 ( ロサンゼルス勤務時 ) 超過勤務・住宅・通勤交通費 ( 国内勤務時 ) 1991 年 4 月実績大学卒初任給 180 , 000 円 年齢、経験等考慮の上、当社規定により優遇 スタッフは日本人の所長と UCLA のマスター出身の 20 代のエンジニアが中心。 爿 / 尺 COMPANY LIMITED 株式会社工アー 開発工ンジニア 6 カ月 ~ 1 年の準備期間の後、 3 ~ 5 年間のロサンゼルス勤務予定 5 名 4 年制大学卒以上、 25 歳位まで ( 本年度新卒者可 ) お問い合せ : ( 06 ) 201-4306 総務部・採用係 募集人員 応募資格 く本社〉 〒 541 大阪市中央区北浜 1 ー 3 ー 14 西川三井ビル Phone ( 06 ) 201 ー 4308 Fax ( 06 ) 201 ー 2106 く六本木オフィス〉 〒 106 東京都港区六本木 3-1 ー 30 ABE ル Phone ( 03 ) 3587 ー 9221 Fax ( 03 ) 3587-9238 くサポートセンター > 大阪 . Phone ( ) 201 ー 4309 六本木 : Phone ( 03 ) 3582 ー 0875 資料請求 N 。 .037
フィールドは 7 つあり、先頭から順番に次のようになって います。 1 ) ログイン名 : 一般にアルファベットの小文字を使い、 SunOS の場合 8 文字まで認識されます。 2 ) パスワード : パスワードが暗号化されて書かれます。 SunOS の場合、アルファベットの大文字と小文字を組 み合わせて使うときは最低 5 文字、大文字または小文字 のどちらか一方を使うときは最低 6 文字必要です。 3 ) ューサー ID : 0 から 65 , 533 までの値 22 をとることが できますが、、、 0 クはスーパーユーザーのためのもので、 一般ューサーには使用しません。通常は 1 から 99 まで をシステム用に予約しておき、 100 以降を一般ューザー 用として使います。また、別の人に同しユーサー ID を割 り当てると、システム上では同一人物とみなされるので 注意が必要です。 4 ) グループ ID : ューザーが所属するグループの ID 番号 が書かれます。 5)gecos : 通常、このフィールドにはユーザーのフルネー ムや電話番号などの情報が書かれます。これらの情報 は、 finger コマンドなどで使われます。 6 ) ホームディレクトリ : ューサーのホームディレクトリが 絶対パスの形式で書かれます。通常、ディレクトリ名は ログイン名と同しものが使われます。 7 ) ログインシェル : ログイン時に起動されるプログラムの パス名が書かれます。このフィールドに何も書かれてい ない場合は Vbin/sh" が起動されます。 前出の /etc/passwd ファイルの例には、、、 bin" や、、 dae- mon" のようにあらかしめ設定されているエントリがいく つかあります。これは、特別なファイルの所有者を設定し たり、プロセスのユーサー ID を確保するためのものです。 これらのエントリのパスワード・フィールドに何も書かれ ていないと、セキュリティ上の抜穴となる可能性があるの で、、、 * 〃にして一般ューサーが使えないようにしておきま しよう。 /etc/passwd ファイルを変史するには、 vipw コマンド を用います。これは、複数のスーパーユーサーが同時に / etc / passwd ファイルを変史しようとしたり、変更中に 22 SunOS 4.0.3 以前では 0 から 32 , 767 までが使用可能です。 } UNIX MAGAZINE 1991.6 ースーバーユーサーへの道 2 般ューサーが passwd コマンドなどを使ってエントリを 変更したりするのを防止するためです。 vipw の実行中は、 ほかの人がファイルを変更できないようになっています。 また、 vipw は環境変数 EDIT 〇 R を参照して、編集時のェ デイタとして使います。たとえは、 EDIT 〇 R がⅵであれば ⅵ工デイタが起動されます。 通常、 vipw コマンドで /etc/passwd ファイルを変更で きるのはスーパーユーサーだけになっています。しかし、 一般ューサーが自分のパスワードを変更したいときやロ グインシェルを変えたいとき、いちいちスーパーユーザー に頼むのは面倒です。そこで passwd 、 chsh 、 chfn という 一般ューザーが使える 3 つのコマンドが用意されています。 passwd コマンドは、自分のパスワードを変更するため に使います。実行例は次のようになります。 % passwd Changing password for okayama 0 Ⅱ nadia. 01d password: New password: Retype new password : このコマンドを実行すると、まず現在のパスワードか ねられ、それが正しいと判断されると新しいパスワードを 2 回入力するように求められます。 2 回入力するのは、タ イプミスを防止するためです。入力するパスワードは、当 然ながら画面には表示されません。旧いパスワードが間違 っていたり、新たなパスワードを打ち間違えると、パスワー ドは変史されすに終了します。また、新たなパスワードが 最低文字数を満たしていない場合、、、もっと長いパスワード にせんかい ! 〃と ( もちろん英語で ) 怒られますが、しっこく 繰り返していると、向こうも、、もう知らん。好きなように せいにという感しでそのパスワードを受け付けてしまい ます。仏の顔も三度まで、ですね ( ちょっと違うかな ? ) 。 chsh コマンドは、ログインシェルを変更するために使い ます。これを実行すると、ます現在のログインシェルが表 示され、次いで新たなシェルを指定するよう入力が促され ます。実行例は、次のようになります。 % chsh Changing login shell for okayama 0 Ⅱ nadia. New shell : /bin/csh 01d shell : /bin/sh 55
SUPER TAXAN INS-LINK 64 、 S 〔ノ ) E 第イ 7 ・ / 、 X ′ ABJ ST-64TA INS ネット 64 がいっそう強力に、そぼ使いやすくなります′ 本システムは Spa 「 cStation 間を ISDN を使用して接続するためのものです。現状、 ISDN を DTE に収容する場合は B チャンネルの 64K フルスピードて使用 することは事実上困難て、現実的には V. 1 1 0 速度整合によって 9.6K ~ 38.4K の低速度で非同期接続する事になりま魂これは TA の問題よりも HOST 側か 64K の同期 l, F を装備していなしにとか最大の原因です。また接続したとしても LJNIX-OS 下で使用する場合には標準のネットワークプロトコルであるへのに F かてき なけれは非常に使いがっての悪いシステムになってしまいま魂また、 TCP 旧の TP 層 ( レイヤー 4 ) ては通常工ラーチェックのために用意されているチェックサム照合オ プションが殆とのシステム ( SunOS も含む ) てはテフォルトて OFF になっていて使用されていません。つまり、テータリンク層は基本的にはエラーコレクションてきること が要求されま魂本システムは ISDN の B チャンネルを 64K のフルスピード、或はそれを越えるスルーブットてエラーフリーて使えることと TCP 旧環境へー F する事 を目的に開発しました。 ュ、 V. 120 プロトコルを採用 ,ISDN の日チャンネル上 とで、旧 DN でつないだ 2 箇所のネットワークをゲートウ工 ・ ETHER- 凵 NK ISDN&IP(TCP 旧 ) のプリッジ に、エラーフリーのテータリンクを提供 イとしてあたかも同一ネットワーク上のものとして使用する ソフトウェア CC げ T 勧告の V. 120 フロトコルは、旧 DN をコンヒュー ことかできます タや端末装置に収容するための手法を定義しているもの 4 平均 200 % ( 128K ) のスルーブットを発揮 て、旧 DN の B チャンネル上で動作させるための規格てす オフションの「 TU 日 BO K げ」は CCI 幵勧告の V. 42bis 本システムは、このフロトコルをレイヤー 2 として採用し、 に準拠したテータの圧縮・伸張のソフトウェアてすこれ ホストのレイヤー 3 である一 P に対し、エラーフリーなテータ を使用することで、約 2 倍 ( 128K ) のスルーフットて通信 リンクを提供し、しかも 64K フルスヒードの通信を実現しま てきるようになります 2 インターフェースホード上の 32 ヒット CPIJ か、ホス ■システム構成 トコンビュータの負担を極力低減 ・ V120 ー SB S 一日 CJS 内蔵インテリジェン hl F ホート 本システムては、インターフェースホー日コ 2 ビット CPU ・ ST-64TA 専用ターミカレアダフタ を搭載し、レイヤー 2 までの V. 120 フロトコルを処理します ・ V. 120 ソフトレイヤー 2 の V 120 フロトコル ( CC げ T 勧 ので、ホストコンヒュータにほとんど負担かかかりません 告 ) を処理するソフトウェア 0 月 SDN でつないだネットワークを同一ネットワーク ・ SUN OS 用 V 120 ー S 日 ( V. 120 フロトコルを含 としての使用か可能 テパイスドライバーむ ) をスへシャルファイルとして使 拡張デバイスドライバ「 ETHE 日凵 NK 」を活用するこ 用てきるデバイストライバー 資料請求 N 。 019 ・オプション ・ TURBO KIT CCITT 勧告 V. 42bis に準拠したデー タ圧縮・伸張のソフトウェア ※ SUN OS ・ SPARC Station は、サンマイクロシステ ムズ社の登録商標てす ◎加電子株式会社 システム営業課〒 112 東京都文京区音羽 1 ー 1 ー 7 PHONE. ( 03 ) 3942-6262 FAX. ( 03 ) 3942 ー 6260
です。変数を参照するとき、修飾子をつけて変数の値をす こし変える機能を利用すればよいのです。 この修飾子にはいろいろなものが存在しますが、ここで は :t を用います。これは basename コマンドと同様に、指 set cmd_name=$O 、ゝ定された変数の内容をパス名とみなして、最後の部分だけ を返すものです。しかし、この機能は $ 0 に対しては使用で きません。そこで、いったん別な変数に代入しておいて、 出力のときに修飾子で変更することにしましよう。 echo "Usage : ${cmd-name : t} C-ab] string" > /dev/tty こでは /dev/tty へのリダイレクトの方法を用いてい ます。 stderr コマンドのように標準工ラー出力に出力でき るのなら、そちらを使ってください。 次は C 言語での場合です。こちらはシェルのときほど簡 単にはいきません。ます、コマンド名として与えられた文 字列の末尾から先頭に向かって / という文字を捜し、最初に いきあたった / の直後から末尾までをコマンド名として取 り出すのです。 / という文字がない場合には、与えられた文 字列本がコマンド名となります。文字列の最後から特定 の文字を捜すには、 rindex や strrchr 関数を用います。 rindex 関数は BSD の環境で、 strrchr は SystemV の環 境で使用できます。どちらも使用方法はそれほど変わりが こでは rindex を用いて説明しましよう。 ないので、 関数 rindex は文字列 ( 文字へのポインタ ) と文字を引数 としてとり、指定された文字列の最後に現れる指定された 文字へのポインタを返します。もし指定された文字が文字 列のなかに存在しない場合は、存在しないことを示す 0 を 返します。実際のコードでは、 rindex に対してコマンド名 として指定された文字列と / という文字を渡し、戻ってきた 値が 0 ならばコマンド名自身を、 0 でなけれは返された値 の次の文字以降を本当のコマンド名とみなします。 if (.com/name = rindex(*argv, ) た ) ) com_name = * argv ; else com_name十十 ; ます com-name という変数の値が、 rindex 関数の返す 値を示すようにします。この段階で com-name という変 数の値は、本当のコマンド名の前の / 以降を指しているか、 0 となっています。この値が 0 だった場合は、指定した文 字列のなかに / という文字が入っていなかった場合ですか ら文字列全体をコマンド名として処理すればよく、 com- name には * argv を代入しています。 com-name の値が = の 134 0 でなかった場合、 com-name の値は必要なコマンド名 の 1 つ前の文字 / を指しているはすですから、 com-name の値を 1 つ進めて必要な文字列を指すようにします。 exit 関数 さきほどの例題プログラムでは exit 関数を用いていま した。この exit は特別な関数で、この関数から戻ることは ありません。この関数を実行すると、コマンドの実行自体 が終了してしまいます。それではこの exit 関数に対する引 数はどのように使われるのでしようか。この exit 関数に対 する引数はコマンドの終了ステータスとして使用されます。 この終了ステータスは、コマンドが正常終了した場合には 0 を、異常終了した場合にはそれ以外の値を返すことにな っています。この場合には、コマンドは目的の処理をおこ なえすに終了していますので、異常終了を示すために引数 として 1 を指定しています。 この終了ステータスの値にはしめて気づいた人もいるで しよう。しつは、この連載でもすこしだけとりあげたこと があります。 sh で while ループを書いたときのことです。 sh の while ループは、条件として指定されたコマンドが 真を返すあいだ、本体を実行するものでした。この真を返 すというのは、 exit の引数として 0 を与えるという意味な のです。終了ステータスとして 0 を与えると、コマンドは 正常終了つまり真と判断されます。コマンドの終了ステー タスは、これ以外にもさまざまなところで用いられますか ら、正しい値を返すようにしてください。 exit 関数を使わすに正しく終了ステータスを設定する ことも可能です。 main 関数を終了するとどうなるのでし よう。 main 関数を終了するとコマンドの実行も終了しま す。 exit 関数と似ていますね。しつは main 関数の戻り値 (return の引数 ) も、 exit 関数に対する引数と同様に終了 UNIX MAGAZINE 1991.6
が用意されている。 インターネットアドレス調整委員会 〒 252 神奈川県藤沢市遠藤 5322 そして、第 3 レベルに各組織を表す名前をつけている。 慶應義塾大学環境情報学部 の第 3 レベルまでをまとめて、、、組織を表すドメイン名クと呼 村井純気付 ぶことにする。 現在、ドメイン名の登録は JUNET 管理者グループがお 割当てを希望する組織は、上記の連絡先に必要書類を請求 こなっている。ドメイン名の登録については、法人や学校を してアドレスの割当てを受けることができる。 E-mail によ 単位として受け付けており、個人やサークルなどについては る申請も可能である。この場合は、 登録できない。ドメイン名の登録は、 ip-alloc@wide.ad.jp junet-admin@junet.ad.jp に E-mail を送り、必要な手続きについて問い合わせていた に E-mail を用いておこなう。この場合、以下の情報を送る だきたい。このとき、注意すべき点は次の 2 つである。 必要がある。 I) 日本国内のネットワークは、ネットワーク・アドレスの割 ・申請するドメイン名 当てを SRI-NIC に直接請求することはできない。したが 名称によっては、すでにはかの組織によって登録されてい って、日本国内のネットワークについては上記の「インタ る場合があるので、第 2 希望、第 3 希望くらいまで伝えて ーネットアドレス調整委員会」から割当てを受けること。 もらいたい。また、ドメイン名はできるかぎりその組織の SRI ー NIC に迷惑をかけてはならない。 名称・性格を表すものが要求される。したがって、そのド 2 ) ネットワーク・アドレスの個数には上限があり ( アドレスが メイン名にした明確な理由も付記しなけれはならない。 4 オクテットしかない ) 、有限の資源である。したがって、 ・組織の正式名および英語名称 無駄な割当ては避けなければならない。ネットワーク・ア 電話の応対をおこなう場合や、名刺などで使われている略 ドレスを登録する必要があるのは、 lnternet と接続する予 称があれは、それも明記すること。 定があるネットワークだけである。したがってい他社がネ ・組織の性格 ットワーク・アドレスの割当てを受けたから、わが社でも どの第 2 レベルに属すのが適当かを判断するために使われ 割当てを受けておこデといった安易な ( 技術的理由も必然 る。 性もない ) 申請は迷惑となる。 住所 接続される組織の扣当者の名前、連絡先 ドメイン登録 ドメイン名登録申請者の名前、連絡先 ドメイン登録は、日本国内で独自におこなっている。トノ ネットワークの接続先と接続方法 ブドメインは jp である。第 2 レベルは、組織の属性を表すこ とに使われている。現在、以ドの 5 種類が用いられている。 申請するは、以ドの点に注意してほしい。 ac : 国公私立大学、高等専門、その他教育機関、文部省 ・ドメイン名の登録申請は、ネットワーク接続にさきだって 管轄の研究所など。たとえば、大阪大学は osaka-u ・ ac ・ jp おこなわれるものである。稀に、勝手にドメイン名を決め となる。 て接続し、ドメイン名登録のメールをそのドメインから送 go : 政府関連機関、および研究所、地方自治体。たとえば、 ってくる組織がある。このようなことをされると、申請に 通産省エ業技術院電子総合研究所は etl. go. jp となる。 ともなう各種の連絡のメールが送れない ( 申請中のドメイ co . 企業、営利団体。たとえは、本誌の発行元であるアスキ ンからメールを発信されても、ネットワーク内の主要なサ ーは ascil ・ co. jp となる。 イトに登録されるまでメールは届かない ) などの間題が発 or . 非営利組織、財団など。たとえば、日本 UNIX ューザ会 生する。かならず、ネットワーク接続にさきだってドメイ は ) us ・ or. jp となる。 ン名を登録すること。 ad : 国内のネットワークを表す管理用ドメイン。たとえば、 ・最近、ドメイン名をごく短く略したり、また、組織とはま JUNET 自体を表すために junet ・ ad ・ jp というドメイン ったく関係のない名前をつけようとする傾向も見受けられ 86 UNIX MAGAZINE 1991.6
連載 An lntroduction to X Window System 表ー X の歩み X10a : 1985 年後半。一般に入手が可能になった。 UNIX MAGAZINE 1991.6 の間の変遷の様子を表 1 にまとめておきます。 今夏には Version11 Release5 が公開される予定です。 一般に配布が始まったのは Version10 の前後からで、 X に互換性はありません。 がふられていますが、原則的には異なるバージョン番号の が採用されました。 X にはバージョン番号とリリース番号 をもとに進められ、名称にはその次のアルファベッい X 〃 開発はスタンフォード大学のウインドウ・システム、、 W 〃 ・一 0 James Getty 氏の共同作業として 1984 年に開始されま プロジェクト Athena のメンバーであった DEC の Robert Scheifler 氏のグループと、 MIT の教育環境構築 X の開発は、分散システムを研究していた MIT の X の歴史 まれた点も見逃せません。 さらに、それによってさらに多くのアプリケーションが生 進められ、無償で配布されたことが挙げられるでしよう。 しては、組織を超えた多くの人びとの協力のもとに開発が X コンソーシアムの結成 : 1987 年。産学協力体制のもと、多 なリソース設定が導入された。 うになった。ツールキットのカスタマイズのための階層的 軽減できる。また、 16bit インデクスのフォントが扱えるよ しめサーバー側にもたせる方法で、ネットワークの負荷が 導入された。これは基本的な描画にかかわる情報をあらか にともない、グラフィック・コンテキストという考え方が X11R1 : 1987 年 7 月。プロトコルが大幅に変更された。これ も利用可能になった。 バグが取り除かれたほか、 IBM RT/PC 、 Apollo などで ようになった。バージョン 10 の最後の版となった R4 は X10R4 : 1986 年 12 月。この版から多くの場所で利用される ョン ( Sun ) でも利用可能になった。 機能を有するようになった。 DEC 以外のワークステーシ ル・エミュレータは ANSI 準拠、 TEK 工ミュレーション X10R3 : 1986 年 2 月。カラーが扱えるようになり、ターミナ くの企業の協力により X の開発が進められるようになった。 X11R2 : 1988 年 5 月。ツールキットをオプジェクト指向に 構築するための lntrinsics が導入された。また、移植性を 向上させるため、データの型の宣言が CPU のアーキテク チャに依存しないようになった。 X の拡張がいくつか提案 された。その 1 つが X3D-PEX0 X11R3 : 1988 年 10 月。ツールキット lntrinsics が正式に 提唱された。サーバーの効率を向上させるため、バッキン グストアが導入された。これをもとに ANSI(X3H3.6) の 規格案カ甘是案された。 X11R4 : 1990 年 1 月。現在、一殳的に利用されている版。 の版からフォント名の論理的な命名法が本格的に導入さ れ、セキュリティ面の強化か施された。基本的な X の構造 はほば固まったといえよう。 X11R5 : 1991 年夏に一般公開予定。予想される強化項目は、 国際化対応、フォントサーバー 3 次元グラフィックス拡 張機能 (PEX) など。 a 手もとには X10R3 までしかなかったため、それ以前の詳細は不明です。 X のクライアントとサーバー、 X プロトコル 皆さんも耳にしたことがあると思いますが、 X は、、クラ イアント〃と、、サーバー〃から構成されています。クライ アントとは、ウインドウを活用するターミナル・エミュレ ータや時計などのプログラムとして、、、いったい何を表示 し、何を入力として受け入れるか〃の主体となるものです。 これに対し、サーバーは利用するビットマップ・ディスプ レイ装置、キーポード、マウスなどのハードウェアを司り、 多くのクライアントにサービスを提供します。このクライ アントとサーバーのあいだを結ぶのがネットワークで、 れにはワークステーションで用いられている各種の既存の 方式 (TCP/IP 、 DECnet 、 SNA 、 OSI など ) が利用できま す。 X の情報は、 X プロトコルと呼はれる一定の形式に従っ て構成されています。この形式は機種や OS には依存せ す、バージョンが同しであるかぎり標準化されています。 そのため、どのような種類のコンピュータ間でもクライア ントとサーバーがお互いに情報を交換できるようになって います。つまり、別のコンピュータでの実行結果を手もと 145
ステータスとして扱われます。プログラムの制御が main 関数の終りまで到達すると自動的に main 関数を抜けま すが、この場合の exit ステータスは不定となってしまいま す。また、 exit 関数を引数を指定せすに呼び出した場合に も、その終了ステータスは不定となってしまいます。この ようなことがないように注意してください。 シェルの場合には exit 関数はありませんが、引数をとも なう exit コマンドがあります。この exit コマンドはシェル スクリプトの実行をそこで停止し、引数として与えられた 値をそのシェルプログラムの終了ステータスとするもので す。この値を指定しなかった場合には、最後に実行したコ マンドの終了ステータスがシェルプログラム自身の終了ス テータスとして用いられますので、注意してください。誤 った値を返さないように、プログラムのなかに明示的に書 き込んでおいたはうがいいでしよう。 C のプログラムでほかのプログラムを呼び出すことはあ まりありませんが、シェルプログラムはコマンドを呼び出 して処理をおこないます。呼び出したコマンドの終了ステ ータスが必要な場合、シェルではそれらを参照することが できます。 sh の場合は $ ? を、 csh の場合は $status を使っ てください。それぞれの変数は、直前のコマンドの終了ス テータスの値を示すようになっています。この変数の値が 0 ならば、直前のコマンドは正常終了していますし、 0 以外 の値を示していれは異常終了しているのです。最後に実行 したコマンドの終了ステータスを、本当にシェルプログラ ム自身の終了ステータスとしたいときは、この値を用いて 明示的に指定したほうがプログラムが見やすくなります。 今回は、コマンドに対する引数が正しく与えられなかっ たときに出力する Usage 出力と、コマンドの実行が正し くおこなわれたかどうかを示す exit ステータスに関して お話ししました。 Usage 出力は、コマンドの使用方法など を忘れてしまったときとても便利なので、一 h などのオプシ ョンで出力されるようにしてもいいでしよう。また exit ス テータスに関しては、シェルスクリプトだけでなく多くの コマンドがこの値を用いて実行の制御をしていますから、 これらの値を正しく設定することを忘れてはいけません。 さて次回は、ユーザーによるカスタマイズが可能なプロ グラムを作成する方法の 1 っとして、環境変数を用いたカ スタマイズに関してお話ししたいと思っています。 ( いまいすみ・たかし東京工業大学 ) UNIX MAGAZINE 1991.6 U-TERM N EO ー PC 98 田シリーズ用 EPSON- PC286 シリーズ用 ( MS ー DOS ノヾージョン 3 コ以降 ) 曰ト機能のし花 M 誕目 パソコンが UNIX WS の有能な端末に ■日本語機能 文字コードは、 JIS か MS 漢字コードの 2 種類から選 択。 JIS のモードでは、全ての文字コード拡張手順を サポート。 JIS 初期値と JIS 現在値を任意に変更でき るため、 EUC コードや DEC コードにも完全に対応。 ・グラフィック機能 テクトロニクス 4014 端末に準拠したグラフィックモ ード。カラーでの出力も可。 JIS と重複する画面消去コードを除き、 PC9801 と上 位互換を持つように拡張されている。ビジカレベル、 カーソルの形状変更、プリンクの有無などの制御コ ードを含む。これらは、ローカルに変更可。 ・通信機能 RS- 232C 拡張インタフェースポード 3 チャンネルの うち 1 チャンネルを選択使用。 75baud から、 19200baud ( クロック IOMHz 以上 ) まで 使用可、しかも、その高速処理は群を抜く。 フロー制御は XON / XOFF による制御法と信号法か らの選択。 ■ファイル転送機能 UNIX ホストと DOS ファイルの間でのテキストファ イル送受信が自在。コマンドは、 UNIX の cu と同様 の操作。 そ也多彩な機能満載、しかも低価格実現 価格 48 , 000 円 ( 消費税は別途 ) 開発及び販売 情報数理研究所 lnformation and Mathematical LaboratorY,lnc. 〒ロー東京都豊島区池袋 2 ー 437 池袋青柳ビル TEL. 03 ー 3590 ー 52 Ⅱ ( 代表 ) FAX. 03 ー 3590 ー 5353 資料請求 N 。 . OOD ・画面制御機能 135
続島等 ' 続に島す信 : , 等 : 信 3 ' , 等信霊信 : 日す等 , 日を信等第信 3 ほうはあとから使い始めましたから、 6 年くらいです。ハ ッカー歴ですけど、 UNIX ハッカーという意味でしたら 私自身はずっと単なるユーザーだったので、そうではな いとしかいえないですね。ただ、 MS-DOS の C 言語の プログラム歴だったら 6 年くらいになります。最初使っ たコンパイラは Lattice C 2.15 でしたが、現在は Turbo C を愛用しています。 みるく : そうですか。こちらもなかなか古い : ー ) 太田 : そうですれ 4. IBSD で遊んでいたころには井上君 ( 『プロフェッショナル UNIX 』の著者の 1 人、井上尚司 氏 ) なんかが一緒でした。 みるく : えつ、そうなんですか。やはりこの業界は狭いん ですねえ。すると、 JUNET 歴もかなりになるのでしょ 太田 . JUNET はいまの会社に入ってからですから、 4 年 ほどです。はしめて投稿したのは、その当時自分のカミ さんと知り合いの子供用に迎未で作っていた MS-DOS 用の日本語 rogue でした。 みるく : ご結婚されていらっしやるとのことですが、お子 さんはいらっしやるのですか。 太田 : はい、おります。 みるく : するとプログラミングもなかなか時間が取れない のではないですか。 太田 : やはり子どもが寝てからになりますれ jstevie の 1.1 や 1.2 をつくっていたころは、毎日午後 11 時から 午前 2 時くらいがプログラミングの時間でした。さすが に最近は 3 日に 1 度くらいにしていますけど。 みるく : 苦労されています 太田 . いま苦労しているのは、 FEPCTRL のテスト環境 を揃えることです。できるだけ多くの FEP に対応しよ うとしているものですから、たいへんです。私のところ にない FEP については、持っている人に頼まなければ なりません。また、手元にある FEP にしてもさまざまな 条件でテストする必要がありますから、 MS-DOS のコ ンフィギュレーションをいろいろ変えて使ってみるんで すよ。 みるく : なるほど。ちょっとしたソフトウェアハウスなみ ですね。 太田 : 思い入れは日本語 rogue のはうが強いんですが、 FEPCTRL は rogue や stevie とちがってヾ自分の作 みるく 最初ですね。ですから 8 年になりますか。 MS-DOS の 太田 . UNIX は専門学校時代に 4.1 BSD で遊んだのが UNIX 歴と MS ー DOS 歴とハッカー歴は ? みるく : なかなか年季が入っていますね : ー ) では、 のことをやっていました。 Fortran, COBOL 、 Pascal などを使って言語処理関係 学校時代には HITAC や TOSBAC でアセンプラ、 友人の TK-80 で BASIC で遊んだのが最初です。専門 太田 . はしめてコンピュータにさわったのは大学時代で、 すか ? みるく : なるはど。コンピュータ歴はどのくらいになりま ます。 マニュアル作成、広告関連の仕事までいろいろやってい 太田 : UN Ⅸ関連製品の開発部隊に属していて、開発から みるく : 現在のお仕事はなんですか ? に 5 年勤めました。そのあと現在の会社に入りました。 中退して東京に戻り、専門学校に 2 年通ったあと、そこ 太田 : 埼玉県は飯能市の生まれです。大学は東北大学で、 さっそくですが、恒例の出身地からお聞かせください。 みるく : 本日は寒いなか、どうもありがとうございます。 ぶころには、もう初夏になっているはすですけどね : ー ) ) 。 3 月の初旬、ある風の強い日のことでした体誌が店頭に並 れ、活発に発言していらっしゃいます。お話を伺ったのは られています。また MS-DOS 関連の話題にはよく登場さ 字入力 FEP 自動制御ライプラリ : FEPCTRL" などで知 太田さんは、、、ⅵクローンエデイタ stevie 日本語版ハ、漢 ・ JUN T ハッカー列伝 ( 5 ) 太田純さん@ リコー す。 リーソフトウェア開発者のひとり、太田純さんを紹介しま がかなり増えてきています。そこで今月は、 MS ー DOS のフ でした。しかし丘では、 JUNET でも MS-DOS の話題 してきましたが、どなたも UNIX のエキスパートばかり これまでにも何回か「 JUNET ハッカー列伝」をお届け JUN T 便り す霊信、 . 等をい日信をを信す等す 3 等を 3 勢 3 1 , 島生信等島エ号 : 日 3 等既信等ををす既信 : 3 : , 等 , 信等等第霊信第に信 W 本第 UNIX MAGAZINE 1991.6 123