図 4 ゲスト OS に割り当てるメモリ容量 Memory ーー V 朝 Machine Ⅷ物ー・を Of ・ m y 」 y 供口まをを 0 ( 掲を一物 meh ′ ? V リ引 M h は肥 3 司 lt ゆ of sizethaty«J$Eifymusttü The 肥駅虍 ・鮖 0 市 tOf 市 y 怕 dtO 物ー - Mwa 「 Wo 「朝目 0n3 0 0S0 レ i れ猷物 0 第 トを物ァ k をす ct ⅸー 第を、物い Muhr* W 辷まけ 物 hop ーが一 is ーね y 供第ョー w ken Ⅷ 釦 a ー・ 0 . Connection 図 5 ネットワークのま聢 00 宿“曜局 ed を ue & いダ 40 (MBY Totalmemory ⅸ引 lr を第れー Wnware わィ s く日 . - 1 1 Eext 〉 ⅷ、Ⅳ 0 「 ( キ 0 0 this 叩を朝わをⅳ・引等 systemdrect 8C0 対一日 h ー肥ーⅳ k 計掲引を its 背 1 旧 ad 士 0 mthe ex を「を work. 。でキ ~ 3 市トⅱ 0 虍れ叩氤第 system ルぉ局 s を 00n0 を d 込ト叩 ex を等ー E をい肥汁、 c すお ct 1 い局駅・ s lP 土女 6 . 0 Use い s ト側ツー澄 0 を電 ( : わ & 6 市叩 t か 1 扣 c ′ーー肥 s を 0 「「尾 & Y 奮 m 扣 ⅳ ey れ u 引 n k ロトを C000 」 で 00 noguse 物ー物 k c れ く日 k 下に、 OS の頁の名前でフォルダを作成しようとします。 私は、 VMware のゲスト OS や Linux などの OS の CD イメージファイルのために F ドライプ ( 約 18GB) を割 り当て、 F:*VMware フォルダの下にゲスト OS ごと のサプフォルダを作ってオ褓内しています。そこで、イン ストールするゲスト OS の名前を、、 RedHat73" 、パスを 、 F:*VMware*RedHat73" としました。 メモリの設定 続けて、ゲスト OS の実行時に割り当てるメモリ容量 を設定します。初期値は 128MB となっていましたが、 Linux や FreeBSD では X ウインドウ・システムを使 っても 100MB にも満たないでしようから、とりあえす 96MB に設定しました 5 。 なお、 VMware では、 PC の物理メモリ容量に応して、 VMware のために割り当てるメモリを予約しておき (Re- served Memory) 、その範囲で複数のゲスト OS を実行 できるようになっています 6 不劫ゞ使っている Th ⅲ kPad は、メモリを増設して 320MB にしていますが、このとき の Reserved Memory の容量は 192MB となっていま Reserved Memory のイ直は、 VMware の、 Settings メニューから、、 Prefere Ⅱ ce " を選ぶと表示されるメニュ ・ウインドウの、、 Mem 。 ry " タブに表示されます。この 値を変更したり、 ( とくに複数の ) ゲスト OS カ祠時に使 5 X をイつないのなら、 48MB 程度でも十分です。一方、 GNOME な どのデスクトッフ環竟で各種のアプリケーションを川当けるのであ オ u よ 128MB くらいはないと・臠商に使えないかもしれません。 6 たとえば、あるゲスト OS の実行中に別のゲスト OS を起動しようと した場合、各ゲスト OS に割り当てたメモリ容量の合計が Reserved Memory 直を超えると、警告メッセージカ俵示されてゲスト OS を 92 力できません。 用するメモリ量を Reserved Memory 以内に制限するか どうかの設定を変更することもできます。しかし、不用意 に変更するとシステム全体か不安定になったりいにパ フォーマンスカイ氏下することがあるようなので、できれば そのままにしておいたほうがよいと思います。 ネットワーク接続の設定 メモリの次は、ゲスト OS が使用するネットワーク接 続の不頁の指定です ( 図 5 ) 。 4 つ窈尺肢がありますが、 Do not use a network connection ( ネットワーク接 続をおこなわない ) " を除くと、それぞれ以下のような未 をもちます。 ・ Use bridged networking ( プリッジ接続 ) PC の Ethernet カードを直接使ってネットワーク接 続をおこないます。したがって、はかの PC からは、ホ スト OS とゲスト OS がまったく独立した PC にみえ ます。なお、ゲスト OS の Ethernet アドレス (MAC アドレス ) は、 VMware 独自のものが自重加勺に割り当 てられます。 VMware 上では、プリッジ接続のインターフェイスに は、、 VMnet0" という名前カ咐けられます。 ・ Use network address translation (NAT 孑妾続 ) 仮想ネットワーク・インターフェイスを介してホスト OS ( やほかのゲスト (S) と接続できるだけでなく、 NAT の機能を用いて外部のネットワークにアクセス することができます。単純な仮想ネットワーク (host- only networking) に、 VMware 独自の NAT ルータ 機能か加わったものと考えればよいでしよう。 以前の記事 [ 1 ] では、 NAT 接続の遅さカ甘商されてい ましたが、バージョン 3.1 では NAT に関するパフォー UNIX MAGAZINE 2003.3
インターフェイスの街角 図 8 期間を表すキーワードを生成する timerange ・ rb [ 1 , 2 , 3 , 6 , 12 , 24 , 48 ] RANGES WEIGHT = [ 1 , 2 , 4 , 2 , MONTHSEC = DAYSEC * 30 DAYSEC = 24 * 60 * 60 class TimeRange # ー * ー mode: ruby ー * ー # ! /usr/bin/env ruby 1 ] 1ast ( $ 3 ? $3. to-i first) + 1 first $ 1 . to ー i argstr def TimeRange . rangearg(argstr) end } . flatten #{keyword(t ,range,i)}" "#{WEIGHT[i + 2] } ( ー 2 .. 2 ) . collect { ー幻 RANGES. collect { ー rangel def TimeRange. rangefreq(t) end "R#{range}T#{base + offset}" @start = (base + offset) * rangesec t . tO_i / rangesec rangesec range * MONTHSEC def TimeRange. keyword(t , range , offset=0) ' y ' then if $ 4 first * = 12 last * = 12 end cursec first 1ast Time . new . tO_i = RANGES . find { lrl r > = range return nil if srange . nil? # puts "first = #{first}" # puts "last = #{last}" # puts " srange = #{srange}" end end keyword (middlesec , srange) middlesec startsec + srange * MONTHSEC / 2 #{Time . at (startsec) . asctime}" # puts "startsec = : startsec last * MONTHSEC 考えられるので、、、 2 カ月ほど前 " とか、、 3 ~ 4 年前 " のよ うにおおよその時期を指定できるはうカ更利です。たとえ は、 1999 年 12 月頃の 1 カ月を、、 RIT364 " というキー ワードで表現することにします。そして、 1999 年 12 月 に作成されたファイルにはこのキーワードが 4 つ含ま 1999 年 11 月や 2000 年 1 月に作成されたファイルには 2 つ含まれるというように重みをつけて頻度ファイルを作 成しておけは、このキーワードと全文検索システムを利用 して期間を指定した検索がおこなえるようになります。 期間を表現するキーワードは、普通のキーワードと重な こでは表現し らなければどんなものでもかまいません。 たい期間の長さを月数で表現したもの (RI) と、 1970 年 1 月 1 日から数えた時間を期間の長さて割ったをネ ( T364 ) を組み合わせたものにしています。 この方式では、 2002 年頃の 1 年は、、 R12T32 " と表 現されます。したがって、 2003 年 3 月に約 1 年前の UNIX MAGAZINE 2003.3 ファイルを検索したい場合は、通常のキーワードにこの 、、 R12T32 " というキーワードを加えて全文検索を実行す れはよいことになります。 このようなキーワードの処理をおこなうプログラムを図 8 に示します。頻度ファイルを生成するときは、その生成 時刻をもとに、 rangefreq メソッドを使用して期間キー ワードとその重みを引算して加えます。たとえば 2003 年 1 月 1 日に対して rangefreq を計算すると、図 9 のよう に期間キーワードとその重みを得ることかできます。 通常の単語の出現頻度情報にこれを加えた頻度ファイル をもとにして WAM を作成します。 期間による検索をおこなうときは、コマンドラインで指 定した引数から期間キーワードを生成します。 検索コマンドでは、表 1 のような引数を用いて日月を指 定します。 引数ー 2-3m によって、、 2 ~ 3 カ月前 " を指定した場合、 181
せん。事実、全文検索システム Namazu の開発者である 高林哲氏は、自分のファイルに対して Namazu を使う ことはなく、凾のファイル整理手法を利用しているそう です。 ー難勺なファイル整理の手法では、適切な名前をもっ木 構造のディレクトリを作成し、 cd や ls などのコマンドで 階層的に移動します。インデックスの作成処理や全文検索 システムの起動は、 cd や ls コマンドなどの操作にくらべ るとひどく重いのか普通です。したがって、現在のところ は手作業による整理のほうか効率的なのは否めません。し かし、全文検索がもっと手軽に使えるようになれば、整理 のための手法も変化してくるのではないでしようか。 今回紹介した検索システムのおかげで、私は cd や ls を 実行する機会がすこし減ったように思います。とくに、昔 作った資料を探したり、以前にもらったメールに返事を出 したりする場合、ファイルやメールを一覧表示してそのな かから目的のものを選ぶ作業よりも、キーワードを指定し て全文検索を実行したほうが早いことが多いようです。そ んなこともあって、ちょっと前に受け取ったメールへの返 信にも、全文検索システムを使う機会か増えてきました。 全文検索アルゴリズム自体は、十分に実用的な域に達し ています。それを有効に活用するためのこなれたインター フェイスについて、もうすこし考えてみる必要がありそう です。 今回紹介したシステムは、私の web ページ 5 で公開し ていますので、せひご利用ください。 ( ますい・としゆきソニー CSL) 5 http://www.csl.sony.co ・ jp/person/masui/GETA/ UNIX MAGAZINE 2003.3 SC 翡 好評発売中 ! インターネットの 起源 ・ Katie Hafner 、 Matthew Lyon 著 ・加地永都子、道田豪訳 ・ A5 判、 336 ペーシ ・ ISBN 4-7561-3479-3 ・本体 2 , 500 円 + 税 誤った“常識”を覆し、創設に携わった人びとの肉声を あますところなく伝える貴重な証言集 目次から 即断即決で 100 万ドル / 大聖堂を建てたのは誰か / 第 3 の 大学 / プログラムと格闘する日々 / トウルート宛必着 / ハッ キングと喧噪と / 電子メール / 手にしたロケット 参考文献、索引 Java プログラミング・ノート CAFE BABE 国際化と 日本語処理 Where W ds Stay up Late The Origins of The lnternet ・風間一洋著 ・ A5 判、 312 ページ ・ ISBN 4-7561-3481-5 ・本体 3 , 000 円十税 Java による日本語処理、さらには国際化プログラミング に必須の知識を数多くのサンカいプログラムを示し ながら平易に解説する。真の意味での "Write Once, Run Anywhere" を目指すプログラマーに最適の 1 冊。 目次から Java はどんな言語か / 国際化と地域化 / Unicode / ロケー ル / 工ンコーティング / タイムゾーン / リソースパンドル / フォ ーマット出力と解析 / 文字列の比較 / テキストの境界解析 / インブットメソッド / 文字の表示 付録 : Unicode プロック / ロケール一覧 / 工ンコーティング名 一覧 / タイムゾーン D 一覧 / ユーロ通貨記号への対応 株式会社アスキー 〒 1 60 ー 8584 東京都新宿区信濃町 34 J 日信濃町ビル 出版営業部電話 (03) 5362 ー 3800 183
図 3 対象のファイルのみ (fileattr. rb) class def def def def def end FiIeAttr initialize tit1e text t ime valid? ファイルのタイトル # ファイルのテキストを配列で返す # ファイル生成日時 # 検索対象とすべきかどうかを判定 インターフェイスの街角 図 4 竟の言と WAM 生成 % /usr/local/geta/sbin/mkw ir @freqfilelist % find freqfiles —type f —print > freqfilelist Jma: p : /user/masui/IR/bin/j apanese ・ sh dataroot : /user/masui/IR/data/ short—name : 1 て handle : a11. ir % cat etc/ci . conf % cd $GETAROOT % GETAROOT=/user/masui/IR ; export GETAROOT 図 5 結果 % search 13236 31647 14810 24108 18030 31707 23226 16363 18291 31723 0 .030859 0 .030555 0 .030507 0 .030505 0 .029959 0 .029737 0 .029689 0 .029488 0 .029488 0 .029223 /Users/masui/Mai1/backup/1491 /Users/masui/Mai1/inbox . 01d / 8720 /Users/masui/Mai1/backup/2919 /Users/masui/MaiI/inbox . 01d / 13257 /Users/masui/Mai1/inbox/24590 /Users/masui/Mai1/inbox .01d / 8870 /Users/masui/Mai1/inbox .01d / 11901 /Users/masui/MaiI/inbox/20850 /Users/masui/MaiI/inbox/25099 /Users/masui/MaiI/inbox .01d / 8894 テキストファイルに対し、 freqfiles ディレクトリ以下 に /user/masui/IR/freqfiles/Mail/inbox/1000. freq という頻度ファイルが生成されます。すでに頻度ファイ ルがある場合はそれを使うため、形態素解析プログラム MeCab を用いて頻度ファイルを生成するのは、ファイ ルカ噺しく生成されたり更新されたりしたときだけです。 12 月号のプログラムでは、 find コマンドを用いて検 索対象ファイルのリストを得ていました。一方、今回の makefreqfiles では、指定されたディレクトリ以下のファ イルを Ruby のライプラリを使用して総当たり方式て探 すようにしています。ディレクトリにはさまざまな不頁の ファイルが存在する可能生がありますが、バイナリファイ ルはそのままでは形態素角財斤の対象にはなりませんし、 時ファイルや辞書ファイルなどについては全文検索をおこ なう未はありません。そこで、検索対象とすべきファイ ルに対してのみ、 valid? メソッドが真を返すようにしてい ます ( 図 3 ) 。 makefreqfiles を実行すると、検索対象としたいすべて のファイルに対する頻度ファイルが freqfiles ディレクト リの下に生成されます。ここで、頻度ファイルのリストを 指定して GETA の WAM 生成コマンド mkw を起重丿け ることにより、定義ファイル ci. conf で指定した位置に UNIX MAGAZINE 2003.3 WAM データか生成されます。 ci. conf の内容と WAM 生成処理の様子を図 4 に示し ます。 作成された WAM を用いて 12 月号で説明したような 検索を実行すると、図 5 の結果カ碍られます。 図 5 の search コマンドでは、検索されたファイルの ID 、重み、ファイル名の一覧カ咄力されます。しかし、 のままでは検索結果のファイルの内容すら簡単には石忍で きません。 検索結果を手軽にプラウズするには、図 5 のような検 索結果を HTML 形式に変換したものを利用するとよいで しよう。 図 6 の search2html コマンドを使うと、単純な形式 の HTML ファイルに簡単に変換できます。生成された HTML ファイルの閲覧には、もちろん普通の Web プラ ウザを使ってもかまいません。ただし、コマンドラインか ら検索を実行した場合などは、テキストべースのプラウザ である w3m を使うとイ甦リです。 たとえば、図 5 の出力を search2html で加工して作成 閲覧性の改善 179
ワークステーションのおと一 0 写真 3 いきなり届いた TA 12Mbps ADSL と IP 電話 昨年 12 月に、インターネットへの接続回線を 8Mbps の ADSL から 12Mbps のものに変更しました。これは 次のような動からでした。 以前は、フレツツ・ ISDN を使っていたので、 9 月く らいまでは電話回線自体は ISDN で、 ADSL はタイプ 2 と呼はれる電話とは共用しないカ試でした。この状態での 接続速度は、収容局が目の前という好条件にもかかわらす ・ So-net フォンの利用者間およびーヨ日入電話への通話 4~4.5Mbps でした。 が可能 ( ー搬加入電話からの着信は不可 ) 。 「 ISDN との干渉やろか」 試丐月間中 ( 2003 年 2 月末まで ) は、一 T' 記の料 - 金が無 電言辞斗金を調べてみると、匠は固定電話をあまり使っ 料になる。 ていないことも分かったので、いつまでも ISDN にして 月額基本料金 おく必要はなさそうです。そこで、電話を ISDN からア So-net フォン利用者間の通言辞斗 ナログ回線に戻し、 ADSL を電話と共用のタイプ 1 にし So-net フォンから一ヨ日入電話 ( 国内 ) への通話 ました。 V 。 IP 機能付き TA/ADSL モデムなどのレンタル料金 変更後に回纜度を測ってみたところ、悲しいことにか so-net フォンとま岩秀フロバイダとの IP 通話 えって遅くなっており、 4Mbps に届くかどうかという状 態です。 VoIP 機能付き TA/ADSL モデムを無料で借りられる このままではかなり悔しいので、 12Mbps の ADSL に だけでなく、 So-net フォンから一殳加入電話への通話も 変更したのです。ところがところが、それでも回線速度は 無料という、なかなか太っ腹なサービスです。これに惹か まったく改善されす、 4Mbps に届くかどうかという状態 れて、私はすぐに申し込んでしまいました。 のままでした。 機材カ垤リ着 S0-net フォン So-net から登録 : 伏冫兄を知らせるメールが 2 回ほど届き、 しばらく悲しがったり悔しがったりしていましたが、 12 勝手に気分を盛り上げているうちに、 1 月中旬になんの前 月の初めに加入しているプロバイダ (So-net) から、、無科 触れもなく、 V 。 IP 機能付き TA か宅配便で酒当土されまし の VoIP 試験サービスを始める " という知らせがありまし た ( 写真 3 ) 。 0 パッケージを開けると、 V 。 IP 機能付き TA (NECIV- 「ここは気分を変えて VoIP に羽餓してみよ。なんといっ 110SN ) と AC アタフ。夕、ケープル、マニュアルなどが てもタダやし」 入っていました ( 写真 4 ) 。さっそく接続、・・・・・・いや、そ の前に分解してみましよう。 この、、 S 。 - net フォン " は次のようなサーピスですにの この TA は小ぶりで、 ADSL モデムとはは 1 司し大きさ 試験サービスへの申込み受付けはすでに終了しています ) 。 です ( 写真 5 ) 。前面には状態を示す LED があり、背面 現在使っている電話機を、 V 。 IP 機能付きの TA (TeIe- には Ethernet や電話のインターフェイスなどが付いてい phony Adapter) または ADSL モデムに接続すること ます ( 写真 6 ) 。 により、音声通言劼ゞ可能になる。 なかを開けると、緑色の基板か朋 t ます ( 写真 7 ) 。右下 に見える、 Motorola のロゴマークカ寸いた LSI の型番は ・ IP 網を使うため、従来の電話よりも通言辞トカ鮟い。 124 UNIX MAGAZINE 2003.3
ASCII 好評発売中 ! ネットワーク・ テクノロジー - 町師計計齟℃第一 いときは役に立たない。 そのため、開始したいサービスを指定してシステムを立 ち上げられるように systemstarter を改良する作業カ められている。たとえは、、、 Network " というサーピスの 開始を要求するとネットワークの使用に必要なすべてのサ ービスか開始されるが、そオび 19 トのサービスは開始されな い。 SystemStarter は依存性グラフをもとに、指定され たサービスの前提条件を判断する。次に、必要な項目だけ お尺し、 startup ltem の一にをもとにオ剽售のスタート アップ・シーケンスを実行する。 依存性グラフを利用すれば、論理的なシャットダウン・ シーケンスを提供することも可能である。 SystemStarter は、依存性グラフを起動とは逆方向に遡り、各スクリプト を、、 st 叩 " という引数で実行する。これにより、先行する スクリプトが停」 E する前に、依存性のあるスクリプトが停 止される。、、 Netw 。 rk " サービスは、ネットワークが必要 なすべてのサーピスを終了したあと、システムのネットワ ーク・インターフェイスを停止する。 ネットワーク 一アクノロ。シー ハ、 ORK TECH トに X00E5 え ・播ロ陽ー著 ・ A5 判、 448 ペーシ ・ ISBN 4-7561-4092-0 ・本体 3 , 500 円 + 税 技術の“心”が分かる本 ネットワーク技術者必携 ! 技術には、かならず核心となる部分があります。これ を理解しているかが、その技術を使いこなせるかどう かの分かれ目といえるでしよう。 本書では、現在のインターネットを支えるさまざまな 技術について、開発の背景から、原理、応用まで、 数多くの図版を用いて詳細に解説します。 目次から 1 章 Ethernet 2 章リピータ、ブリッジ、スイッチ 3 章スパニングッリー 4 章 VLAN 5 章経路制御の基礎 6 章経路検索アルゴリズム 7 章 ATM 8 章 UNI シグナリング 9 章 LANE と MPOA 10 章アドレス変換ーー NAT と旧 masquerade 1 1 章 ADSL 参考文献 / 索引 / 英和用語対照表 株式会社アスキー ネットワーク技術者必 インターネットをする E せ■ 1 ・ t 、一、 ATM 、 x ロ靆 . 、 NAT などーについて、その プロセス間通信 従来のスタートアップ・シーケンスでは、言当求やテンヾッ グなどのために、起動スクリプトがコンソールやログにメ ッセージを出力する。しかし、グラフィカルなプートの場 合は、ーサーに状況を知らせるメッセージを ( 簡潔に ) 表示したほうがよい。起動スクリプトが SystemStarter にメッセージを送信し、グラフィカルなプートの際にそれ らを表小するために、 IPC (Inter-Process Communi- cation : プロセス間通信 ) の仕組みカ躾装されている。 スタートアップ・シーケンスでは、 SystemStarter は 指定された Mach ポートでメッセージが届くのを待つ。 メッセージは、引数とメッセージの不亟頁を指定した XML プロバティリストで構成される。起動スクリプトか用意さ れたツールを使って SystemStarter にメッセージを送信 すると、それか画面上に表示される。各メッセージには、 メッセージの発信元の Startup ltem を特定するトークン が含まれている。 SystemStarter は、各 Startup ltem に用意されているローカライス辭書にもとづき、メッセー ジのローカライズを試みる。最後に、ローカライズされた メッセージ ( ローカライズできない場合はもとのメッセー ジ ) が表示される。 〒 1 60 ー 8584 東京都新宿区信濃町 34 J 日信濃町ビル 出版営業部電話 (08) 5362 ー 3300 119 UNIX MAGAZINE 2003.3
連載 /UNIX Communication Notes—@ 写真 1 シャープの HG-OIS 的なところて阯する新たなセキュリティ技術の開発が急 務であろう。 TV の未来 私は、現在の TV 放送の方式がどうしても好きになれ ない。最大の欲求不満は、、、観たいものが、観たいときに 観られない " ことだ。たとえば、午前 2 時に帰宅した場合、 設定を面倒に感しることもない。 その前日の国内ニュースを報しる番組はすぐには観られな い。あるいは番組表を眺めながら、「あ、この番組は観た とはいえ、ハードディスク・レコーダーを利用する場合 いなあ」と思ったりもするのだが、たいていは出張中だっ にも不閊は残る。 たり仕事をしていたりして、けっきよくは観られないこと たとえば、鋓直操作がいくら簡単になっても、操作自体 のほうが多い。 はハードディスク・レコーダーが目の前になけれはできな つまり、おもしろそうな番組がいくらあっても、私には い。つまり、出張先から自宅のハードディスク・レコー 時間や地理的な制約からはとんど観られない仕組みになっ ダーにインターネット経由でアクセスし、剥回予約をする ているのである。 といったことは簡単にはできないのである。酌されたも のを観る場合も、同様にハードディスク・レコーダーを直 録画をもっと楽に 孑作して、レコーダーに接続された TV モニターて親 この問題は、番組を手軽にかっ間違いなく録画できる方 聴する以タ ) ガ去はない。 法があれば角夬できるにちがいない。その意味で、描丘の ストリーミング機肯功ヾ欲しい ハードディスク・レコーダーには期待するところ大である。 本当は、現在のハードディスク・レコーダーに、イン それは、次のような理由からだ。 ターネット経由の録画設定機能と、インターネット経由で ・磁気テープを使わす、 100 時間近い録画が可能 録画内容を観られるストリーミング機能が組み込まれてい これは大きなメリットである。たとえば、ニュース番組 るものが欲しい。家庭で 20Mbps 以ーヒのプロードノヾンド・ を録画した場合には、たいていはいったん観たら消して サービスカリ用できるようになれば、自宅に設置したピデ しまうだろう。これを磁気テーフ。て録画していると、テ オサーバーから、ある程度の品質の映像を観ることも可能 ープ自体がどんどん劣化していくのは避けられないし、 になる。ということは、すくなくとも技行祕 J には躑寺点で テープの整理もつかなくなってしまう。その点、ハー も十分に実現・可能なのである。事実、このような機能をも ドディスク・レコーダーであれは、テープの劣化を心 つ製品も登場し始めている。 配したり、テーフ。の分委各理に頭を悩ませることがなく たとえば、先日発表されたシャープのハードディスク なる。 録画機能付きホームサーバー「 HG ー 01S 」 ( 写真 1 ) は、 ・ EPG (Electric Program Guide : 電子番組表 ) を使っ まさにこの機能を備えている。インターネットと秀する た簡単な予約インターフェイス AV 製品か販売さオ台めたのは、私のような不岡をもって TV 番組のビデオ録画でもっとも面倒な操作は、録画 いる利用者にはたいへん喜ばしい。 のための設定である。たしかに、 G コードの導入によっ 面倒な作業はなくなれ て予糸鹹作は簡単になったが、それでも辛丿などに掲載 ところで、このような TV 放送利用のスタイル、すな されている G コードを調べ、入力しなければならない。 しかし、 EPG を利用すれば、従来よりも手軽に録画了・ わち、観たい番組をハードディスクに録画し、それを TV 約ができるようになる。このシステムは、これまでの方 モニターやインターネット経由で親聴するという方式は、 式とくらべて格段に改善されたシステムであり、録画の 面倒な作業をすべて利用者側がおこなうことを前提にして いや第一匸 い一 ( し一住 54 UNIX MAGAZINE 2003.3
MwareWorkstatIon 3. 図 10 初期言聢直後の醯 ロ p 鮗感・し p ー」、を ) 厩国いに」 T 新 V を山引 R トね t73 ぉ Po 物聞 1 、「 e を、い第物“朝 0 ー第ヒ隊 00 ~ ・ ICO' 期を、物・を物員レ「 0 仕 TO 引を一 F y ) ・ⅳ k Ad•ter 02P 等日日 0 市引地 P 第 3 山物 i 第丸 NAT Linux の CD-ROM をセットし、 [Power On] ボタンを クリックするだけ、 ・・・なのですが、図 10 をよく見ると、 USB コントローラか勝手に登録されてしまっています。 あっても別にかまいませんが、私は USB デバイスをゲ スト OS で使うつもりはありません。また、ゲスト OS の 設定をあとで変更したい場合もあるでしようから、設定工 デイタ (Configuration Editor) の使い方も紹介してお きましよう。 設定工デイタは既存のゲスト OS の設定を変更するた めのツールで、 VMware の、、 Settings" メニューから、 、 Configuration Editor" お尺すると起動します。言定 工デイタでは、ゲスト OS が使用するデバイスの」助日や削 除など、新規作成ウイザードではできない設定がおこなえ ます。 設定工デイタで設定する項目は、 ・ H ardware ・ Options ・ Advanced の 3 つです。それぞれの未は以下のとおりです。 ・ Hardware タブ ゲスト OS が使用するハードウェアに関する設定をお こないます。 ・ Options タブ ゲスト OS の名前や OS の不頁、ゲスト OS の起動 / UNIX MAGAZINE 2003.3 ・ Advanced タブ 終了時の設定などをおこないます。 ゲスト OS 実彳芋のトラプノ歸斤のためにテンヾッグ情報 を出力させるなど、より高度な実行オプションの言綻を おこないます。 VMware が市式にサポートする OS をゲスト OS とし て使うのであれば、たいていは Hardware タブの設定だ けで - ト分だと思います。和よくおこなう設定として、以 下の 3 点を紹介しておきます。 ・フロッピーディスク・ドライプ ( FDD ) の切断 VMware では、 PC の FDD や CD-ROM ドライプ をゲスト OS が直接使えるだけでなく、 FDD または CD-ROM のイメージファイルを利用することもでき ます。 ゲスト OS の初期設定では、どちらの装置についても、 PC の物理ドライプ (FDD であれば通常は A ドライ フ ) を使うようになっています。これはこれでかまいま せんが、ゲスト OS の起重加こ A ドライプに接続す る (A ドライプをゲスト OS が占有する ) ように設定 されているため、 FDD にフロッヒーが入っていなくて も、ゲスト OS 起重加寺にアクセスしようとして、、ガガ " という音カ島ります。 ゲスト OS を起動するたびに、、ガガガ・・・・・・ " を聞かさ れるのは嫌なので、設定工デイタで FDD に関する設 定を変更します。設定工デイタの Hardware タフ方側 に表示されている、 Floppy Drive ( A : ) " をクリック し、右側にある SXJonnect at power on" という項目 のチェックを外します ( 図 11 ) 。 イ畯なハードウェアの削除 設定工デイタを使って不要なハードウェアを削除する には、設定工デイタの Hardware タブ左側に表示され たハードウェアー覧から、削除したい項目をクリック し、一覧の下に表示されている [Remove] ボタンをク リックします。 すると、、、本当に削除してもよいか ? " という意味のダ イアログ・ウインドウカ俵示されるので、そこで [ OK ] ボタンをクリックすると一覧から消えます。 ・イ反想ディスクの j 助日 使っているイ反想ディスクの容量が足りなくなってきた 場合、既存の仮想ディスクの容量は増やせません。し かし、接続インターフェイスの制限の範囲内であれば、 95
Mware Workstation3. 図 1 新規作成ウィサード 以降では、 VMware の英語版をもとに説明します。日 本語版を使っている人は、適且読み替えてください。ま Se 0 ー 0 Ap 0 旧 C 一れ第・を iO れ Howwould ymaprefer を OC 朝第 0 yot 第れ一 m h を・ ? た、 Windows 版 VMware のインストールは、インス トーラの指示どおりに作業を進めるだけなので、 VMware 物朝叩 t ⅸ 0 0 e an«virtual mach 朝肥 w h 自体はすでにインストールされているものとして話を進め を 00EE31 d ・ c ( れ f い 10 酬 0 心ミ 0 第 ます。 ( キ 0 ) 物を 1 y ば虍を 0 create 8 vrtual mæhizwith にお研斗 0 め 081f 尾 a れー叩ー崩 . M 評 0 Guest OS Kit 0K9 物 is 叩 t 0 0 る一 v ⅱ 20h レ物ー ー′ね d 鮴掲引等ー・可 sys 町 VMware て新たなゲスト OS をインストールするには、 OS 自体のインストールを始める前に、ゲスト OS の不亜頁 や ( 入れ物となる ) イ廨課ディスクなどの設定をおこなわね はなりません。そこでます、 VMware を起動して、、 FiIe" メニューをクリックし、、、 New" →、、 New VirtuaI Ma- chine " という項目を尺します。 すると、ゲスト OS 新規作成ウィサードのウインド ウか現れます ( 図 1 ) 。 3 番目の選択肢である、、 VMware Guest OS Kit" は、設定済みのゲスト OS か求された CD - RO などからインストールするために用意されてい る項目なので、 OS のインストール作業も自分でおこなう 場合は、、 Typical" あるいは、、 Cust 。 m " のいすれかを選 択します。どちらを選ぶかは好みですが、 TypicaI の場合 はゲスト OS に割り当てるメモリやハードディスクのサ イズが、、お任せ " で設疋されてしまうので、最初に細かく 設定しておきたいのなら Custom を選びましよう。もち ろん、 Typical を選んで設定しても、あとで設定パネルを 使って変更できますが、その場合にはディスクの接続イン ターフェイスが SCSI になってしまうので 4 、 IDE にし くま たいのなら Custom を尺したほうがよいでしよう。 ゲスト OS の頁などに関する設定 設定方法として Custom を選んだ場合は、下記の項目 を設定することになります。 Custom を選ぶと、まずゲスト OS の不頁を訊かれま す ( 図 2 ) 。 VMware では、 Windows をはしめ、 Free- 1. ゲスト OS の不頁・名前と嬲里ファイルのオ褓昜所 BSD や Linux などさまざまなゲスト OS をサポートし 2. ゲスト OS に割り当てるメモリ容量 ていますが、今回は Red Hat Linux をインストールす 3. ゲスト OS カイ吏用するネットワーク接続の不頁 るので、 Linux" を選びます。 4. ゲスト OS に割り当てるディスクの不頁や容量 次に、ゲスト OS に付ける名前と、これに関連するファ イル ( 設定ファイルやイ課ディスクファイルなど ) を置く 以降、この順番に沿って説明します。 フォルダのパスを指定します ( 図 3 ) 。デフォルトでは、 4 Typical で設定したゲスト OS のディスク・インターフェイスを IDE ゲスト OS の名前は OS の不鶤頁となり、パスは、、マイド に変史するには彳あする設定パネルを用いていったん SCSI ディスク キュメント *My VirtuaI Machines" というフォルダの を削除し新たに IDE ディスクも助けることになります。 0 料 V ⅵリ引 Mach 第澪鞆 ゲスト OS の設定 mware Next > 図 2 OS の軽頁 C)iå尺 釦・価肥 Op 飜を System ・物に h 叩を mw Ⅲ ~ 心 dm 市 ua ー m 肥 ? uetA' V れし引 M : わ材 Wtzand 0 地 s い算漑猷 system mware x を > く日 k 図 3 ゲスト OS の名前とパスのオ諚 Name 冊 V ⅳ引 Mac ト・ 部リリ引 Machvr.e 3 謝 d V れ machinename d ロ 3 F 、 V 、 6 \ R ぉ dH 73 91 UNIX MAGAZINE 2003.3
238 239 240 242 243 連載 / IPv6 の実装ー⑩ return ( ー 1 ) ; m—freem(m) ; IN6_IS_ADDR_V4COMPAT(nextaddr) ) { IN6_IS_ADDR_V4MAPPED(nextaddr) Ⅱ IN6_IS_ADDR_UNSPECIFIED (nextaddr) Ⅱ 244 } い通信を防ぐためのものです。 性があります。このコードは、誤った設定による意図しな グを実施していなければ、フィルタを j 面茴してしまう可能 IPv4 射影アドレスや IPv4 互換アドレスのフィルタリン 法で特定の IPv6 アドレスを遮断していても、対応する 処理系を通過します。たとえば、フィルタリングなどの手 ドレスカ甘旨定されたバケットは、転送の過程で IPv4 の 定されている経路制ヘッダも処理しません。これらのア IPv4 互換アドレス (IPv4 Compatible Address) カ甘旨 理由から IPv4 射影アドレス (IPv4 Mapped Address) 、 ス ) の利用も禁止しています。さらに、セキュリティ上の では、未定義アドレス ( すべてのビットが 0 であるアドレ スとしてマルチキャスト・アドレスは使えません。 KAME レスの正当性チェックです。仕様上、中継ノードのアドレ 237 ~ 244 行目は中継ノードとして指定されているアド goto bad ; IN6_IS_ADDR_V4COMPAT (&ip6—>ip6_dst) ) { IN6_IS_ADDR_V4MAPPED (&ip6—>ip6_dst) Ⅱ ip6-dst) Ⅱ IN6_IS_ADDR_UNSPECIFIED (&ip6—> ip6-dst) Ⅱ 245 if (IN6—IS_ADDR_MULTICAST(&ip6—> 248 247 246 251 } 250 258 if ( (ifa = ip6_getdstifaddr (m) ) = = NULL) 終点アドレスと次の中継ノードアドレスの交換 います。 チェックです。 237 ~ 244 行目と同様のチェックをおこな 245 ~ 251 行目は IP バケットの終点アドレスの正当性 267 next_sa. sin6_addr = *nextaddr ・ next-sa は次の中継ノードを示す sockaddr-in6 構造体 てす。経路制御ヘッダから取り出した nextaddr にはアド レスの情報しかないので、不足しているスコープ情報を補 わなければなりません。必要な情報を sockaddr-in6 構造 体にオ内していきます。 268 if (in6—addr2zoneid(ifa—>ia_ifp , nextaddr 270 &next—sa. sin6—scope—id)) { goto bad; 271 } 次の中継ノードのスコープは、バケットを受信したアド レスのスコープと同一になります。 268 行目では、 258 行 目で取得した受信アドレスの情報 ifa を使って、次の中継 ノードのスコープ情報を決定します。 272 if (in6_embedscope (&next_sa. sin6_addr 275 &next-sa) ) { goto bad ; 276 } 272 行目は、アドレスの一部にスコーフ精報を埋め込む ための定型処理てす。 277 if ( ! ip6_setpktaddrs (), NULL , &next_sa)) 278 goto bad ; 以 .. ヒでスコープ情報を含む中継ノードアドレスか完成し ました。このアドレスか新しい終点アドレスになります。 277 行目で、 ip6-setpktaddrs() を使って次の中継ノー ドのアドレスを終点アドレスに設定します。 283 tmpaddr = *nextaddr ; 284 *nextaddr = ip6—>ip6—dst ; 285 ip6->ip6—dst = tmpaddr ; 283 ~ 285 行目で、経路制脚ヘッダの中継ノードのアド レスと、 IP ヘッダの終点アドレスを交換します。 259 goto bad ; 293 296 301 } ip6-forward(), 1 ) ; return ( ー 1 ) ; ip6-getdstifaddr() は、 IP ノヾケットの終点アドレスに 対応するインターフェイス・アドレスを in6-ifaddr 構造 体で返す関数です。この情報は、次の中継ノードのスコー フ 3 辭にを決定するために必要になります。 264 265 266 70 bzero(&next—sa, sizeof(next—sa) ) ; next—sa. sin6—famiIy = AF_INET6 ; next_sa. sin6_len = sizeof (next_sa) ; アドレスか交換されたバケットはもはや自分宛ではない ので、 293 行目で ip6-forward() を使って転送します。 転送されたバケットは ip6-forward() の内部で解放され ます。 UNIX MAGAZINE 2003.3