今月は、 Mac OS X の UNIX 的な操作の話題について 紹介します。 ・ Mac OS X の UNIX らしさ 巧・ sys. mac. os-x に、「 Opening hidden files/ 隠しファ イルを開く」というタイトルの記事が投稿されました。 れは、 Mac OS X の Finder で、 . " で始まるいわゆる隠 しファイルを表示したり開いたりする方法はあるのでしょ うか、 Terminal から open コマンドを使えは凋けますが、 Finder から直接開ければアプリケーションにドラッグで きるし、そのほうが Mac らしいのではないでしようか、と いう質問記事です。 こ存じのように、 Mac OS は X から UNIX べースの OS となりましたが、デスクトップやメニュー、フォルダな どの外見や操作感は UNIX であることを感じさせません。 そのため、 UNIX OS として使おうとすると逆に工夫が必 要な場合もあり、今回の質問の内容もその 1 っといえるで しよう。 デスクトップと Finder この質問に対して、 Terminal から、、 defaults write com ・ apple.finder AppleShowAllFiIes on ' を実行し、 Finder を再起動するか、面倒なら Mac をリプートすれ ー邸しファイルが表示されるようになる、この設疋変更は 全フォルダに適用される、 Finder を再起動 3- るには Com- mand 十 Option 十 Esc キーを押して、、アプリケーションの 強制終了 " から Finder を選択すればよい、その場合ボタン が、、再度開く " という表示に切り替わるが実際には強制終 了であり、 Finder の状態カ皮棄されてしまうのでお勧め できない、 Mac らしい方法としては AppleScript などを 使って Finder に quit イベントを送るか、 TinkerTool で Finder に cmd 十 Q を割り当てる方法がある、 quit イベ ントは Terminal から、 osascript —e 'tell application ” Finder ” to quit"' を実行することでも送れる、、、面倒な 場合 " はリプートまでしなくてもログアウトしてログイン しなおせばよい、といったフォローがきました。 みるく UNIX MAGAZ 工 NE 2004.9 UNIX 的な実現方法 F ⅲ der のフォルダ・ウインドウ内に、、隠しファイル " を 表示させるには、 Finder そのものの設定変更が必要とな るため、一殳的な UNIX の操作では実現できません。し かし、設定を変更した Finder の再起動は、前述のような Mac OS 的な方法だけでなく、 UNIX の流儀でおこなう ことができます。 Finder の停止には、 UNIX でプロセスを終了させる一 般的な方法である、 ps でプロセスを確認し、 kill コマンド で PID を指定して停止シグナルを送る " カ駛えます。もち ろんこれには Terminal カ琵、要ですが、 Terminal さえ開 いてしまえば、停止だけでなくコマンドラインからパスを 指定して Finder を起動することもできます。ただし、起 動の際にコマンドラインから指定するのは、 Finder のフォ ルダ・ウインドウに表示される、、 F ⅲ der " ではありません。 じつは UNIX のシェルからみるとこれは Finder. app と いうディレクトリになっていて、そのなかに収納されてい るプログラムの実体を指定することになります。 さらに、コマンドラインから単純に Finder を起動する と、そのままフォアグラウンドで稼動し続けてシェルのプ ロンプトが戻ってきません。しかし、 Ctrl 十 z で Finder のプロセスを一時停止して、 bg コマンドでバックグラウ ンド稼動に切り替えることで、その後も Terminal を利用 することができます。 Ctrl 十 Z で一時停止した状態のとき にマウスで各ウインドウを操作しても反応がありませんが、 bg を実行するとすぐに応答カ弡ってくるようになります。 やはり UNIX Mac OS X は Terminal を使わずにいると UNIX べー スであることをあまり感じませんが、今回の話題のように ファイルを表示できるようにしたり、 Terminal からコ マンドを実行したり、 ps でプロセス一覧を表示したり、 kill で停止させたり、パスを指定してアプリケーションを起動 させたりすると、やはり UNIX なのだと感じます。 ・今月の話題から ( 2004 年 7 月 16 日現在 ) Newsgroups: . news. group . news. miSC, questions.fj Subject: [*FINAL* Announce] [CFV] NGMP Revi- sion ( 2004.6.24 ) 巧でニュースグループを作成 / 削除するときの手続きや、 129
図 24 pg-hba. conf と postgresql. conf の修正 ・ pg-hba. conf ( 下線部を追加し、 192.168.0.0 / 24 に対するアクセスを許可する ) 244 : 10Ca1 245 : host host al 1 a11 a11 127 . 0 . 0 . 1 192 . 168.0.0 ・ postgresql.conf ( 26 行目を下線部のように変更し、 trust trust trust ネットワーク・ソケットからの接続を許可する ) 255 .255 . 255 . 0 255 .255 . 255 .255 24 : # 25 : # Connection Parameters 26 : #tcpip—socket ↓ ( 変更 ) tcpip—socket 27 : #ssl false 28 : false true いすれのファイルもデータ・ディレクトリにの例では /usr/local/pgsql/data) にあります。 場合によってはユーザーを作成する必要があるかもし れません。このあたりの詳細は割愛する 9 ので、解説書や PostgreSQL の Web ページ 10 などを参照してください。 こでは、もう 1 つ最低限必要なアクセス・コントロー ルを修正しておきます。 Movable Type などの一部のツ ールは、たとえ同一ホスト上であっても UNIX ドメイン を使わずに通信します。そのため、 pg-hba ・ conf と post- gresql.conf の修正が必要になります ( 図 24 ) 。この例で は LAN ( 192.168.0.0 / 24 ) からの接続はすべて信頼でき ることにしていますが、不要なアクセスを排除したいので あれば、特定のユーザーだけにもっと狭い範囲のデータベ ース・セットへのアクセスを許可すべきでしよう。修正が すんだら、 postmaster を ( 直接または pg-ctl から ) 再起 動してください。 なお、データベースのスーパーユーザーは PostgreSQL をインストールしたときのユーザーになるので注意してく ださい。図 23 の例ではユーザー、、 fo 。 " でインストールし ていますが、このユーザーはデータベースに対するあらゆ ■ perl 用の DBI/DBD モジュールの導入 てより安全になるでしよう。 べースのスーパーユーザー専用にすると、権限を分離でき 必要に応じて postgres などのユーザーを作り、データ る操作が可能です。 UNIX MAGAZ 工 NE 2004.9 11 http://search.cpan ・ org/ 10 http://www.postgresql•jp/ 9 詳しく説明しだすと 1 冊の本カ書けてしまいます。 ら DBI と DBD::Pg を導入します。なお、 perl から PostgreSQL を使用するために、 CPANII か この作業には ActivePerI ではなく SFU の UNIX Perl を使用します。 まだ導入していない場合は、コントロール・パネル→プログ ラムの追加と削除→ Microsoft Windows Services for UNIX の順でメンテナンス・ウイザードを起動し、ユー ティリティの下にある UNIXPerl を追加します ( 図 25 ) 。 DBI と DBD::Pg の最新版は執筆時点では DBI ー 1.43 と DBD-Pg-1.32 ですが、 Perl 5.8 以降が対象なので、 Perl 5.6.1 がインストールされる SFU 上ではうまくビル ドできません。すこし旧いのですが、 DBI ー 1.23 と DBD- Pg ー 1.10 を使うことにします。 CPAN で旧いバージョン を探すときは、 1. 探しているモジュールの名前の一部 (DBI など ) を検索 ポックスに入力 2. 検索結果の画面にあるプルダウンリストを選択して開く ( 図 26 ) 3. 目的のバージョンを選んだら [Goto] ボタンを押す とします。これで、、 This ReIease" というエントリが指定 されたバージョンに変わるので、 [DownIoad] を押せばそ のバージョンをダウンロードできます。 ビルドは DBI 、 DBD : : Pg の順におこないます。とくに 難しいところはないのですが、 DBD::Pg は PostgreSQL と ( ちょっとトリッキーですが ) OpenSSL のライプラリ の位置を指示してやる必要があります。図 27 のようにビ ルドとインストールをおこなってください。 ■ Blog ページの作成 SixApart のサイト 12 から、 MovableType 3.0 卩 3 の 12 http://www.movabletype ・ jp/ 167
特集プログラミンクの次の一歩 といった、プログラミングの初こ、者から一歩抜け出して、次 図 1 SoIaris のアドレス (32bit) のステップに進みたい人を想定しています。 4G B OXFFFFFFFF 今回は、例としておもに OS は Solaris を、プログラミ ング言語としては C 言語を使って説明します。ただし、お およその概念はほかの OS や言語の場合にも共通するとこ ろがあるはずです。 アドレス空間 メモリ管理の具体的な話に入る前に、、、 UNIX のアプリ ケーション " がどのような環境で動いているかをみておき ましよう。 言でいってしまえば、 イ磨誤メモリとは、 実際の物理メモリ空間以上のイ反想アドレス空間を作りだ 複数のイ反想アドレス空間を作りだす 技術といえるでしよう。 アプリケーション・プログラムを書いているときに、物 は、各プロセスごとにこの 4GB の仮想アドレス空間カ吏 理メモリと仮想メモリがどのように関連づけられているか えます。とはいっても、この 4GB の空間を自由気ままに を気にすることはあまりないと思います。この種の技術の 利用できるわけではなく、プログラムの部分ごとに割り当 細については、書籍や Web サイトで解説されているの てられる場所が決まっています。どのように割り当てられ で、卿未のある人はそちらを参照してください。 こでは、 るのかは OS によって若干異なりますが、こでは Solaris アプリケーション ( プログラム ) を書く立場から仮想メモ の場合を例に説明します。 リを眺めてみましよう。 Solaris のアドレス空間は、図 1 のようになっています。 この場合に重要なのは、アプリケーションカ働いている まずは、この図の未からみていきましよう。 アドレス空間についての知識でしよう。もちろん、プログ ラミングを勉強し始めたばかりのころは言語そのものを学 私たちがプログラムを書くときは、通常は C や Java ぶので手一杯だと思います。しかし、その次の段階として、 などのいわゆる高級言語と呼ばれる言語を使います。そし 自分の作成したプログラムがどのような環境で動いている て、これをコンパイル、リンクすることによって、、実行形 かを理解することはたいへん重要です。なによりも、この 式 " という実行可能なファイルに変換します。この実行形 ようなことを理解しているのといないのとでは、プログラ 式ファイルのフォーマットも OS によっていくつか種類が ありますが 2 、大雑把にいってしまうと、プログラムの、、テ ムの言気 t やデバッグ作業の効率が大きく違ってきます。 キスト領域 " と、、データ領域 " カ陬められています。 UNIX のアドレス空間 プログラムのテキスト領域 ( テキスト・セグメント ) と 仮想メモリ技術のおかげで、私たちが書くアプリケー はプログラム本体のことで、たとえばプログラムのなかで ション・プログラムは 4GB (0—OxFFFFFFFF=232) printf 関数を呼び出していれば、この printf 関数への呼 の広さのアドレス空間 1 を使うことができます。 UNIX で 2 以前は a. out 廾なにとよれるものが主流でしたが、丘は ELF 丿方にのほ うが多くなってきました。これらがどのようなフォーマットなのか興床があ 1 "4GB の広さのアドレス空間 " というのは、 32bit のコンピュータの場合 で。 64bit コンピュータでは、 264 ぶんのアドレス空間があります。 る方は、 man a. out または man elf などとしてみてください。 スタック 共有ライブラリ ( テータ ) 共有ライブラリ ( テキスト ) 共有ライブラリ ( テータ ) 共有ライブラリ ( テキスト ) ヒープ テータセグメント テキスト・セグメント す 1 三ロ 25 UNIX MAGAZINE 2004.9
58 : 59 : 60 : 61 : 図 20 403 : 404 : 405 : 406 : 407 図 19 src/bin/psql/Makefile 窈修正点下線部を削除 ) psql : $ (OBJS) $(libpq_builddir)/libpq ・ a $(CC) -static $(CFLAGS) $(OBJS) $(libpq) $(LDFLAGS) $(LIBS) ー 0 $@ help . 0 : $(srcdir)/sql—help. h src/backend/libpq/pqcomm. c 窈修正点 ( 404 行目を下線部のように変更 ) #ifdef SCO_ACCEPT_BUG ↓ ( 変更 ) #if defined(SCO—ACCEPT_BUG) Ⅱ defined(--INTERIX) * UnixWare 7 十 and OpenServer 5 . 0.4 are known tO have this bug , but i t 404 行目の ifdef に、 --INTERIX の場合を j 助日します。直後のコメントにあるような SCO UnixWare のバグは lnterix 3. x にもあります。ソケット関 連のいくっカバグ ( というより仕様 ) は UnixWare と lnterix では似ています。ここを修正しないと pg-hba. conf カ症しく機能しません。 図 21 src/interfaces/libpq/fe-misc. c びメ修正点 ( 下線部 おロ ) 249 : } 250 : #ifdef _INTERIX # include く bind/arpa/inet . れ > #endif / * INTERIX * / 251 : / * 252 : * pgGetInt /usr/local/include/bind/arpa/inet. h にある ntohs/ntohl の定 義を取り込まないと pgGetInt() カ澗違ったデータサイズを返し、通信カ皸 綻します。 はそのままでビルドすらできません ( いったい誰が検証し ているのでしよう・ ) 。動かなくては話にならないので、 せっせとバグを探しました。 バグは 3 カ所にあります。 1 つはビルド時のもので、 psql をビルドできないというものです。 libdl を使うので すが、 SFU には libdl.a がありません。 psql を—static でビルドすることはできないのに、 Makefile は—static でビルドするようになっています。この問題を図 19 のよ うに修正して回避すればビルドできます。 ビルドはできても、このままではデータベースカ駛いも のになりません。図 20 ~ 21 のように、サーバー側とフロ ントエンド側でバグを修正しなければなりません。バック 工ンド側では、 UNIX ドメインソケットの使用時に、 ac- cept() が sockaddr 構造体の sa-family に AF-UNIX を正しく設定せずに 0 を返すので、これを本来あるべき AF-UNIX に置き換えるように修正します ( 同様の問題は UnixWare にもあるらしく、その対策コードがあるのでこ れを利用します ) 。 pg-hba. conf によるアクセス制御では、 AF ー UNIX が返らないとローカルからのアクセスとみなさ れません。そのためローカルに関するアクセス制御が働か UN 工 X MAGAZINE 2004.9 なくなり、結果としてアクセス不能になります。 また、フロントエンド側では、サーバーとデータ交換をす る部分で、メッセージの長さなどを取得する pgGetInt() が利用する ntohs() 関数のプロトタイプが正しく読み込 まれないことが分かりました。そのため、コンパイル時 に正しいキャストが挿入されず、結果として誤ったデー タ長を返し、くるはずのないデータを延々と待ち続ける という状態に陥ってしまいます。これは、図 21 のように /usr/local/include/bind/arpa/inet. h を読み込ませる ことで対処できます。 なお、 postmaster や psql などのコマンドを動作させる には、 LD-LIBRARY-PATH に /usr/local/pgsql/lib が含まれている必要があります。 . bashrc や . cshrc に修正 を加えておきましよう。修正したら、再読込みを忘れない でください ( 図 22 ) 。 以上の修正を加えることで、 PostgreSQL か動作するよ うになります。 PostgreSQL の設定 ■ SSH と同様に、 PostgreSQL はインストールしただ けでは利用できません。データベースを初期化して、実際 に使うデータベースを作成しなければならないからです。 とりあえず、データベースの置き場所として /usr/local/ pgsql/data を使用することにします 8 。ここにデータベ ースを置くように初期化し、次にサーバーを起動して、最 後にデータベースを作成します ( 図 23 ) 。 8 /var/lib/pgsql/data や /var/spool/pgsql/data などでもかま いません。 165
イルへの変換が必要なようで、その際に音声がなくなって しまう、という補足記事力甘高されました。 これに対してさらに、 Mac OS X は UNIX べースな ので、 MPEG-I から MOV への変換に MPlayer (men- coder) などの UNIX 用のツールカ駛えるのではないか、 動画編集については UNIX 環境は Windows や Mac に くらべてかなり貧弱といえるため、無理に UNIX 系のも のを探す必要はないだろう、 Mac 上で MPEG ファイル の切り貼りができる mpgtx というツールがある、これで も同様に音声がなくなる現象カ起きた、 Mac OS X では どうなのか正確に把握していないが、 Mac OS 9 までの QuickTime は MPEG-I の書出しに対応しておらず、書 き出そうとすると音声が消えてしまう、そのため Quick- Time を使っているかぎりどのようなアプリケーションで もファイルの連結をおこなうと音声が失われる、自分の環 境では mpgtx を使ってソニーのデジタルカメラで撮影し た MPEG-I 動画をきちんとつなぐことができた、といっ たフォローがきて、元記事の投稿者から、以前に失敗した 原因は不明だが、あらためて試してみたら mpgtx で問題 なく結合できた、という報告記事が孑高されました。 Newsgroups: . comp. input-method . kanji Subject: 誤変換コンテスト Web のニュースサイトで知ったのですが、日本漢字能 カ検定協会カ飄変換のコンテストを始めたそうで、最優秀 賞は、、年間変漢賞 " だそうです。誤変換に関する Web サ イトはたくさんありますが、それらの立場はどうなるので しようか、という報告およひ感想記事です。 現時点では日本漢字能力検定協会の Web サイトのトッ プページ 2 にそのコンテスト、、変漢ミスコンテスト " のサイ ト 3 へのリンクが貼ってありますが、それによると毎月変 換ミスの作品を募集して、応募作品のなかからエントリ作 品を選出し、オンライン投票で優秀作品を決めるそうです。 第 1 回の応募期間は 7 月 1 日から 31 日までで、 8 月 15 日から応募作品へのオンライン投票ができるようにな るとのことです。投票数の多い優秀作品には毎月賞品が出 て、 1 年間でもっとも優秀だった作品には、、年間変漢賞 " が UNIX MAGAZ 工 NE 2004.9 3 https://www.challenge-net ・ jp/henkan/ 2 http://www.kanken.or ・ jp/ 贈られるそうです。 Newsgroups. questions.misc Subject: 対旨数あるいは温度湿度指数 対旨数の値は華氏表示の気温の数値に相当するものだ と思っていましたが、 Web で検索してもそのことに言及し ている解説はみつかりませんでした。不一対旨数または温度 湿度指数が、統言から得られた不央さの度合いだけでなく、 気温相当の目安であることを説明している Web サイトは ないでしようか、という質問記事です。 これに対して、、華氏の気品に相当する目安 " という解釈 が間違っているのではないか、不一対旨数は温度と湿度をも とに計算されるが、もともと米国で導き出された式なので 日本人にそのまま適用できるのかは不明という説明があっ た、なぜ米国では適用できるのかという点に疑問を感じる、 摂氏温度での言 1 式 4 、 DI = 0.81T 十 0.01 ( 0.99T ー 14.3 ) 十 46.3 を華氏表示 (F = 1.8T + 32 ) に直し、 DI = 0.45F 十 0.01 ( 0.55F ー 31.9 ) 十 31.9 さらにすこし変形してみると、 DI = F ー ( 100 ー ) ( 0.0055F ー 0.319 ) となり、湿度が 100 % のときに対旨数の値と華氏温度の 数値が一致するように定義されている、湿度が - ドがったと きにどれだけ不一対旨数がドがるのかは経験値または統言 t か らの導出なのだろう、乾球温度と湿球温度を使った別の計 算式、 DI = 0.72 ( DC 十 (C) 十 40.6 DI = 0.4 ( DF 十↓ F ) 十 15 だと華氏表示がきりのよい数字を使ったものになる、この 式で係数に単位がないことから、不 1 対旨数の単位は温度と 考えられるのではないか、 2 種類の式は不一対旨数が同じ値 にならないのではないか、といったフォローがきました。 ・今月の . archives. * ダイジェスト Newsgroups: 月 . archives. documents, fj.comp.lang. misc, 」 apan. comp.lang. misc Subject. comments-in-computer-languages vl. 26 各種のプログラム言語や設疋ファイル、データファイル などの、、コメント ( 注釈 ) " の表記方法一覧の最新版です。 4 DI : 不旨数、 T : 摂氏品度、〃 : 湿度、 F : 華氏品度、 DC : 物戞氏 温度、 DF : 卓長華氏品度、 WC : 湿現氏品度、 WF : 湿球華飃鼠度 133
時代 。ガラ—ページプリシタガイド .. MICROLINE 5400 ・プリント方式 : LED 方式・解像度 : 1200X600dPi ・用紙サイス : ハガキ ~ 最大 1200X215.9mm ・給紙 : 様準 400 枚、最大 930 枚・インタフェース : バラレル、 Ethernet 、 USB Windows や IJN Ⅸ山 nux のマルチ OS 環境で抜群の「使いやすさ」を実現 ! オフィスで活躍するカラープリンタに求められる機能は、ずばり「柔軟性」である。導入しやすい本体価格と低ランニングコスト、様々な用 紙への対応など、 SOHO から大規模オフィスまで、様々な利用シーンで活躍できる理想的なプリンタが「 MICRO 凵 NE 5400 」だ。 コンバクトボディ Windows や UNIX 、 Linux などの 「さっと使える」プリンタ マルチ OS 環境での使い勝手が抜群 沖データの高機能 A4 対応力ラープリンタ「 MICROLINE 5400 」。 2002 年 オフィスでは基本ソフトとして Windows だけに限らす、 UNIX や Linux も に発売され、全世界で累計約 12 万台の販売実績を挙げた「 NHCROLINE 51 、 利用され、マルチ OS 環境でシステムが構築されるケースも増えてきている。 「 MICROLINE 53 側」の後継機種である。従来機種と比べて更なる高速化 「 MICROLINE 54 」ではプリンタ言語に PostScript3 工ミュレーション と高機能化が図られているのが大きな魅力だ と PCL5c 工ミュレーションを採用。 Windows や Macintosh をはじめ、 UNIX まず、コンパクトなボディに目をひかれる。外形寸法 425 ( w ) X561 ( D ) や Linux といった環境下でも快適にプリントできる。あわせて、沖データ X345 ( H ) mm 、本体重量わすか約 20.4Kg ( 消耗品含まず ) と軽量化を実現し、 では、 U n i x や L i n u x 環境でのプリンタ利用において、 W i n d 0 w s や SOHO や小規模なオフィスでも置き場所に困らない。シンプルなデザイン Macintosh 環境と同等の使い勝手を提供するソフトウェア「 MICROLINE ともあいまって、デスクサイドに置いて気軽に使えるプリンタといえるだ Unix Printing System 」をリリースしている。このソフトを利用すれば、 ろう。もちろん、そのコンパクトボディには高機能が凝縮されている。フ Windows や Macintosh のようにグラフィカルで直感的に操作できるユーザ ルカラーで 16 枚 / 分 ( A4 コピーモード時 ) 、モノクロで 24 枚 / 分 ( A4 コピー インタフェースで「 MICROLINE 5400 」を使いこなせる。両面印刷機能や モード時 ) の高速プリントが可能。「必要なときにさっと使えるプリンタ」 カラーマッチング機能など、従来は指定できなかったプリンタの各種固有 に仕上がっている。プリントのクオリテイも解像度 1200X600dPi を実現。 機能も UNIX や L ⅲ ux 環境で利用可能となり、プリンタごとに特別なフィル フルカラー 1677 万色で高品位にプリントできる。ハガキや OHP シートから タなどを用意する必要がなくなるのだ。もちろん、 PostScript 書体として、 最大 1200X215.9mm の長尺用紙まで、様々な用紙へのプリントが可能なほ 日本語 2 書体 ( 平成明朝体 W3 、平成角ゴシック体 W5 ) と欧文 136 書体が内 か、オプションでフルカラー自動両面プリントにも対応。オプショントレ 蔵されている。 イを増設すれば最大 930 枚までの連続給紙も可能なので大量に必要な資料 一方、コスト面でのメリットも見逃せない。標準価格 20 万円以下という導 などをプリントする場合でも途中で給紙をする手間が省ける。また、 入しやすい製品価格に加えて、カラー約 12.5 円・モノクロ約 2.9 円 ( A4 サイ ( 注 ズ、 5 % 印刷密度 ) と低ランニングコスト。認証印刷機能やバッファ印刷機 TCP/IP や NetWare 、 EtherTalk 、 NetBEUI などのマルチプロトコルにも ( 注 対応。インターネット経由で柔軟なプリント環境を提供する IPP(Internet 能など、さらに多彩な機能を使いこなすことができるほか、製本印刷 ( オプ printing protocol) もサポート。オフィス内でネットワークプリンタとして ションの両面印刷ユニット搭載時 ) 、フィット・トウー・ページ印刷、ポス 利用する場合や、個人のデスクサイドでローカルプリンタとしての利用シー ター印刷など、オフィスでの利用を想定した様々な「便利な」機能も備えて ンを想定し、 Ethernet はもちろん、 USB (Hi-speed USB) やパラレルイン いる。標準で Hi-Speed USB ( USB2.0 ) 、 IEEE1284 、 IOOBase-TX/10Base- タフェースも標準でサポート。使い勝手に優れているのが魅力だ。 T のインタフェースを装備しオフィスでの使い勝手も高い。 ( 注 : オプションのハードディスクが必要です。 P 府だ SPOT 〃 G, 〃 ・カラー 1 6 ページ / 分、モノクロ 24 ページ / 分の高速印新 ・重さ 20.4Kg 。小量・軽量で設置や移動が手軽 ・ Windows 、 Macintosh 、 UNIX 、凵 nux のマルチ OS に対応 ( 注 ( 注 ・認証印第機能やバッファ印機能などの多彩な機能 ・製品名 : MICROLINE 5400 ・標準価格 : 19 万 7400 円 ( 税込 ) ・問い合わせ先 : 0120 ・ 65 生 632 も太鼓判 ! せてあな、 気になるコストもスビ . すべて包括 ! 沖データ ・オプションの両面印刷ユニットを装着することで、カラー毎 分 1 3 ページ、モノクロ毎分 1 9 ページの自動両面印刷か可 能。カスタムサイズの用紙への印刷にも対応しているた め、小さくても高度なカラー利用が可能になり、幅広いドキ ュメントを作成することができる。 ※両面印刷を行う場合は 64MB ( オプション ) のメモリ増設を推奨。 提供 / 沖データ : http:″www.okidata.co.jp/ ・標準トレイで 400 枚まで、オプションのセカンドトレイで 最大 930 枚までの給紙が可能となる。
連載 / ネットワークとセキュリティ 54 ました。 ちょっと旧い Red Hat Linux 7.3 マシンで使えるかどうかを試してみ 1 現在の Fedora Core などでは問題なく動くはすなので、手許にあった durnnet をインストールする方法を説明します 1 。いまの 以下では、 Red Hat Linux 7.3 上でソースコードから ラリをインストールしておく必要があります。 したがって、 dumnet をビルドする前に、これらのライプ ケットの生成に libnet というライプラリを用いています。 dumnet はバケットのキャプチャに libpcap 、応答パ dumnet のコン / ヾイル 順について説明します。 まず、 dumnet のインストールから使い始めるまでの手 dumnet のセットアップ 実感できると思います。 の探索といった行為が、いかに日常的に頻発しているかを dumnet を利用すれば、ワームの感染活動やバックドア 調査できます。 のような種類のワームの攻撃を受けているのかを詳細に に相手から受信したバケットのペイロードも分かり、ど グのセットされた 1 つ目のバケットに加えて、それ以降 トが開かれているかのように振る舞うため、 SYN フラ 容を解析することも可能です。 dumnet は TCP ポー ロトコル・アナライザを用いて、言冢したバケットの内 形式です。 libpcap 形式に対応した Ethereal などのプ できます。保存するファイルのフォーマットは libpcap 受信したバケットをベイロードを含めてファイルに保存 受信したバケットをキャプチャする す。 はすべての TCP ポートが開いているかのようにみえま をセットした応答を返します。これによって、外部から 正しい ACK 値を設疋したうえで SYN—ACK フラグ SYN フラグがセットされた TCP バケットに対しては、 つ ・すべての TCP ポートが開かれているかのように振る舞 ます。 か否かを問わず、そのホストがあるかのように振る舞い 送った先の IP アドレスを使っているホストが実在する ところ、 dumnet か動くのは Linux 上だけです。これは、 Linux のヘッダファイルに依存した書き方がなされている ためです。 *BSD など、ほかの UNIX 系 OS への移植も それほと灘しくないと思われるので、これらの OS への移 植も期待されるところです。 libpcap のインストール ます、バケット・キャプチャ用ライプラリの libpcap を 導入します。多くの Linux ディストリビューションでは、 標準でコンパイル済みバイナリ・パッケージが用意されて いるので、そちらを利用することをお勧めします。 ソースコードからコンパイルする場合は、 1. ソースコードの入手 2. コンパイルとインストール 3. 共有ライプラリの設疋 という手川頁で作業をおこないます。 ソースコードの入手 ます、 ・ http://www.tcpdump.org/ から libpcap のソースコードを入手します ( 執筆時の最新 版は 0.8.3 です ) 。 入手したソースコードを適当なディレクトリで展開しま す。 % tar xvzf 1ibpcap—O . 8 . 3. tar ・ gz コンパイルとインストール ー殳的な UNIX 系アプリケーションと同様、 configure と make を実行します。デフォルトのパラメータをとくに 変更する必要はありません。 % cd 1ibpcap—0.8.3 % . /configure % make % su # make install 共有ライブラリの言 ソースコードから libpcap をインストールした場合は、 /usr/local/lib 以下に共有ライプラリがインストールされ ます。このため、 /etc/ld. so. conf に /usr/local/lib が含 まれているかを確認し、なければ追加してください。 UNIX MAGAZINE 2004.9
イ ン タ フ ェ イ ス の 街 角 増井俊之■ どこでもメモ どこでもメモの要件 最近はモバイル / ュビキタス環境で計算機を使う機会が ・データを安全に確保できる。 追加や修正が簡単におこなえる。 ・情報を簡単に参照できる。 ・いつでもどこでも使える。 めのシステムには次のような機能が必要です。 紹介しました。そのときにも書きましたが、メモをとるた 索できるようにする、、コマンドメール " というシステムを ときでも、携帯電話を使ってアイデアなどをメモしたり検 2004 年 3 月号で、歩いているときや電車に乗っている に、以下の方針を立てることにしました。 な場合にも簡単にメモの読み書きができるようにするため といった、さまざまな状況が考えられます。そこで、どん 電話しか使えない ・ PDA は使える ・ PC やインターネットカ吏える 増えたので、 UNIX MAGAZINE 2004.9 手段は用意する。 携帯電話しカ畤っていない場合でも、最低限のアクセス ・ PDA ではデータのサプセットを持ち歩く。 を利用する。 ・インターネットカ駛えないときは PC のローカルデータ 読み書きする。 ・ PC とインターネットが使えるときは Wiki でデータを 3 月号では、コマンドメールを使って拷電話から Wiki 173 PC 上でのメモ管理 1 http://namazu ・ org/-satoru/unimag/l/ います 1 。言錯誤の結果、高林氏は ChangeLog 形式の 号の「 UNIX のメモ技術」という記事で詳しく考察して このような問題について、高林哲氏は 2002 年 1 月 単一のテキストファイルによるメモ管理 のファイルにメモをとる人が多いようです。 用のメモ・アプリケーションを使ったり、つねに同じ名前 ファイル名を忘れることもあるからです。結果として、専 イル名や分類法を考えるのは大変ですし、苦労して付けた メモをとる場合にはあまりうまくいきません。適切なファ 単純なように思えます。しかし、この方法は、ちょっとした 目ごとに異なるファイルを作ってメモを書くのがもっとも ころでは、内容に応じていくつかのディレクトリを作り、項 ると、完璧なものはなかなかみつかりません。一見したと 活用する方法が書かれていますが、いろいろな条件を考え どという文字列が入っている本を読むと、 PC を情報整理に といってよいほど考えられます。題名に、、情報整理術 " な ーロに、、 PC でメモをとる " といっても、その方法は無限 ト上の Wiki データと同期させる方法を紹介します。 今回は、 PC 上で効率よくメモをとったり、インターネッ いろな工夫ができそうです。 るためにどのようにメモをとるかについても、じつはいろ 方、 PC を利用する場合、ローカルなデータとして保存す データを読み書きする方法について詳しく述べました。
連載 /UNIX Communication Notes 図 5 ・Ⅵハ、サーバー・アクセラレータの設置 クライアント 195 WWW サーバー アクセラレータ れる。したがって、バックエンド・サーバーを地理的に分散 させるという考えが生まれるのも当然である。とくにデー タベース・サーバーでは、地理的な分散によって数多くの 利点が得られる。そのような場合には、 こまでに紹介し たサーバーのクラスタ化と分散化の手法をそのまま適用し、 複数のバックエンド・サーバーを用意する構成にすればよ いだろう。 ・データベース・アクセラレータ データベース・サーバーの手前に置き、データベース・ サーバーでの処理を高速化するための機構である。 ☆ 今回は、最近のサーバー設計の構成法について述べた。 WWW やメール、データベースなどのサーバーは情報共 有の基盤であり、高い信頼性カ腰求される。その意床で、以 上に紹介したいくっかの構成法は、設引者が知っておくべ その他の検討事項 き定石集ともいえる。とくに、負荷分散装置を用いたサー 最近は、数多くのアクセラレータ製品が登場している。 バーのクラスタ化は、現在では当り前といってよい手法で たとえば、 SSL/TLS アクセラレータ、 WWW サーバー ある。もちろん、運用にあたる技術者にとっても、これら アクセラレータなど、既存のサーバーとうまく組み合わせ の知識は重要である。 て使うことで、サービス提供性能を改善しようとするもの 今回は紹介しなかったが、グリッド (Grid) などの新し だ。アクセラレータといっても、それがおこなう処理は多 い分散処理技術も登場してきている。こ 2 ~ 3 年のあい 種多様である。以下に、代表的なものを簡単に紹介してお だに、これらの技術はさらに普及していくと思われる。そ の際には、ここで述べたサーバー構成法とはまったく異な る方法論が考案され、運用についても新たな技術を習得す る必要に迫られるかもしれない。だが、高い性能を維持し、 リスクを回避するために分散化するという道筋から大きく 外れることはないであろう。 ( やまぐち・すぐる奈良先端科オ翅示大学院大学 ) ・ WWW サーバー・アクセラレータ WWW サーバーの内容を変更せずに、 WWW サーバ ーへのアクセス性能を改善するための樹冓。図 5 は、そ の典型的な構成である。多くのアクセラレータが、サー バーサイド・キャッシュ (server side cache) の考え方 によって構築されている。 ・ SSL/TLS アクセラレータ WWW サーバーの手前に設置して、 SSL/TLS の高速 な処理をおこなう。 SSL/TLS の処理をソフトウェアで おこなう場合、暗号化 / 復号がかなり大きなオーバーへ ッドとなる。そこで、この部分の処理をまとめて実行す るアクセラレータも登場している。 44 UNIX MAGAZINE 2004.9
前回に導入した生活環境はいかがでしようか。皆さんの なかには、これをもとに独自の環境を構築して利用してい る方がいるかもしれませんね。 さて、今回からいよいよ、 SFU (Services for UNIX) を利用したサーバー環境の構築にとりかかります。ーロに サーバーといっても漠然としているので、もうすこし具体 的な全体像をもとに、個々のトピックについて説明したい と思います。 ■サーバー環境のデザイン 今回からは、 SFU を使って次の 3 つを提供できるよう ・メールサーノヾー ・リモートアクセス・サー ・ Web サーノヾー にしていきます。 どれもポピュラーなサービスです。自分で用意しなくて ノヾーー Web ページにちょっと画像を置くと 100MB 程度の容 IMAP4 などカ駛えないことが多いと思います。 だったり、リモートシェルが使えなかったり、メールも くらいしかなかったり、それ以上使えても追加料金が必要 サービスを利用したとすると、ディスクの容量が 100MB ることが多いでしよう。とはいえ、たとえばプロバイダの も、プロバイダやレンタルサーバーのサービスを利用でき 154 100GB 以上のものでも 10 , 000 円強で手に入る時イ弋に、な す。量販店で売られているバルク品のハードディスクなら ディスク容量の問題で提供されていないことが多いようで 量はすぐに超えてしまいますし、 IMAP4 も多くの場合は SFU の活用 荒木宏之 んとも釈然としない話です。手許にある自分のマシンを使 えば、これらの問題を簡単にクリアできます。 もちろん、これらのサービスをインターネットに向けて ひろく提供する場合は、アクセスを許可するポートを最小 限に絞り、サーバー・ソフトウェアの脆弱性情報に注意を 払ってメンテナンスし続ける必要があり 1 、面倒といえは面 倒です。しかし、そのようなデメリットを考慮に入れても、 自由にできる環境は魅力的だと思います。 今回は、手始めに Web サーバーを構築し、流行りの Blog (Weblog) システムを動かしてみましよう。また、基 本的に BIog の更新は CGI を通して web プラウザから おこなえますが、メンテナンスなどのために、マシンに直 接ログインしたくなることもあると思います。つねに自宅 にいるのなら問題は少ないのですが、普通はそうはいきま せんから、リモートアクセスのための環境も同時に構築し ます。 今回導入するサーバーとその周辺ツールの一覧を、表 1 にまとめておきます。 ■リモートアクセス・サーピス 作業を円滑に進めるための準備として、最初にリモート アクセス環境を用意します。これにより、出先からでも自 分の環境を操作できるので、時間の合間をみて Web サー バーの導入や管理がおこなえます。また、脆弱性が発見さ れたときにただちにアクセスして、問題を排除することも できるようになります。 1 JPCERT/CC (http://www.jpcert ・ or. jp/) などカ咥表する月鰯弓 ヤ目青報につねに気を配る必要があります。 UNIX MAGAZINE 2004.9