mysql - みる会図書館


検索対象: UNIX MAGAZINE 2001年6月号
10件見つかりました。

1. UNIX MAGAZINE 2001年6月号

連載 /UNIX Communication Notes mysql コマンドで SQL クエリーを発行し、 空のテーフフレのイ乍成 名前のデータベースを作成する。 mysqladmin コマンドを用いて、 ・データベースの作成 にするとよいだろう。 faxcover という send- out" という名前のテープルを作成する。これは、単純に テープルの型宣言 (data type definition) をおこなっ て作成すればよい。 create table faxcover ()d int , SrcOrg SrcDpt SrcPerson SrcTe1 SrcFAX SrcEmai1 DestOrg DestPerson DestTe1 Printer Temp1ate Date Subj ect Message char(200) , char(200) , char(200) , char(200) , char(200) , char ( 200 ) , char ( 200 ) , char(200) , char(200) , char(200) , c ar ( 200 ) , char(200) , char ( 200 ) , text(150)); これで、プログラムを作成する準備か整った。 第 2 版の改造 第 2 版のプログラムを匿して、 MySQL に対応した 第 3 版を作る。データファイルを 1 っすっ作っていたと ころを、すべてデータベースに入力するような形態に変更 すればよい。また、データファイルを読み込んで FAX 送 刊を作成していた部分も、同様にデータベースからの入 出力に変更する。 第 2 版で作成した、フォームを動的に生成するための faxcoverform. cgi は変更しない。一方、 mkfaxcover. cgi については修正が必要になる。第 2 版では、ファイルに 書き出す処理を 1 カ所に集めて言当してあるので、その部 分を書き直せば MySQL に対応できる。図 9 に、変更後 のプログラムの概要を示す。基本は、ファイルに書き出し ていた部分を、 MySQL のデータベースに書き出すところ である。 さらに、 dat2ps プログラムも変更する。これは、デ ータファイルからデータを読み出して送付状を作成し、 PostScript ファイルにするプログラムである。これも、 UNIX MAGAZINE 2001.6 MySQL データベースから読み出すようにする。ただし、 変更はごく簡単なので、読者の楽しみとして残しておくこ とにしよう。 テータベースを使う意義 今回は、 FAX 送付状の作成のような単純な処理でも、 データベースを用いて情報を管理するシステムが作れるこ とを示した。この種のシステムを紹介すると、「こんな単純 な処理にデータベースを使用する意味があるのか ? 」と問 われることが多い。たしかに、 FAX 送イ疆大の作成といっ た単純なシステムにしては大げさかもしれない。しかしな がら、今回示した手法に手を加えていけば、スケジュール 管理や会議室予約システム、プロジェクト進行管理など、 データベースをバックエンドとしたさまざまなサービスに 応用できるはすである。ごく小規模列ではあるが、これ を通してシステムの基本的な使い方を学ぶことが重要だと じ、つ 0 この 3 回で紹介した 3 つのプログラムに共通しているの は、情報が生み出された瞬間からコンピュータ上で扱い、 構造化して管理するという考え方である。情報を整理する 場合、何事であれ、、あとでやろう " と考えていると、うま くいかないことが多い。そこで、情幸肋ゞ生成された時点で 管理する工竟に入れてしまうというのが、今回紹介した手 法の一番の、、ポイント " である。 FAX 送付状という簡単な題材を例に、叫屯なファイル の蓄積からデータベースを使ったガ去まて紹介した。この ようなちょっとしたノウハウが、皆さんの生活改善につな がることを期待している。 ( やまぐち・すぐる奈良先立斗 ! 判支彳た完大学 ) [ 文献 ] [ 1 ] Randy Jay Yarger, George Reese and Tim King, MySQL & mSQL ー〃佖 base ル 7 、 M0derate-Sized 0 四佖れた“ 0 れ s & 怖み eb Sites, O'ReillY & Associates, 1999 ( 邦訳 : 高見禎成、寺田美穂子訳 tMySQL & mSQL 』、 オライリー・ジャパン、 2000 年 ) 59

