利用 - みる会図書館


検索対象: UNIX MAGAZINE 2000年7月号
153件見つかりました。

1. UNIX MAGAZINE 2000年7月号

有をおこなうアプリケーションである。ファイルはサー ー側に蓄積されるわけではなく、各ューサーが公開して ノヾ いるディレクトリから直接ダウンロードする仕組みになっ ている。 いうまでもなく、そのほとんどは違法コピーになって しまう。当然のなりゆきとして、 RIAA (Recording ln- dustry Association 0f America : ・全ツ ( レコード協会 ) は、サービスの停止と賠償金を求めて Napster を提訴し た。友人が通っている UCLA では、孝対受までもが Nap ー ster を使って MP3 ファイルをダウンロードし、研究室 で聴いているという ( なんたることだ ! ) 。学生レベルでど んなことになっているのかは推して知るべしである。大学 によっては、学内ネットワークのトラフィックの 8 割近 くを Napster が占めるようになったため、使用禁止にし たところもあるそうだ。 いまのところ、 Napster のクライアント・ソフトウェア は Windows 用のものしかないが、ためしに、、 Led Zep- pel ⅲ " て験索してみたら、ウインドウに収まりきれない ほどのファイルか表示された。検索条件をさらに絞り込む と、プートレッグのトラックやラジオでオンエアされたラ イプティクもみつかった。当り前だが、大手の CD スト アでもこうした占前えは不可能である。 いままではアングラサイトをはつつき歩く確イ匕でもな ければ、何がどこにあるかなど分かりはしなかった。しか し、 Napster はクライアントを起動して検索するだけでい い。多くのユーサーが、おそらくなんの罪悪もなく使っ ているのは、オンテマンド・ラジオのような手軽さがある からだろう。そして、それこそがネットワークの利便生だ と実しているのかもしれない。逆に言えは、そうしたシ ンプルなサービスをどのレコード会社もやってこなかった ほうが間題なのである。ネットワークを通して配信される コンテンツは、コピーされることにネ釜質なあまり、おそ ろしく扱いにくい。 日本のオンライン配信でいうと、 SME の bitmusic3 の こで使われている著イ料嚮矍シ ようなサービスがある。 ステム (IBM の EMMS と Microsoft の WMT) では、 購入した音楽ファイルはダウンロードした PC 以外では聴 けないようになっている。ディスクカれたり、 OS を再 インストールしたら、二度と聴けないのである。したがっ et's PIay with UNIX ③ 132 3 http://bit.sonymusic ・ CO ・ jp/ て、購入したファイルのバックアップをとっても意味は ない。 pc の寿命やトラブルの石を考えると、一印判勺に 音が出るだけのコンテンツと考えたはうがいい。 bitmusic では 1 曲を 350 円で販売しているが、これ は 3 , 000 円の 10 曲入りアルバムより高く、シングル盤 よりは安いという設定である。だが、 CD を基準にした価 格設定には無理がある。 CD であ川まバックアップもとれ るし、どのプレイヤーでも自由に再生できるからである。 SME によれは、「配信する楽曲は従来のシングル盤と同 凵立置づけであり、あくまでアノレヾム・プロモーションの ため」だそうだが、それもなんだかューザーをバカにした 話ではないか。つまり、喜んでお金を払ってプロモーショ ンのお手伝いをする人、というのが彼らの描くユーザー像 なわけだ。 それにくらべると Napster の登場はほんのすこし画期 的なことだったのだが、音楽業界はその価値に気づかなか ったために、みすからの首を締めたのではないだろうか。 ちょっと考えれば、三方一両お得になるガ去もあったはす である。 Napster のプロトコルは不明だが、利用する際 にユーサー認証を求められるので、そのログはサーバーに 残っているはすである 4 。ならば、各利用者のダウンロー ド数に応した課金管理システムと、徴収した料金を分配す る仕組みを考えれはいい。あるいは、クライアント使用料 として定額課金にしてもいいだろう。これはラジオやテレ ピに対する著勿使用料の徴収と同し考え方であり、音楽 業界関係者にも馴染み深いものである。 Napster の利用者 は全世界に数白万人はいるといわれている。仮に有料化で ューザー数が 10 % に減ったとしても、月額 1 , 000 円の使 用料をと川ま、確実にミリオンセラーとなるアーチスト数 人に [! 攵する額になるはすだ。 山も丘、 Napster はべンチャー・キャピタルから 1 , 500 万ドルの出資を受けた。出資者たちは、 Napster の可能 性をすこしは理解しているのかもしれない。うまくすれば web でのオンライン販売よりも単純で、そのぶんコスト のかからないサービスを構築できる可能性がある。だが、 いままでの経緯から考えると、 RIAA がそうしたシステ ムの存在を簡単に認めるとも思えない。それに、やや後手 4 Napster の Web ページに書いてある説明によれば、当求の際に記入す るユーサーの氏名やメールアドレスなどの情報は、兤 t をとる目的以外に ( リ用していないそうである。 UNIX MAGAZINE 2000.7

2. UNIX MAGAZINE 2000年7月号

特集 7ThinkPad 570 で FreeBSD 0 図 40 、 VanderIust オフィシャルⅥ eb ページ ラアイルー編集表笊ツ早ンプ tommunica€or はツ 4 の、は 0 第第 ' ブツマーみ場所 :?http : / / ・ gohome.org れ 01 / Wanderlust ーー Yet Another Message lnterlace on Emacsen ー 、、ルプ ESSAG E TERFACE ON EMACSEN Lastmodified: Thu May 11 10 : 18 : 43 JST 20 ロ 0 This page is under construction. 1 2 5 2 7 9 GO tO engiish page Presented by YuuiChi Teranishi 《 teranisi@gchome.orq» Newestversion iS 1.1.1 (Stab\e) Wh ・ 5 New WanderIust は Emacs 上で動く IMAP4rev 1 対応のメール / ニュース管理システムです。 Wanderlust の広まり また、 Mew などと上交したうえで、自分に合ったメー 勧めします。 使ったことがない方は一度インストールしてみることをお 形式でメールをイ尉寺するメーラーとの共存も簡単なので、 lust はそれらを超えてあまりある力を備えています。 MH ラーといえば Mew や mnews はかりでしたが、 Wander- ウェアです。山も匠は UNIX 系 OS て利用されているメー Wanderlust はたいへん拡リ生の高い、優れたソフト 0 ラーを探すのもおもしろいと思います 22 さらなるモバイル 54 電イ学 [ 27 ] 。 23 lnstitute 0f Electrical and Electronic Engineers 材 q 電気 いようてす。 に UNIX 系の人びとのあいだでは、高機育ま派手 = 人気 " とはならな 22 Wanderlust よりもシンプルな Mew を好む人も数多くいます。とく 爪有線 LAN と無泉 LAN を接続する基地局が 3 万円台 になりました。無線 LAN PC カード NIC が 2 万円以 に処した無線 LAN システムカイ氏価格で販売されるよう 山も匠、泉 LAN オ剽售互換フ。ロトコル IEEE23802.11b 無線 LAN IEEE802.11b ついて、 FreeBSD での利用法を紹介します。 す。これからのモバイルには欠かせない、、無線 LAN" に 描広無線ネットワーク製品か読々と発表されていま です。 Netwave AirSurfer Wireless LAN を利用して いた私には、きわめて魅力的 ( 戦略的 ) な価格設定に感し られました。そこで、いまやノート PC と無線 LAN カー ドは、線はなくとも切れない関係ということで、私たちの 周りの無線 LAN 環竟についてとりあげます。 IEEE802.11 って ? 1980 年 2 月 ( 802 の由来 ) に設立された 802 委員会の 第 11 グループである IEEE802.11 委員会は、 1997 年に 2.4GHz 帯を使用するデータ転幻虫度 2Mbps の 802.11 を策定しました。 1999 年秋には、 802.11 を高速化して 11Mbps とした IEEE802.11b と、 5GHz 帯を使用し たデータ転幻曲隻 54Mbps の 802.11a を策定しました。 この 11Mbps 無線 LAN 規格である IEEE802.11b を いち早く ( 見込みで ) 製品化したものが、 AppIe と Lu- cent Technologies の共同開発による「 AirPort ( 国内で は AirMac) 」 (iBook/iMac を無妾続するための基地 局 ) でした。この製品は一盟肖費者向けに思いきった価格 で発売され、値段か高く、 802.1 い処といえど相互接続 性が悪かった従来の、、無線 LAN " への評価を一変させま した。そして 1999 年秋には、 802.11 に準拠した製品間の 相墳妾続陸を認定する機関 WECA (WireIess Ethernet Compatibility Alliance) が設立され、大手べンダー間 での相互接続性に期侍できる工韆竟か整いました。 UNIX MAGAZINE 2000.7 機能 される想選巨離は 40m " を意床しています。 ります。これが、、 2.4GHz 帯を使用し変調方式は DS-SS 、干渉 24 無泉 LAN カードの裏を見ると、糸 ) ートに、 2.4DS4 " という表言ゞあ 無線 LAN には、アドホック・モードとインフラスト ・利用形態 品をもとにその機能をまとめると、次のようになります。 尉幾器によるノイズなどに強くなっています 24 。現在の製 変調にスペクトラム拡散 (DS-SS) 方式を使用し、他の無 しており、日本国内では免許なして利用できます。無線の IEEE802.11b は、電波帯域として 2.4GHz 帯を使用 ます。 次々と出荷さオ L 、まさに無泉 LAN に光か射した感があり キーワードがちりはめられた製品カ咽内外のべンダーから 、 IEEE802.11 低価格相互接続性 " という 3 つの

3. UNIX MAGAZINE 2000年7月号

・ Eterm http://www.eterm.org/ ・ rxvt http://www.rxvt.org/ 日本語入力システム 日本語環境、メールツール、無線 LAN ーが、いまはなき同社の UNIX である NEWS- されています。 OS 用の日本語入力システムとして開発し、無償で公開 Wnn ( うんぬ ) は、京都大学、アステック、オムロン によって開発され、日本語、中国語、韓国語に対応し た入力システムです。 Wnn 4.2 か無償で公開されてい ます。 ・ FreeWnn[l] Wnn 4.2 をベースに、より効率的な変換サーバーの実 現を目指して登場したのが FreeWnn です。バージョ ン 1.0 では GPL (GNU General PubIic Licence 化され、 1.1 では configure に対応し、 Wnn 4.2 用の 非公式パッチか統合されました。現在、積均に開発が 進められています。 Canna ( かんな ) は、 NEC が開発した日本語入力シス テムで、フリー・ソフトウェアとして開発、公開されて います。 Java 版や Windows 95 版の Canna も開発 中のようですが、 UNIX 版を含めて、全体的に開発は 止まっているようです。 ・ SKK[3] SKK (SimpIe Kana Kanji Convertor) は、京都大 学の佐藤稚彦氏を中心に開発さ無償て配布されてい ます。 SKK は、変換単位を小さくすることによって ( 通常は 1 単語 ) 、文去的知識を利用しないようにしてい ます。つまり、文節の区切り処理などの日本語変換シス テムか担っていた部分の一にを人間か担当することによ り、誤変換率を下げ、かつ高速変換を可能とした日本語 入力システムです。 SKK 本体は Emacs Lisp で記述さ MuIe 環境で の衄乍を基本としています。 ・ Sj3 次は日本語入力工竟てす。ます、かな漢字変換システム をインストールします。 FreeBSD て利用可能な日本語入力システム ( サーバー ) には、無償、製品を含めて多くのものがあります。 UNIX MAGAZINE 2000.7 ・从ⅲ n6 [ 4 ] 前出の Wnn4 から商用の製品として開発されているの が Wnn6 です。辞書が強化され ( 岩波辞書を使用 ) 、構 文解析の改良がおこなわれています。 ・ VJE[5] Windows や Macintosh 用に開発、販売されてきた VJE-DeIta の FreeBSD 版です。 XIM プロトコルに 完全に輯処しており、 XIM に対応したアプリケーショ ン (kterm や Netscape 、 tgif など ) で日本語を入力で きます。試用版や Linux (i386/PPC) 版もあります。 j 尺の理由は、入手条負、製品のほうか変換効率か高 いとか、カスタマイズしやすいとか、人それそれです。使 いくらべてみるのがよいでしよう。 私は、 Canna から使い始めて Canna 一筋でしたが、 心の迷い ( ? ) か、現在は VJE-DeIta を利用しています。 Wnn 系は使ったことがありません。 則号の Linux 編で、 Canna と Wnn の設定や利用方 法について説明されています。 OS による設定の違いはな いので、そちらを参考にしてください。 こでは、日本語 変換システムのインストール手順と、和訟現在愛用してい る VJE-DeIta 3.0 を紹介します。 サーバーのインストール Canna 、ⅥⅲⅡ 4 、 Sj3 、 SKK は、 ports と packages を使って簡単にインストールできます。 ・ ports を利用する場合 ports/japanese の下にある各日本語入力システムごと のディレクトリ (Wnn 、 Canna 、 sj3 、 skk) で、それぞ れ make install を実行すオばインストールできます。 たとえは、 Canna の場合は、 % cd /usr/ports/j apanese/Canna Canna と Wnn はインストール CD-ROM の pack- ・ packages を利用する場合 となります。 # make insta11 Password : % su 27

4. UNIX MAGAZINE 2000年7月号

1 回以にの縄区しは 0 回以 - ヒの系お区しに 1 回を連結し たものと同し意味になります。 1 回以 - E の縄区しと ( ) 窈尺は 0 回以 - ヒの区しと同 じ意味になります。 正規表現の能力 方、手刮瓜の対応をとろうとすると、文字列を処理している るという固定した数の状態だけで対応できるからです。 数かを調べ、文字 b についても同様に偶数か奇数かを調べ 文字列は指定できます。これは、文字 a について偶数か奇 せん。しかし、文字 a が偶固、文字 b が奇数個含まれる 括弧が同し数だけ使われているような文字列は検出できま 弧て終るような文字列は検出できますが、開き括弧と閉じ めることはできません。つまり、開き手刮瓜で始まり閉じ括 し、 2 つの数を調べながら、それらが同じかどうかを確か の文字が出現することを数えられるという意味です。ただ てもかまいません。これはある決められた回数だけ、特定 み使用できます。この、、何回か " はとくに決まっていなく 正規表現は、一定の構及要素を佃カ髞り返す場合にの 現しきれないものもあります。 め、どんなに複雑なものも表現できそうにみえますが、表 正規表現はたいへん便利で、しかも表現能力が高いた = 奴 blc = 佖 60 第 ca = ( 勧司勧の毎佖 = 佖 l( 佖わ 0 い ca = 佖回 ( “司勧の = 勧司 ( “司 ( 佖 c 司勧の ) = ( a ・わ司 ac の l( c 司 0 わの 佖 ( c の c ) 佖 上記の性質を利用すれは、次のような変換も可能です。 ことができます。 閉包演算に関しては、ほかにもさまざまな直等式を導く 126 途中で開き括弧がいくつあったかを憶えておかなければな りません。このような処理は固定した数の状態だけでは対 応できないため、正規表現では表せないのです。 正規表現では処理できない括弧の対応を調べるという問 題は、 1999 年 5 月号で紹介した文脈自由文去を利用すれ ば鮹夬できます。ところが、文脈自由文法でも鮹夬できな い問題があります。たとえは、 a と b からなる任意の文字列があり、その後ろに文字 c が 続き、そのあとにまた最初と同し文字列か読く ような文字列を表現することはできません。これを実現す るには、さらに複雑な文法である文脈依存文法を利用する 必要があります。 しかし grep コマンドでは、簡単なプリミテイプを導入 することで、文脈依存文法でなけれは角夬できないような 間題の一部を記できるようになっています。これは後方 参照と呼はれるもので、正規表現としては \ れて表します。 このときのれは 1 桁の数字です。 grep に与える正規表現では、括弧がいくつも登場しま す。この手刮瓜を使って以前の文字列を取り出そうというの か後方参照です。韲覲表現の一碚にとして後方参照を利用し ている場合はます、この正規表現中の開き括弧を左から順 番に 1 から数え、後方参照で指定されている値と等しい開 き括弧を探します。そこから対応する閉じ括弧までの部分 正規表現とマッチした文字列が、あたかも後方参照の場所 で指定されたかのように角眷尺されます。つまり、さきはど の例の文字列は、 (Cab]*)c\1 と表現できます。この正規表現では、後方参照として \ 1 を利用しています。左端から開き瓜を数えますが、 1 番 目の、つまり最初の開き括リ励ゞ目的の括弧となります。対 応する閉し括弧までの部分正規表現にマッチしたものが、 後ろの後方参照の場所にあたかも展開されているかのよう に重丿胙するのです。 UNIX MAGAZINE 2000.7 っている最中に、その段階でなけ川ま分からない情報を正 は、実際に正規表現を利用して文字列の検索などをおこな この記法にあまり未はありません。後方参照更利なの 字列です。もし正規表現がそのまま展開されるとしたら、 正規表現そのものではなく、この正規表現にマッチした文 このとき、 \ 1 の部分に展開されるのは、 [ ab ] * という

5. UNIX MAGAZINE 2000年7月号

CAFE BABE 図 8 変数 ~ 里 メインメモリ read → load read → load StO re ・→ write 作業メモリ 1 use asslgn スレッド 1 作業メモリ 2 use C = a 十 b; スレッド 2 処理系によっては、 64 ピットの double 変数と volatile 変数の read—load 、 store—write 動作は、 32 ビットす つ 2 回の動作として実現することがあります。この 2 つ の動作のあいだに別のスレッドか共有変数にアクセスし た場合には、予期せぬ動作を惹き起こします。 ・コンパイラの最適化によって、命令が並べ替えられるこ とがあります。たとえば、 store—write を assign より 前に実行することがあります。この場合、複数のスレッ ドがアクセスすると予期せぬ重川乍を惹き起こします。 これを鮹夬する 1 つのガ去は、こまでに述べたように 同期を利用することです。 たとえば、リスト 11 の one() メソッドと two() メソッ ドを synchronized メソッドにしたとします。この場合、 オプジェクトをロックするときには作業メモリ内の作業コ ピーを使わすにマスターコピーの値をロードし、オプジェ クトをアンロックするときには作業コピーの値をメインメ モリにオ内します。したがって、競合状態は発生しないこ とか保証されます。 もう 1 つのガ去は、リスト 12 のように変数を volatile 変数として宣言することです。 二した共有変数を使用する場合には事前に値 volatile 旦 がメインメモリから読み込まれ、代入する場合には直後に メインメモリに書き込まれます。また、スレッドのメモ リ操作の順序が一正されます。共有変数へのアクセスが同 118 リスト 12 変数窈吏用と代入 ( 2 ) class Test { volatile int a = 0 , b = 0 ; void one() { b = 2 ; void two() { a + b; int C System. out. println(c) ; 期化されていない場合には、 volatile 変数にするとよいで しよう。 ただし、同期化はされていないので、 one() メソッドで a と b を代入するあいだに two() メソッドが実行される 可能があることに注意してください。 同期里のチュー 同期処理をどのように記述するかによって、マルチス レッド・プログラムの実効生能は大きく変化します。 その 1 つ目の原因は、クリティカル・セクションのなか にほかのスレッドが入れないために、同期処理のコーディ ングによってははかのスレッドの実行待ちゃ、プロセッサ のアイドル時間か増加し、 CPU の利用効率か低下するこ 2 つ目の原因は、簡単な処理がループ中で何回も呼び出 されるような場合には、モニターのコストが無視できなく なることです。たとえは、 Java のモニターでは再帰的な 呼出しを可能にしているために、 solaris スレッドの相互 幇餘ロックのコストよりも大きくなりますし、ロック回数 も増加しやすくなります。 そこで、以下ではどのような点に注意してチューニング したらよいかを説明します。 モニターの粒度を検討する モニターの粒度は、プログラムの性能に以下のような影 響をケえます。 ・細かい粒度のモニターを使用してクリティカル・セク ションを最小限にすることで、プログラムの並行匪を 矼 E させる。 粗い粒度のモニターを使用してモニターの所有権の取 得・解放の回数を減らすことで、同期オーバーヘッド UNIX MAGAZINE 2000.7

6. UNIX MAGAZINE 2000年7月号

連載 / UN Ⅸ知恵袋ー⑩ るプロックのみを複製することで高速な複製を : 滝見してい ます。 $ zcat rsync—2.4.3. tar ・ gz ー tar xf 刊属しているので、インストールは簡単です。 samba.org/から入手できます。 configure スクリプトが rsync の去辭形ヾージョンは 2.4.3 です。 http://rsync. rsync のインストーノレ 必要に応じて同期させて使うほうがイ甦リです。 ノートブック端末のホーム・ディレクトリを分けておき、 はかぎりません。このような場合、デスクトップ端末と NFS か満足に動作するネットワークがつねに得られると で共有している場合も多いでしよう。しかし、外出時には、 はホーム・ディレクトリを NFS (Network File System) イルシステムを構築すれはよいからです。実際、 LAN で させる必要は少なくなります。ネットワークを使ってファ 信遅延か許容できる範囲内であれは、ディレクトリを同期 期でしよう。もし、ネットワークに一ト分な帯域があり、通 rsync のもっとも一ヨ勺な使い方は、ディレクトリの同 ( インストールの経過表示 ) # make install $ su make が無事に終了したらインストールします。 (make の出力 ) $ make (configure の出力 ) $ sh configure $ cd て sy Ⅱ c ー 2 . 4.3 76 をインストールしておかなけれはなりません。 の複製をおこなうなら、 1 。 cal 、 remote それぞれに rsync えば、引・算機 local と言 fr 算機 remote のあいだでファイル マンドをインストールしておく必要があることです。たと 同期をおこなう場合は、関係する言 1 算機すべてに rsync コ ンストールするにせよ、 rsync を使ってファイルコヒーや にインストールするにせよ、個人のコマンド検索パスにイ ひとつ注意しておくことがあります。それは、システム おくだけでもかまいません。 境でパスの通った場所に実行ファイル (rsync) を置いて 要はありません。個人的に使用するだけならば、自分の環 rsync は、かならすしもシステムにインストールする必 リモートシェル環境の準備 rsync は遠隔計算機に接続するためにリモートシェル (rsh) を用います。ですから、 rsync を使ってファイルの 複製をおこなう引・算機のあいだでリモートシェルか動作し ていなけれは・なりません。また、リモートシェル機能をパ スワードなしで実行できる必要があります。 リモートシェル機能をパスワードなしで使うためには、 . rhosts" というフ 遠隔引・算機のホーム・ディレクトリに ァイルを作らなければなりません。 . rhosts には、リモート シェルを使ってアクセスしてくる言 1 算機名をあらかしめ書 いておきます。たとえは、ローカル言算機 local.foo.com と遠隔計算機 remote.bar.com のあいだでノヾスワードな しにリモートシェルを利用するためには、計算機 remote の . rhosts に以下の内容か書かれている必要があります。 10Ca1 . f00. com local.foo.com で次のコマンドを実行し、リモートシェ ルが正しく設定されていることを石忍してください。 $ . . COIII 成疋が正しければ、即座に remote. bar. corn にログイ ンできるはすです。もし、 remote.bar.com からログイン のためのパスワードを訊かれたら、リモートシェルの成正 カ墹違っています。 . rhosts ファイルの内容を再石忍して ください。 なお、セキュリティを矼 E させるために、リモートシェ ルとしてセキュアシェル ( ssh ) を用いることができます。 リモートシェルと同様に、パスフレーズなしでセキュア シェルを利用できるように準備しておく必要があります。 セキュアシェルをパスフレーズなしで使う方法の田はセ キュアシェルのマニュアルページを参照してください。ま た、工竟変数 RSYNC-RSH に ssh を設定してください。 rsync は、 RSYNC-RSH に設疋されたリモートシェル・ フログラムを遠隔言 t. 算機との接続に使用します。 場面をみてみましよう。 rsync を使うと何ができるのでしようか。具一勺な利用 rsync でできること UNIX MAGAZINE 2000.7

7. UNIX MAGAZINE 2000年7月号

図 8 パックエンド型モデル キーポード マウス etc. クライアント X サーバー 図 9 XIM と日吾入力システムとのやりとり キーポード マウス ディスプレイ X サーバー X クライアント Method) を定めています。 etc. 0 0 日本語変換 クライアント 0 XIM 日本語変換 こでは、バックエンド型モテルを例にプロトコルを説 明します ( 図 9 ) 。キーポードからの入力 ( 1 ) は、 X サー バーで処理され、 X クライアント (kterm など ) に送ら れます ( 2 ) 。 X クライアントは、その入力を XIM プロ トコルによって日本語入力クライアント (kinput2 など ) に伝えます ( 3 ) 。日本語入力クライアントは、その日本語 入力システムで定められたプロトコルを利用してサーバー (Canna など ) と通信 ( 4 ) し、かな漢字変換などをおこな います。そして、結果を XIM プロトコルによって X ク ライアントに送ります ( 5 ) 。この一漣の重川徂こより、 X 上 での日本語変換を実現しています。 なお、 XIM と同様のプロトコルとして、 kinput2 や UNIX MAGAZINE 2000.7 日本語環境、メールツール、無線 LAN xlc などがあります。ここでは日本語を対象としています が、 XIM は多言語に対応しています。 kinput2 のインストール kinput2 は、利用する日本語入力サーバー (Canna も しくは Wnn4) に合わせたバージョンのバイナリをイン ストールする必要があります。 ・ ports を利用する場合 Canna 対応の kinput2 であれば、 % cd /usr/ports/japanese/kinput2—canna % su Password : # make install Wnn4 なら、 % cd /usr/ports/j apanese/kinput2-wnn4 % su # make insta11 とします。 Wnn4 と Canna の両方を利用する場合は、 kinput2-canna 十 wnn4 をインストールしてください。 そのほか、 Wnn6 や Sj3 に対応したバージョンもあり ます。 ports や packages の japanese ディレクトリ を参考に、用途に応してインストールしてください。 ・ packages を利用する場合 Canna や Wnn4 と同様に、 kinput2 はインストー ル CD-ROM の packages には求されていません。 そのため、これか〕求されている CD-ROM や Free- BSD の FTP サイトからインストールします。パッ ケージ名はそれぞれ、 Canna 専用が kinput2-canna 、 、 V11n4 専用が kinput2-wnn 、 Canna と Wnn4 の兼 用が kinput2-canna 十 wnn です。各自の竟に合わせ てインストールしてください。 kinput2 を利用した kterm での漢字入力には、 XIM プロトコルによるものと kinput2 プロトコルによるもの があります。する Netscape での漢字入力を考慮し こでは XIM プロトコルによる入力を利用します。 て、 kinput2 プロトコルを利用した環境については、前号の Linux 編をご覧ください。 ます、次のリソースを . XdefauIts などに追加し、必要 システム 日本語入力 なら tixrdb を実行します。 29

8. UNIX MAGAZINE 2000年7月号

ダイヤルアッフ鮟続で L2TP プロトコルによって強制 トンネルを確立する手法と、 RADIUS によるトンネルの 管理を規定している。 された。 、、広報 " として 2000 年 4 月に公開 現在のインターネットでは、セキュリティなどのさま ざまな理由でトンネリング接続か利用されている。ダイヤ ルアップでインターネットに接続する際も、トンネリング による接続が必要な場合が多い。 ーヨ殳に、トンネリングの不頁としては、 任意トンネリング : 利用者の意でトンネルを確立する 強制トンネリンク : 利用者の意とは無関係に自重加勺にト ンネルを確立する がある。 RFC2809 では、ダイヤルアッフ。接続で L2TP プロ トコルを利用して強制トンネリングをおこなうための手法 と、その実装について論している。ダイヤルアップ接続の 利用者管理にひろく用いられている RADIUS を組み合わ せることで、トンネル確立時の正などのトンネル管理を 統合する手法を提案している。これにより、トンネルを確 立する際のオ冓が簡略化できる。 RFC2809 では、トンネルを実際に確立するサー ( トンネルネットワーク・サーバー ) を両端に設置し、 RA- DIUS か艨動しているアクセスサーバーと組み合わせる方 について言侖している。扱われている認証方法を以 - ドに ・利用者識別子 ( ューザー (D) の扱い ・ RADIUS を利用したトンネル確立時の認証 / 切断 ・強制トンネルの確立去と RADIUS の有効性 式を提案している。この方式を偂醍として、 ・アクセスサーバーによる認証 ー認証データがアクセスサーバーにある場合 - 認証データを RADIUS リプライ・フォワー グによって取得する場合 ・トンネルネットワーク・サ→ヾーによる認証 ・両方のサーバーを利用した認証 、デ、イン RFC2809 ではトンネリング・プロトコルとして L2TP だけを扱い、他のトンネリング・プロトコルはヌ寸象として 154 いなし、。 RTP 関連 UNIX MAGAZINE 2000.7 ネルを特定できる。 は接続しているサーバーにかかわらす単一の名前でチャン に情報を交換し、名前空間を統 - ーする。そのため、参カ睹 間を形成できる。 IRC 網に存在する IRC サーバーは互い ン・レベルて豸虫自の網を形成することで、大莫な会議空 システムである。複数の IRC サーバーがアプリケーショ を効率的にグルーフイヒできる分散型モデルを採用した会議 の基本アーキテクチャを規定している。 IRC は、利用者 ている文字べースのリアルタイムチャット・システム IRC RFC2810 は、現在のインターネットでひろく利用され のシステムが各不是案されている。 リアルタイム性などがあり、それぞれの要求を満たすため としては、参加者の管理方法、対象となるデータの種類、 にはさまざまなものがある。会義システムをう嶽頁する孑票 インターネットを利用して会義システムを実現するガ去 に新たに公開された。 1459 でも規定されているが、山も匠の実装を反映するため 年 4 月に公開された。 IRC は 1993 年に公開された RFC 基本アーキテクチャを規定している。、、広報 " として 2000 文字べースのリアルタイム会議システムである IRC の 旧 fo. 、 C. KaIt ( RFC1459 更新 ) インターネット・リレーチャット : アーキテクチャ RFC2810 lnternet Relay Chat: Architecture IRC ( インターネット・チャット ) 関連 ド形式を定義している。 ルで用いられる冗長符号イ彡式を収容する RTP ペイロー する特性を提供するために、 ITU-T T. 140 でのフロトコ れる。 RFC2793 では、これらのテキスト形式対話に対応 はごく小さいものだが、遅延なく伝達されることか要求さ らの打鍵か音声認識によりおこなわれる。入力のバンド幅 義されている。テキスト形式対話の入力は、キーポードか テキスト形式の対話については ITU-T の T. 140 で定 、、標準化 , 、、ク是唱 " である。 2000 年 5 月に公開された。 めの RTP ペイロード形式を定義している。現在の状態は テキストによる対話をおこなうセッションを伝達するた PS. 、 G. Hellstrom テキスト形式文囎舌用の RTP ペイロード RFC2793 RTP Payload for Text Conversation

9. UNIX MAGAZINE 2000年7月号

規表現として利用できる点です。だからこそ、正規表現よ り表現能力の高い文脈自由文法でも表現できないようなも のも言当できるのです。 正規表現ライブラリ 正規表現を用いて文字列を検索する作業は、 grep コマ ンドだけがおこなうわけではありません。ちょっと気の利 いたコマンドであ川ま、ユーサーからの入力を正規表現で 受け取り、その正規表現とマッチする応答を返すようなこ とは日常的におこなっています。これらの作業は、正規表 現を扱うライプラリ関数を利用して実現されています。 FreeBSD の場合、正規表現を処理するライプラリとし て、 GNU の regex ライプラリカ甘是供されています。今回 は、 grep コマンドのソースプログラムのなかで、このラ イプラリ関数関連の処理をしている部分をみていきます。 grep コマンドのソースプログラムのなかで、このライプ ラリ関数を利用しているのは search. c ファイルです。 search. c では、ますライプラリ関数を利用するために ヘッダファイル gnuregex. h をインクルードしています。 #include "gnuregex. h" このヘッダファイルは標準的な /usr/include に置かれ ているので、普通ならは、 #include く gnuregex . h> として標準的なディレクトリから読み込むところですが、 おそらく開発者の都合で、カレント・ディレクトリからの 言囚みもおこなう最初の形式が使われています。この形式 でも、カレント・ディレクトリにファイルがなければ標準 的なディレクトリから読み込まれるので、とくに問題はあ りません。 正規表現のライプラリ関数では、テキストとして与えら れた正規表現をいったん内部形式にコンパイルして利用し ます。そのため、内部形式に変換した正規表現尉寺する ためのパターンバッフアを確保しています。 / * Regex compiled regexp. * / static struct re—pattern_buffer regex ; 次は正規表現の構文の指定です。正規表現には、今回紹 介した正規表現 ( 拡張正規表現と呼ばれる ) のはか、基本 - 正 . 規表現もあります。さらに、コマンドによって若千解釈 UNIX MAGAZINE 2000.7 プログラミング・テクニック が異なることもあります。ライプラリ関数では、これらの 127 めの re-registre 構造体のアドレスとなっています。この をおこなう範用、部分正規表現に一致した位置を調べるた 字列の長さ、本館きを開始する文字列内のオフセット、検索 正規表現をオ内したバッフア、検索をおこなう文字列、文 re-search 関数の引数は、左から順にコンパイル済みの end ー beg, 0 , end ー beg, &regs) ) > = 0 ) if ( (start = re_search(&regex, beg, 号 - 実際の検索には、 re-search 関数を利用します。 ます。 返し、できなかった場合にはその理由を示す文字列を返し この関数は、正規表現が正しくコンパイルできれば 0 を レスを指定して、コンパイルした正規表現を保存します。 す。最後の引数には、さきほど石呆したバッフアのアド です。次の size は、正規表現の文字列の長さを指定しま 関数の最初の引数は、正規表肋財翻勺されている文字列 fatal(err, 0 ) ; size, &regex) ) ! = 0 ) re—compile—pattern(pattern, if ( (err は re-compile-pattern 関数を利用します。 次は、実際に正規表現を内部形式に変換します。これに す。 最後の形式は通常の egrep として動作するためのもので の呼出しは POSIX ま処の egrep として重川乍する場合の、 でに含まれているため冗長になっています。 2 番目の形式 ます。ただし、 RE-SYNTAX-GREP にはこの定義がす きに、改彳丁文字にマッチしないように明示的に設定してい ある文字集合以外の文字集合を指定する形式を利用したと には、構文を grep 用に変更すると同時に、文字クラスで きのためのものです。 grep コマンドとして動作する場合 最初の呼出し形式は、 grep コマンドとして動作すると re-set—syntax (RE—SYNTAX-EGREP) ; re—set—syntax (RE—SYNTAX-POSIX_EGREP) ; RE_HAT_LISTS_NOT_NEWLINE) ; re—set—syntax (RE—SYNTAX—GREP ー では、次のような 3 つの呼出しがおこなわれています。 適当な引数で呼び出すことで構文を指定します。 search. c ことになっています。具イ勺には、 re-set-syntax 関数を 違いを吸収するため、利用する正規表現の構文を指定する

10. UNIX MAGAZINE 2000年7月号

RFC ダイジェストー 現在の実装 会義の名前空間はチャンネルと呼はれる単位でグループ 現在孑商されている間題点 化さ会議の参加者はチャンネルごとにグループ化され ・セキュリティに関する考察 る。チャンネルは参加者の要求によって重加勺に作成され、 IRC 網全域 ( 場合によっては一緇 ; ) に伝般される。参カ睹 について言言龠している。 は IRC クライアントを利用して任意の IRC サーバー 接続する。 RFC2812 lnternet Relay Chat: Client Protocol インターネット・リレーチャット . クライアント・プロ IRC 網の基本通信モードはチャンネルを単位とした会 トコ丿レ 議であるが、ポイント・ツー・ポイント型、プロードキャ fo. 、 C. KaIt ( RFC1459 更新 ) スト型の通信もサポートしている。 RFC2810 では、これ らの通信モードに関する言墟侖もおこなわれている。 RFC2810 で定義された IRC クライアントの言田を規 また、 IRC て利用する、、 IRC プロトコル " の提供する 定している。、、広報 " として 2000 年 4 月に公開された。 サービスも規定している。以下に RFC2810 で規定して RFC1459 を更新している。 いるサービスを示す。 IRC に参加するには、 IRC クライアントを利用して IRC 網に接続する。 IRC クライアントは IRC サーバーを ・クライアントの位置検索 利用することで、他の IRC クライアントと自由に通信が ・メッセージの中継 おこなえる。 IRC サーバーの機能を利用すれは、 IRC ク ・チャンネルの提供と管理 ライアントは IRC 網上で 1 対 1 、 1 対多の通信ができる。 RFC2810 は、 IRC フロトコルの言岩田な仕様について RFC2810 では、 IRC クライアントが IRC サーバー は規定していない。 との通信に利用する IRC クライアント・プロトコルを規 定している。具 f 勺には、 RFC2811 lnternet Relay Chat: Channel Management インターネット・リレーチャットチャンネルの管理 サーバーへの接続 旧 fo. 、 C. Kalt ( RFC1459 更新 ) ・チャンネル作 RFC2810 で規定されている IRC のチャンネルによる ・メッセージの送信 参加者のグループ化手法の詳細を定義している。、、広報 " ・サーノヾーへの間合せ として 2000 年 4 月に公開された。 RFC1459 を更新して ・サービスの間合迂 いる。 ・参カ睹の問合迂 IRC ではチャンネルを利用することで、 IRC 網に接続 ・その他 しているクライアントをグルーフ。化できる。これにより、 の頁目について言墟龠している。 IRC では複数の会義を並行して開催できる。 また、現在の実装や孑商されている間題点についても考 チャンネルはクライアントからの要求によりサーバー上 察している。 て加勺に作成さクライアントか管理する。これにより、 RFC2812 には IESG からのコメントが付加されてい 複数のチャンネルのう州攵管理を実現する。 る。概要を以下に示す。 RFC2811 は、 IRC のチャンネルについて、 「 IRC プロトコルではクライアントどうしによるデータ ・チャンネルの特徴 の送受信も可能である。メールなどの他の通信イ懾と同様 ・チャンネルの状態 に、受信したデータをどう処理するかよく考えなけれはな ・チャンネルの管理法 らない。 IRC プロトコルのセキュリティに関するより詳し い情報は、 http://www.irchelp.org/irchelp/security/ を規定している。 で得られる」 また、 二一口 155 UNIX MAGAZINE 2000.7