2. UNIX MAGAZINE 2001年6月号

連載 UNIX Communication Notes— 図 6 データベース中のテーカレー覧を作成する # ! /usr/bin/perl use StriCt ; use DBI; 2. トッフ・ディレクトリに MakefiIe. PL というファイ 156 print ー you can ) t connect tO the database\n" if (not $dbh) { my $dbh = DBI—>connect ( 'DBI :mysql :test—database' ライバも含まれている ) 。インストールは、次の手順でお いうパッケージであるにのパッケージには mSQL 用ド 用の DBD は Msql-MysqI-modules-1.2216. tar. gz と うだが、最啼斤バージョンは 1.15 である。また、 MySQL exit(O) ; print " $—\n" foreach (@tables) { my @tables=$dbh—>func ( ' —ListTab1es ' ) ; exit ( 0 ) ; % perl Makefi1e . PL ルがあることを石信忍し、 1. ダウンロードしたパッケージを展開する。 UNIX MAGAZINE 2001.6 イントを以下にまとめておく。 ってみる。 DBI を使うと、このコードは簡単に作れる。ポ 接続に成功したら、実際のデータを取り出すコードを作 データベースと接続している。 こでは、 DB ト >connect を用いて うまくいっている。 して正しく結果が表示されれば、データベースとの通信は プルをすべて取り出すものである。このプログラムを実行 のプログラムは、接続したデータベースのなかにあるテー 機能を利用して簡単なプログラムを作成してみよう。図 6 DBI と DBD::MySQL をインストールしたら、この PerI プログラムのなかでの利用 なる。 これで、 PerI から↑商にデータベースか扱えるように 5. 、、 make ⅲ sta 『て最糸勺なインストールをおこなう。 4. テストをおこなう ( 多くの場合は make test)o 3. make を実行する。 と実行する。これによって Make 用 e か作られる。 'mypass'); 57 第 3 版の作成 していた。この例を見れば分かるように、必要な情報には めるべき情報を、図 8 のようなデータファイルとして保存 でに第 2 版で終っている。第 2 版では、 FAX 送イ疆大に含 版を作成してみる。データベースを使うための準備は、す 前回に引き続き、 FAX 送付状を作成する CGI の第 3 CGI プログラミングの難しいところだ。 る。これが、データベースをバックエンドとしたときの クエリーをどのように発行するかをよく考える必要があ 発行している。ある程度以七の性能を求めるのなら、 SQL ログラムを見れは分かるように、 SQL クエリーを内部で これらのガ去を用いたプログラムを図 7 に示す。このプ る $tbldata->fetchrow-array を使うカ去である。 もう 1 つは、 1 回にフィールドの値をすべてもってく ルドの値を含む情ゞ生成される。 2. 同様に、 @{$tbIdata->{TYPE}} により、フィー フィールドを集めた情報が生成される。 1.@{$tbIdata->{NAME}} により、データベースの る。 取り出すことができる。たとえば、次のようなものがあ ・データベースに対する検索の結果は、さまざまなガ去で 実際の処理は、 $tbldata->execute で実行される。 を使う。この関数の戻り値が、新たなハンドラになる。 ・ SQL クエリーを送るための準備に $dbh → prepare()

3. UNIX MAGAZINE 2001年6月号

連載 /UNIX Communication Notes— 図 2 データベース 0 % mysqladmin —u root —p drop test—database Enter password: * * * * * * * ←ノヾスワードの入力 % mysqladmin —u て 00t —p drop test—database Enter password: * * * * * * * mysqladmin : DROP DATABASE failed ; error : ' Can ) t drop database 'test_database' Database doesn't exist' なえるようになる。 mysql コマンドの不例 図 3 は、 mysql コマンドの基本的な使い方を示したも のである。 最初に、 MySQL のユーサー名 root を指定して mysql コマンドを起動する。 54 ・ ( セミコロン ) " か、 \ g " を指定する。 すには、 ンド・インタープリタとなる。 SQL クエリーの終りを示 態になると、 mysql は SQL クエリーを直接入力するコマ mysql が正常に起動されてデータベースに接続した状 SQL クエリーを与える を実行すると、 mysql を終了させることができる。 在の状態がより詳しく表示される ( 図 3 ) 。 quit コマンド たとえば、 mysql の status コマンドを実行すると現 ドが実行できる状態になる。 てデータベースを操作するか、あるいは mysql のコマン 接続に成功すると、以降は SQL クエリーを直接入力し るデータベースが、、 test-database" であることが分かる。 は、 Connection id として、、 90 " が学えられ、接続してい た場合には、℃ onnection id" が与えられる。図 3 の例で いて処理対象のデータベースに接続する。正しく接続でき 作などはできない。そこで、ま $connect コマンドを用 ログラムであり、 MySQL サーバー上のデータベースの操 mysql は、起動しただけではたんなるクライアント・プ などは、ユーサー root でログインして作業をするしかガ去が がなく、何も実行できない。つまり、テープルを作成する場合 理される。 MySQL における anonymous にはまったく権限 義されていないため、すべてユーサー anonymous として処 MySQL を使い始めた直後は、 root 以、タ ) ユーサーは定 図 4 ではテープル sampletable を作成し、各レコード が以下のエントリから構成されるように設定している。 ・整委な ! ! の id 長さ 50 の文字型の name 長さ 150 の文字型の address UNIX MAGAZINE 2001.6 設定では、ユーサー suguru はどんなホストからアクセス に接続し、図 5 に示した SQL クエリーを実行する。この 追加したい場合は、 mysql コマンドでデータベース mysql も、基本的に SQL を使う。たとえはユーザー suguru を ューザーの情報を j 助日していく。ューザーを追加するとき というテープルが用意されており、これらのテープルに このデータベース mysql のなかには、 user 、 db 、 host るのかまでコントロールできる。 きる、テープルの内容を変更できるといったもの ) を与え クセスされたときに、どのような権限 ( テープルを作成で MySQL では、どのホストから、どのユーサー名でア の追加や、その権限の調整をおこなう。 て管理されている。このデータベースを編集し、ユーザー MySQL では、ユーサーはデータベース mysql のなか ユーザー管理 ファレンスである。 いるはすだ。また、参考文献 [ 1 ] の 15 章も使いやすいリ トリカ非らその下に関連するドキュメントが置かれて ースを展開したディレクトリに Docs というサプディレク MySQL に付属のドキュメントを参照してもらいたい。ソ い。 SQL における処理や、どのような構文があるかは、 近いかたちで設計されているため、たいへん理解しやす この例からも分かるように、 SQL 自体が自殀に 身を表示させたり (select) している。 フィールドの値を変更したり (update) 、テープルの中 そして、このテープルにデータを j 助日したり (insert) 、

4. UNIX MAGAZINE 2001年6月号

連載 /UNIX Communication Notes として、仕事ができない期間を矢併宿できる。 安価である。 するデータベースにアクセスして次のような操作をおこな (table) が作られる。通常、ユーザーは MySQL の管理 ている。 1 つのデータベースのなかには、複数のテープル MySQL では、データベースを基本的な管理単位とし データベースのイ乍成と破棄 ろなことかできる。 がある。この 2 つのコマンドを利用するだけでも、いろい ラインで使う mysql と、管理用ツール mysqladmin MySQL のユーサー・インターフェイスには、コマンド 耐妾使ってみよう。 SQL はどう使うのかを感覚的に擱むために、 MySQL を ます、関係データベースとはどのようなものであり、 プログラムの開発について説明する。 前回予告したとおり、今月は MySQL を用いた CGI MySQL を使う いだろうか。これからの 18 カ月か楽しみである。 から IBM に乗り換えたのである。さて、ボディは割れな り頑丈な素材で作られているらしい。そんなわけで、東芝 開は高く評価できる。また、 ThinkPad のボディはかな ーサーへのパーツの販冗、マニュアルのオンライン化と公 IBM が ThinkPad シリーズでおこなっている一殳ユ る。 ・システムについて知る機会が生まれ、自分の腕も上が ・アープル間の関係を利用した高度な検索 ・アープノレの本索 ・アープルへのデータの追加 ・アープルの作成と削除 UNIX MAGAZINE 2001.6 間と捉えるのが一番しつくりくるだろう。 データベースは、 MySQL を用いて作業する際の作業空 並行してアクセスすることはできない ) 。つまり、 1 つの タベースにしかアクセスできない ( 複数のデータベースに MySQL サーバーに接続しているときには、 1 つのデー 図 1 データベース乍成 % mysqladmin —u root ¯p create test—database Enter password: * * * * * * * ←ノヾスワードの入力 MySQL を利用する場合には、まず最初にデータベー スを作成する必要がある。図 1 に示したように、データ べースは mysqladmin でアクションとして create を指 定して作成する。 こで入力するパスワードは、前回の説明で述べたユ ーザー root に設定したパスワードである。こうすると、 MySQL サーバーが用いるデータ保管場所のディレクト リ (configure のオプションで localstatedir に指定した ディレクトリ。標準では /usr/local/var) に、指定した データベース名 ( 図 1 の例では、、 test-database") のディ レクトリが作成される。 一方、 MySQL サーバーで管理されているデータベー スを破棄するには、 mysqladmin でアクションとして drop を指定し、続いて破棄したいデータベース名を入力 する ( 図 2 ) 。 データベースを作成する場合も、破棄する場合も、実在 するデータベース名を指定して正しいパスワードを与えれ ば、なんのメッセージも表示されすに処理が実行される。 これに対し、存しないデータベースを破棄しようとする と、図 2 の後半に示したようなエラーメッセージか表示さ れる。 データベースの作成 / 破棄処理で、 MySQL のユーサー名 として root を指定している。これは、 MySQL におけるユー サー root であり、 UNIX 上のアカウント名とは直接の関係は ない。したがって、 su コマンドを実行するようなことはしてい ない。 ノート 2 引数、 -u user" を指定せすに mysqladmin を実行する と、 UNIX でのログイン名が MySQL のユーザー名とみなさ れる。わざわざ -u オプションを付けてユーザー名を指定する のは面倒だと思うかもしれないか : そのほうバ昆乱しない。 SQL にもとづくクエリーと mysql コマンド データベースを作成すると、 mysql コマンドを用いて SQL のクエリー (query) を茁妾入力し、データベース内 にテープルを作成したり、検索したりといった操作をおこ 53

5. UNIX MAGAZINE 2001年6月号

連載 . / UN Ⅸ Communication Notes 図 3 mysql コマンド本的な使い方 % mysql —u root —p Enter password: * * * * * * * mysql Ver 11 . 13 Distrib 3.23.35 , for unknown-freebsde1f3.5.1 ( i386 ) mysql> status Current database : test_database 90 Connection id : mysql> connect test—database Type 'help; ' 0 て '\h' for help. Type '\c' t0 clear the buffer Your MySQL connection id is 87 to server version: 3.23.35 We1come to the MySQL monitor. Commands end with ; or \g. Connection id : Current database : Current user : Current pager : Using outfile: Server version: protocol verSIOn: Connection : C1ient characterset : Server characterset : UNIX socket : Uptime : 90 test_database て 00t910Ca1h0St s t dout 3 .23.35 10 Loca1host via UNIX socket latinl latinl /tmp/mysql. sock 1 hour 46 min 16 sec Threads: 1 Questions: 180 S10w queries : 0 Opens: 6 Queries per second avg: 0.028 mysql> quit Bye しても、パスワード認証さえ通過すれはデータベースに対 して select 、 insert 、 update 、 delete コマンドを実行で きるようになる。 意 ホスト名を指定する部分で使用している、 % " は、どんな ホスト名にもマッチするワイルドカードであり、ホスト名を指 定しなくても、ユーサー名 ( およびパスワード ) だけでデータ べースにログインできるかどうかか訣まってしまう。もうすこ しきめ細かなアクセス制脚をしたい場合は、セキュリティを考 慮し、ホストの部分での % 窈旨定をできるかぎり避け、必要な ホストにのみアクセスを許すように設定すべきである。 引数に指定している password() は、パスワードの計 算をおこなう関数である。図 5 でパスワードとして指定さ れている文字列、、 mypass" は、 password() 関数て暗号化 UNIX MAGAZINE 2001.6 16 F1ush tables : 1 Open tables : さ user テープルに書き込まれる (password() 関数で は、 UNIX 上て使われているパスワード暗号化ルーチンと は異なる手法で暗号化をおこなう ) 。 CGI と MySQL CGI から MySQL を利用するには、データベースとの インターフェイスが必要になる。 PerI では、データベー スとのインターフェイスとなる DBI と呼ばれるモジュー ルか用意されている。 DBI. pm のインストール モジュール DBI (DBI. (m) は、異なるデータベース・ システムに対し、抽象化した共通のインターフェイスを提 55

6. UNIX MAGAZINE 2001年6月号

連載 /UNIX Communication Notes 図 4 テーカレ乍成、レコードの自加、内容の新 listed here ー 十一 ' Suguru Yamaguchi ' mysql> insert into sampletable (id,name,address) values ( 1 , Query OK, 0 rows affected ( 0.02 sec) mysql> create table sampletable ()d int , name c a て ( 50 ) , address char(150)) ; mysql> select * from sampletable; Query OK, 1 て 0 affected ( 0.01 sec) 'his address should be listed here' ) ; ー name ー address 1 ー Suguru Yamaguchi ー his address should be mysql> insert into sampletable (id,name) values ( 2 , 1 row in set ( 0 . 01 sec) Query OK, 1 row affected ( 0.01 sec) ) Jun Murai ' ) ; ー十 ー十 ー十 ー十 ー十 mysql> 2 1 mysql> 2 rows select * from sampletable; name ー Suguru Yamaguchi ー ー Jun Murai in set ( 0 .01 sec) address his address NULL should be listed here update sampletable set address= ' uptown T0kyo ) where name= ' Jun Murai ) Query OK, 1 row affected ( 0.00 sec) mysql> ー id 1 2 十一 2 rows mysql> select * from sampletable; ー name ー Suguru Yamaguchi ー ー Jun Murai in set ( 0 . 01 sec) address his address uptown Tokyo should be listed here ー十 ー十 図 5 新規ユーサー彖をおこなう SQL クエリー suguru', password('mypass'), 'Y', 'Y', 'Y', 'Y') values ( ' % ' lnsert intO user (hOSt ,user , password , select_priv, lnsert_priv , update—priv, delete—priv) 供するパッケージである。対象か関係データベースであれ ば、データベース独立のプログラムを記述することができ るので、 Perl からデータベースを扱う場合にたいへんイリ である。 DBI. pm は標準ではインストールされていない。この モジュールは共通のインターフェイスを提供するだけで、 56 データベースとの通信をおこなう部分は、 DBD (Data Base Driver) という別のモジュールによって実現されて いる。したがって、 DBI. pm のほかに、 MySQL 用のド ライバもインストールする必要がある。 どちらのモジュールも、 CPAN (http://www.cpan. org/) から入手できる。 DBI の開発は続けられているよ UNIX MAGAZINE 2001.6

7. UNIX MAGAZINE 2001年6月号

連載 UNIX Communication N0tes 図 7 データベースと直のやりとり # ! /usr/bin/perl use strict; use DBI ; print "$fields [ $ ー ] for ( 0 .. $#data) { while ()y (@data) $tbldata->fetchrow—array ) { my @fields @{$tbIdata->{NAME}} ; exit ( の ; print " can ' t perform query\n" if (not $tbldata) { $tbldata—>execute; my $tbldata = $dbh—>prepare("select * from sampletable") ; exit(O) ; print lyou can't connect tO the database\n" if (not $dbh) { my $dbh = DBI—>connect( 'DBI :mysql:test_database' 'mypass') ; exit( の ; すでにタグカ寸けられている。そして、空行からファイル の末尾までを本文とみなす。 この構造をそのまま利用して、データベースを簡単に作 ることができる。各データの長さに制限を設け、それぞれ 最大 200 文字 0 ト分だとする。この構造を SQL でのテー プルの作成ふうに言当主すると次のようになる。 create table faxcover (SrcOrg SrcDpt SrcPerson SrcTe1 SrcFAX SrcEmai1 DestOrg DestPerson DestTe1 Printer Temp1ate Date Subj ect Message 準備 char(200) , char(200) , char(200) , char(200) , char(200) , char(200) , char(200) , char(200) , c 五 ar ( 200 ) , char(200) , char(200) , char(200) , char(200) , text(150)) ; プログラムを作成する前に必要な作業は、 ・ユーサーの登録 ・データベースの作成 . 空のテーフフレのイ乍成 58 図 8 第 2 版でのデータファイル Src0rg: 奈良先端科学技術大学院大学 SrcDpt : 情報科学研究科 SrcPerson: 山口英 SrcTe1:0743-72-XXXX SrcFAX : 0743 ー 72 ー YYYY SrcEmai1 : suguru@wide. ad ・ jp DestOrg:UNIX MAGAZINE 編集部 DestPerson: 担当者 DestTe1 : 03 ー 1234 ー 5678 Printer :prn—prof Temp1ate :temp1ate02. tex Date : 02 / 28 / 2001 16 : 32 Subject : 企画会議について 先日お約束した企画会議ですが、 である。これらはプログラムを作成して処理してもよい が、いすれも 1 回限りの作業なので、 mysql コマンドを 利用する。 この作業は、最初のはうで述べたガ去と同じ手順でおこ なえばよい。 ・ユーサーの登録 データベース mysql のなかのテープノレ user に新たな ューサーを j 助日する。ほかのユーザーとの違いを明確に するために、 apache-cgi や faxcover-cgi などの名則 UNIX MAGAZINE 2001.6

8. UNIX MAGAZINE 2001年6月号

連載 /UNIX Communication Notes— 図 9 第 3 版 mkfaxcover ・ cgi # ! /usr/bin/perl # mkfaxcover. cgi : 第 3 版 require "jcode-2.10. pl " ・ use CGI qw( : standard) ; use DBI ; # データファイルの書出し 1 56 my $dbh = DBI—>connect('DBI :mysql:faxcover' ' apache—cgi ' if (not $dbh) { &error—handler ( " cannot connect tO the database" ) ; exit ( 0 ) ; $id = time; ' w3hAx ' ) ; my $tbldata = $dbh—>prepare ( " insert into sendout (id) values ($id) " ) ; $tbldata—>execute ; fo て ()i = 0 ; $i く $#tag; $ i + + ) { $tbldata = $dbh->prepare ( "update set $tagC$i] =\'$values{$tag[$i] } \ ) where id=$id") ; $tbldata—>execute ; $tbldata = $dbh->prepare("update set $tag[$i] =\'$values{$tag[$i] } \ ' where id=$id") ; $tbldata—>execute ; " く b>FAX Coversheet will be printed out 0 Ⅱ your printer. く /b> く br>\n" ・ start-html ( ) Making FAX Coversheet ' ) ; header ; # Top part of Page for WWW client pr int pr int pr int pr int pr int " く hr noshade>\n" ・ # データファイルをもとにした送付状 (LaTeX ソース ) の作成 open(CMDOUT, " . /dat2ps $idl") ; while( く CMDOUT>) { print $ ー # Bottom part of Page for WWW client print " く /pre>\n" ・ print " く hr noshade>\n" print end—html ; exit(O) ; 60 UNIX MAGAZINE 2001.6

9. UNIX MAGAZINE 2001年6月号

・ URL Turbolinux Omoikane GNU/Linux Red Hat Kondara MNU/Linux EMIP Apache Bash BIND Ethereal fetchmail fvwm gettext Glib 、 Gtk + libpng lsh Lynx MHonArc NEWS http://www.turbolinux.co.jp/ http://www.omoikane ・ CO ・ jp/ http://www.redhat.com/ http ://www.kondara.org/ http://www.emip.net/ http://httpd.叩ache.org/ http://freshmeat.net/projects/gnubash/ http://www.isc.org/products/B IND/ http://etherealzing.org/ http: ″ www.tuxedo.org/—esr/fetchmail/ http://www.fvwm.org/ http ://www.gnu.org/software/gettext/gettext.html http ://www.boutell.com/gd/ ftp://ftp.gtk.org/pub/gtk/vl.2/ http://www.libpng.org/pub/png/ http://www.net.lut.ac.uk/psst/ http://lynx.browser.org/ http://www.mhonarc.org/ 法本府告之 from MySQL Mew N etpbm OpenSSL Pe 日 Python Postfix PostgreSQL PPP ProFTPD Qpopper sendmail Tcl/Tk N ET-SN M P(Ucd-snmp) XEmacs XScreenSaver Zsh Linux カーネル でお知らせします。 http://www.mysql.com/ http://www.mew.org/ http://netpbm.sourceforge.net/ http ://www.openssl.org/ http://www.perl.org/ http:″www.python.org/ http://www.postfix.org/ http://www.postgresql.org/ ftp://ftp.linuxcare.com/au/pub/ppp/ http://www.proftpd.org/ http://www.qpopper.org/ http://www.rxvt.org/ http ://www.sendmail.org/ http ://dev.scriptics.com/software/tcltk/ http://net-snmp.sourceforge.net/ http://www.xemacs.org/ http://www.」 wz.org/xscreensaver/ http://www.zsh.org/ http://www.kernel.org/ ")))>Yet Another Ruby/PerI Conference 昨年、 2 回目の Perl Conference か星都で開催されま した。名称も Perl/Ruby Conference となり、 perl の 作者である Larry Wall 氏や Ruby の作者であるまつも とゆきひろ氏をはしめ、多くの参加者がありました。 米国では、年に 1 回開かれる perl conference に対し、 西海岸でしか開かれす、参加費か高いといった不岡の声が 上がっているようです。そんな声に応えるかのように、東 海岸て参加費を安価に設定した「 YAPC (Yet Another Perl Conference) 」カ咥画され、引き続き世界各地で開 催されるようになりました。 日本でもこのスタイルに似たカンファレンスについて検 討してきましたが、 jus では Tokyo Perl Mongers と共 同で、対象に Ruby を加えた「 YARPC (Yet Another Ruby/Perl Conference) 」として開催することにしまし た。プログラム、参加費などは検討中ですが、田カ鴃ま りしだい jus の Web ページ (http://www.jus.or ・ jp/) 148 日時 : 2001 年 5 月 26 日 ( 土 ) 10 : 00 ~ 17 : 00 場所 : アスキー B2 ホール 東京都渋谷区代々木 4 ー 33 ー 10 トーシンビル 京王新線初台駅南口下車徒歩 3 分 http://www.ascii ・ co. jp/info/profile/map/ 定員 : 150 名 ( 予定 ) プログラム ( 予定 ) 10 : 00 ~ 12 : 00 チュートリアル ( 1 時間 x Ruby/PerI 各 1 ) 13 : 00 ~ 15 : 00 事例紹介 ( 30 分 x 4 ) 15 : 00 ~ 16 : 00 Lightning Talks ( 5 分 x 11 ) 16 : 00 ~ 17 : 00 BOF ・ ')))>lnternet Conference 2000 報告 2000 年 11 月 1 日 ~ 2 日の 2 日間、慶應義塾大学・矢上 キャンノヾスで開催された「 lnternet Conference 2000 」 ( 主催 : 日本インターネット協会、日本ソフトウェア科学 会インターネットテクノロジー研究会、 WIDE プロジェ クト、 jus) について報告します。 6 セッションに分けておこなわれた 16 件の論文発表 に加え、現在進行中の研究を短時間で発表する work ⅲ Progress が 6 件、さらにデモンストレーションとして 6 UNIX MAGAZINE 2001.6

10. UNIX MAGAZINE 2001年6月号

表 1 更新されたそ研也のソフトウェア ・カーネル 2.4.3 Apache 2.0.16 ー beta OpenSSL 0.9.6a ・ gcc 2.96 Bash 2.05 Perl 5.6.1 ・ glibc 2.2.2 BIND 9.1.1 Python 2.1C1 Ethereal 0.8.17- a Postfix 2001022 & P101 ・ XFree86 4.0.3 fetchmail 5.8.1 PostgreS QL 7.1 ・ RPM 3.0.6 fvwm 2.3.31 ppp 2.4.11 ・ OpenSSH 2.5.2P2 ProFTPD 1.2.2rc1 gettext 0.10.36 ・ OpenSSL 0.9.6a gd 2.0.1 Qpopper 4.0 Glib 1.2.10 rxvt 2.7.6 ・ GNOME 1.4 Gtk 十 1.2.10 sendmail 8.12.0. Beta7 ・ KDE 2.1.1 Tcl/Tk 8.3.3 libpng 1.0.10 ・ Gtk 十 1.2.10 lsh 1.2 NET-SNMP 4.2.1 (Ucd-snmp) Lynx 2.8.4dev.20 ・ Ruby 1.6.3 MHonArc 2.4.8 XEmacs 21.4.0 ・ Netscape 4.77 MySQL 3.23.36 XScreenSaver 3.31 ・ Mozilla 0.8.1 Mew 1.95b119 Zsh 4.0.1-pre-3 Linux カーネノレ 2.4.4 pre3 Netpbm 9.12 Kondara 1.2 からの変更点は、 Kondara 2000 でお こなわれたライセンス条件の見直し (Tgif や xanim な たが、これは newt が原因で、 beta2 以降では修正され ど ) の反映、ほとんどすべてのパッケージのアップデー ている。 トなどである。 betal リリースでは、 lntel アーキテクチャの ISO イ ノヾッケージでは sendmail 、 wu-ftpd 、 inetd が、そ メージだけの提供であったが、サポートするアーキテク れぞれ Postfix 、 ProFTPD 、 xinetd に変更された チャに PowerPC が追加さ牙蹊 InteI/AIpha/PowerPC Kondara 2.0 で使われているノヾッケージのノヾージョ となった。 CD 2 本好目で容量は約 1.3GB となっている。 ンは、ほほすべて開発版 ( コード名 Jirai) と同しだが、 Kondara MNU/Linux は初期の Red Hat Rawhide 開発阪と 2.0 の違いは、インストーラが用意されたはか、 版を改良したディストリビューションというイメージが IPv6 対応の機能がデフォルトでは外さ UTF-8 は積 強いが、現在では独自路線を歩んでいるため、 Rawhide 極的には対応していない点カげられる。 との互換性は失われている。その一イ列が、パッケージに IPv6 の機能はデフォルトでは無効になっているが、 使われている RPM の spec ファイルである。 Kondara RPM ノヾッケージの spec ファイルに -ipv6 マクロが MNU/Linux の spec ファイルでは独自のマクロを使っ 用意されているため、 IPv6 か使える環境を容易に構築で ているため、そのままでは Rawhide 工竟でコンパイル きる。 できないパッケージが多い。 現在、 EMIP (Emergent Mobile lnternet Plat- form) て酒己布されているパッケージは Kondara 2.0 が 驀更新されたその他のソフトウェア ターゲットとなっている。 IPv6/MobiIeIP 関連のユー ー E 記以外に Linux 上でひろく使われているソフトウェ サーランド・パッケージは開発阪に統合されているため、 ア、 Linux カーネルの更辛用大況を表 1 に示す。 開発版から取得する必要がある。 UTF-8 も積枸イ均にサポートされてはいないが、機能は ( みやち・としゆき北陸先端抔斗 ! 物支術大凝完た学 たふ、ち・たかあき Kondara Project) 利用可能である。この機能を石俿瑟するには、 sdr コマンド などを利用すれはよい。 インストーラは anaconda の 7.01 を改良したもので ある。 GUI インストールはサポートせず、コマンド行か らのインストールのみに対応している。 betal ではイン ストーラのマウス窈尺部分で画面カ話 L れる不具合があっ 147 UNIX MAGAZINE 2001.6