図 10 t Ⅱ - gw 用昼磁ヾッチ (FreeBSD 2.1.7.1 、 BSD/OS 2.1 用 ) _t _t tn—gw. c 1998 / 10 / 19 20 : 23 : 54 * * * tn—gw ・ c ・ org 1998 / 10 / 19 16 : 24 : 17 * * * 40 , 45 * * * * 40 , 55 extern char *index ( ) ; #endif / * SYSV * / + #include + #include + #include + #include + #include + #include + #include + #include #include #include #ifndef 十 * * * 70 , 75 * * * * static static 十 static static static static 80 , 86 く arpa/inet . h> く stdlib . h> く string. h> く sys/param. h> く sys/sysctl . h> く net/route . h> く net/if . h> く net/if-dl . > く sys/sockio. h> "firewall . h" BSIZ unsigned time time int int int char prebuf CBUFSIZ] ; prebufc ; kludgeraw = 0 ; transparent = 0 ; start_time ; end_time ; * * * 121 , 126 * * * * 132 , 185 十 struct sockaddr_in 0 *ifwithaddr (struct sockaddr—in *addr) 十 十 十 十 十 十 十 十 十 十 十 十 十 十 十 十 十 十 十 十 十 十 十 48 char af = AF_INET ; struct sockaddr in int i nt struct ifreq struct ifconf *buffer; ifc; *ifptr, *end; s , af ; written, bufsize ; *ifaddr; s = socket(af, SOCK-DGRAM, 0 ) ; bufsize buffer ioctl(s, sizeof (struct ifreq) ; malloc(bufsize) ; ifc . ifc 1en = bufsize; ifc . ifc buf = buffer; / * allocate first buffer * / / * lnitial setting * / SIOCGIFCONF, (char * ) &ifc) ; * ltterate through here unti1 we don ' t get any more data do { vritten ifc . ifc_len; bufsize + = slzeof (struct ifreq) * 2 ; buffer = realloc((void *)buffer, bufsize) ; UNIX MAGÄZINE 1998.12
連載 / UN Ⅸ知恵袋ーの 図 5 文字の大きさや色を変更する Magic POint MagicPoint のサンプル 各行は上からに表示されます 白い文字は小さなフォントで表示されます %size 6 , fore "white" 各行は上から順に表示されます 白い文字は小さなフォントで表示されます 114 は効率的ではありません。 MagicPoint はスライドのペー しかし、そのたびにいちいち mgp の命令を挿入するの 文字属性を変更する命令を挿入することで実現できます。 くという形式です。このようなイ槭は、 mgp ファイルに イトルを書き、水当ラインを引いて、その下に内容を書 と見栄えがします。よくあるのは、一番ーヒにスライドのタ スライドを作成する場合、決まった形式で体裁を整える デフォルト設定を使う 基本になることを憶えておいてください。 作成できるでしよう。 MagicPoint では行単位での指定が にも対応できます。簡単なスライドならすぐにエデイタで とりあえす、こオけごけ知っていれば突然のスライド作成 目は空白です ) 。 行は・・・・・」の行は、スライドでは 3 行目となります ( 2 行 ドの行としては数えられません。たとえは、上の例の「各 れます。なお、、、 % " で始まる行 ( mgp の命令行 ) はスライ 属生は、明示的に再設定しないかぎり以降の行にも適用さ マて区切ってまとめて指定できます。一度設定した文字の 白で表示されます。この例のように、 mgp の命令はカン える命令です。誌面では分かりにくいでしようが、文字が 体の 6 % の大きさで表示されます。 fore は文字の色を変 パーセントで表したものです。上刎列では、文字か画面全 る命令です。引数は画面の大きさに対する文字の大きさを 結果を図 5 に示します。 size は文字の大きさを変え ジのデフォルトとなる属性を行単位で設定することができ ます。デフォルトの属は最初のスライドが始まる前、す なわち、最初の page 命令以前に default 命令を使って 設定します。 default 命令は次の形式で指定します。 default れ e command[ , command 各ページのれ e 行目にこの属性が適用されます。 com- m のには mgp ファイルの命令をカンマで区切って列挙 します。なお、 MagicPoint のインストール時に、 /usr/ XI IR6/Iib/X11/mgp/default. mgp がインストールさ れているはすです (X のパス名は各自のシステムに合わせ て読み替えてください ) 。 default. mgp には、一勺なス ライド作成に使えるデフォルト設定か第当してあります。 default. mgp を利用するには、 mgp ファイルの : 頁に次 の命令を書きます。 %include "default. mgp include は引数として与えられたファイルを挿入する 命令です。 include 命令は最初の page 命令よりも前に 書く必要があります。 default. mgp の内容の一部を図 6 に示します。各ページの 1 行目は空行にして一定のスペー スを作ります。 2 行目にスライドのタイトルを書き、 4 行 目以降に内容を書きます。 3 行目は b 矼命令によって水平 のラインが引かれます。ほかの命令はあとで説明します。 default. mgp を利用した例として、次の mgp ファイ ルを表示してみます。 %include "default . mgp %page タイトルです こから本文になります なんとなくスライドつばくなりました 図 7 に結果を示します。タイトルと本文のあいだにラ インか引か分かりやすくなっています。 もちろん、 default. mgp の設定が気に入らなければ、 default 命令を使って独自の体裁を作ることもできます。 リスト表示 スライドを作成しているとき、いくつかの項目を列挙し たい場合があります。 MagicPoint では、項目のリスト UNIX MAGAZINE 1998.12
一・方当ー咆亟 - 冬 ifc . ifc_len = bufsize; ifc . ifc_buf = buffer; if (ioctl(s , SIOCGIFCONF, (char * ) &ifc) く 0 ) { sys10g(LLEV, "fwtksyserr: cannot get interface config: 7 迎 " ) ; exit(l) ; } while (ifc . ifc_len > written) ; end = (struct ifreq * ) (ifc . ifc—buf + ifc. ifc_len) ; ifptr ifc. ifc—req; while (ifptr く end) { (struct sockaddr—in * ) (&ifptr—>ifr_addr) ; ifaddr if (ifaddr—>sin—family AF_INET & & ifaddr—>sin—addr . s_addr = = addr—>sin_addr . s_addr) return ifaddr ・ (struct ifreq * ) ( (caddr—t) ifptr + sizeof (struct sockaddr) + ifptr—>ifr—addr. sa—len sizeof (struct ifreq) ) ; 十十十十十十十十十十十十十十十十十十十十十十十 ifptr return NULL ; extern void waitwaitwait ( ) ; * * * 322 , 327 * * * * 381 , 400 if (getauth() ) { sys10g(LLEV, "exit Ⅱ ost = %. 512S / %. 20S Ⅱ 0 auth" ,rladdr, riaddr) ; exit(l); 十十十十十十十十十十十十十十 dst, nic; len; struct sockaddr_in int sizeof (dst) ; 1en getsockname ( 0 , (struct sockaddr*) &dst , &len) ; if (ifwithaddr(&dst) = = NULL) { transparent strcpy(dest, inet-ntoa(dst. sin—addr) ) ; strcat(dest, 図 11 tn - gw 用ヾッチ (BSD/OS 3.1 用 ) * * * tn—gw ・ c ・ org Fri Feb 6 09 : 11 : 36 1998 Sun Oct 18 21 : 18 : 35 1998 tn¯gw ・ c * * * 40 , 45 * * * * ー 40 , 48 ー char extern #endif / * SYSV * / + #include + # inc lude 十 #include *index ( ) ; く arpa/inet . h> く ifaddrs . h> "firewall . h" 49 UNIX MAGAZINE 1998.12
連載 / UN Ⅸ知恵袋ー⑩ 図 13 サププロセスの実行 MagicPoint 、 図 12 アニメーション効果 MagicPoint アニメーション効果 右からスクロールー ー左からスクロール サププロセス実行結果の取リ込み ping -C 3 aldebaran を 0 》 ] 4 ー上、 ! まはれ ( ー ! 2. 工 03. 工 . : ) : : 00 に 4 わ y に 0 y こに 0 fr•:gn 1 ~. 103.1. ~ : ー 01 - よ : 0 にし = 5 に i れに : 0.340 me ( 4 にに 0 frc«n 132. ー 03. 工 . 2 : 製を一に 0 ヨ = 1 にに一 = : ししニ 0.312E0 ( 4 こにみー 2.103. 工 . 2 : ー 01 一 0 ヨ = Z にし一 = 2 : 5 にえ 0 に = 0.320 をーーはわ聾 0 ににこ工 00 ー 0 - こ一 p mi の / 4 ” 9 / / 0 に′ = 0.3 ー 2 / 0.320 / 0.340 / 0.0 ー スクロールしながら出現 スクロールしながら出現 This is test" とい す。さらに、 testdata の内容である う文字がスライドに表示されます。 サププロセスの実行 MagicPoint は、スライドのなかでサフフ。ロセスを実行 X クライアントの実行 することかできます。次の mgp ファイルを見てください。 mgp は system 命令によってスライド中に X クライ %include "default . mgp アントを起動することができます。起動された X クライ %p age アントは、起動されたスライドのページか表示されている サププロセス実行結果の取り込み あいだだけ実行され、スライドが別のページに移ると終了 ping ¯c 3 aldebaran します。次の mgp ファイルは xcl 。 ck コマンドを起動す %size 5 , font "typewriter" る例です。 %filter "ping —c 3 aldebaran" %endfilter %include "default . mgp %page filter 命令は引数て指定したコマンドをシェルで実行 X クライアントの起動 し、結果をスライドに挿入します。図 13 に実行結果を示 します。 ping コマンドの実行結果がスライドの一部とし 現在時間 て表示されています。 %system "xclock —geometry % 30X30 " filter 命令は実行するコマンドの標準入力にデータ MagicPoint は実画面の大きさによって縦横のドット を流すこともできます。標準入力に入力するデータは、 数が変化します。そのような竟下で X クライアントの filter 命令と endfilter 命令のあいだに書きます。 大きさを指定するために、 -geometry スイッチに % 指定 %include "default . mgp ができるようになっています。ー E の例では、スライドの画 %page 面の 30 % の大きさで xclock か表示されます 7 。 標準入力へデータ入力 system 命令を使うと、ウインドウ・マネージャーのタ %filter "cat > testdata" イトルバーなども表示されてしまいます。これを避けるに This is test は、 xsystem 命令を使います 8 %endfilter %filter "cat testdata" 7 現在のバージョンでは、最後のスライドで system や xsystem 命令を %endfilter 使うと MagicPoint カ係冬了してしまうという不具合があるようてす。最 後にダミーのスライドを作ることで巨置できます。 上に示した mgp ファイルを表小すると、 testdata と 8 ただし xsystem 命を使ってもウインドウ・マネージャーーの管理 - ドか いうファイルが作ら、、 This is test " と書き込まれま ら離れないコマンドもあるようてす。 117 UNIX MAGAZINE 1998.12
図 1 透昼磁皀のデモ用パッチ * * * tn-gw ・ c ・ org 1998 / 08 / 28 13 : 57 : 57 1998 / 10 / 17 13 : 11 : 57 tn¯gw. c 1 . 1 40 , 47 extern char *index ( ) ; #endif / * SYSV * / + #include 十 #include #ifndef く arpa/inet . h> "firewall . 五 " BSIZ * * * 323 , 328 * * * * 325 , 341 exit(l); struct sockaddr_in sys10g(LLEV, "exit host = %. 512S / %. 20S Ⅱ 0 auth" ,rladdr, dst ; riaddr) ; int len sizeof (dst) ; len; getsockname(), (struct sockaddr*)&dst , &len) ; strcpy(dest, strcat(dest, while (argc > 1 ) { 図 2 昼磁皀のデモ用ルール inet—ntoa(dst . sin—addr) ) ; # ローカルホストからの接続は tel Ⅱ etd を起動 netacl—telnetd: permit—hosts 127 . 0 . 0.1 —exec /usr/libexec/telnetd netacl—telnetd: permit-hosts 192 .168.255. * —exec /usr/local/etc/tn—gw # ファイアウォール内部からの接続は許可、 netacl から tn—gw を起動 netacl—telnetd: permit-hosts 192.168.255.1 —exec /usr/libexec/telnetd netacl—telnetd: permit—hosts 192.168.1.100 —exec /usr/libexec/telnetd # tn—gw のルール # ファイアウォール外部からの接続は拒否 tn-gw: permit—hosts * 最後に、プロキシー・サーバーの設正ファイルをデモ用 に変史します。図 2 のルールを netperm-table に言当主し てください。 これでデモの準備は完了です。 ます、実験用言 1 算機から pepper に telnet でログイン UNIX MAGAZINE 1998 ユ 2 します。当然ですが、 IP バケットがファイアウォールを 越えられないため、実験用計算機から pepper に telnet で直接接続することはできません ( 図 3 ー b ) 。ただし、 tn- gw の中継機能を使って pepper にアクセスすることは可 能です ( 図 3- c ) 。 39
連載 / IJN Ⅸ知恵袋ーの 図 9 default ・ mgp でのリスト見の定義 %tab 1 size 5 , vgap 40 , prefix %tab 2 size 4 , vgap 40 , prefix %tab 3 size 3 , vgap 40 , prefix icon bOX 1con 表 1 サポートしている画像形式 FBM S un Rasterfile CMU WM Raster PortabIe Bit Maps (PBM 、 Faces Proj ect GIF Utah RLE JPEG X Window Dump McIDA S areafile G3 FAX P C Paintbrush GEM Bit MacPaint X Pixmap 、 X Bitmap PGM 、 green" 50 arc "yellow" 50 1C0 Ⅱ de1ta3 "white" 40 図 11 右寄せ、左寄せ、中央寄せ MagicPoint 特殊効果 中央寄せ %center 左寄せ %left 右寄せ %right 行の表示位置を変更する %page 中央寄せ 左寄せ 行の表示位置を変更する 右寄せ PPM) Encapsulated PostScript (EPS) 図 10 画象の員寸け 第イメージ・ファイルを表示できます 右寄せ、左寄せ、中央寄せ これは草刈千品さんの作品です , ありがと MagicPoint では、各行の文字の表示イ立置を次の 3 っ 116 %include "default ・ mgp 下の mgp ファイルは図 11 のように表示されます。 それぞ right 、 left 、 center 命令を使います。以 ・中央寄せ から選ぶことができます。 PC 用のプレゼンテーション・ソフトには、アニメー ション表小ができるものがあります。 MagicPoint でも 簡単なアニメーション効果が使えます。アニメーション 表示かできるのはテキスト文字だけで、右からの出見左 からの出現の 2 通りのル、し方カ、きます。テキストのア ニメーションには rcutin と lcut 土 n 命令を使います。 %include "default . mgp %page アニメーション効果 左からスクロール %lcutin 右からスクロール %r cut in %center UNIX MAGAZINE 1998.12 図 12 に重川乍の各を示します。
連載 / コミュニケーション用サーバーのインストールと運用ー⑨ ・ Postmaster: UNIX MAGAZINE 1998.12 ユーサー daemon ・ aliases に耐妾主する場合 これは、次のようになっています。 起動されるかが重要になります。 を操作しますから、プロセスがどのようなユーサー ID で ることができます。この場合、プログラム中からファイル する代わりにパイフ第己号を用いると、プログラムを起動け 前述のように、工イリアス・ファイルでアドレスを指定 プログラム起動の場合のユーサー ID ることになります。 ならば squid とか www-cache というアドレスを準備す スを定義し、 WWW のキャッシュ・サーバーの Squid サーバーの INN の場合には usenet と news の工イリア イリアスを作る場合がよくあります。たとえば、ニュース ソフトを運用する場合にも、サーバーごとに管理者用のェ アス定義をおこなっておくべきでしよう。はかのサーバー アカウントについても、適切な人間か読めるように工イリ 必須ではないのですが、 root や daemon といった管理 せん。 もちろん、 Postmaster に工イリアスしてもかまいま / dev / nu Ⅱに工イリアスしてしまってもよいでしよう。 これは受理さえできればいいので、極端な例としては 宛のメールを受理するようにしておく必要があります。 をしてしまった場合に備えて、 MAILER-DAEMON いて詳しくないユーサーか万一、、エラーメールに返信 " いう文字列 ( マクロ n のを付加します。メールにつ ノレのヘッダの From : 以下に MAILER-DAEMON と sendmail は、エラーメールを発行する際に、そのメー ・ MAILER-DAEMON: ます。複数のアドレスでもかまいません。 は、 Postmaster に管理者のアドレスを対応させておき 使うものです。したがって、ェイリアス・ファイルで イトの人間が発見したときに、その旨を通知する目的で アドレスは、そのサイトに関するメールの事故を別のサ す ( 大文字、小文字の違いは意味をもちません ) 。この master というメールアドレスを受理する必要がありま RFC822 の要請に従って、すべてのサイトは Post- ・ :include: を利用する場合 そのファイルを所有するユーサー ・ . forward に書かれた場合 その . forward のユーサー ☆ ぞれの設定法について考えたいと思います。 次回は、具ー勺なホストの構成例をいくつか挙げ、それ ファイルについても簡単に触れました。 介しました。また、 sendmail で用いられる工イリアス・ 主眼において、それに里した CF の設定変数名なども紹 今回は、 sendmail のアドレステスト・モードの活用を postmaster か該当します ) にするのがよいでしよう。 し、 owner-owner は sendmail 全体の管理者 ( すなわち、 どにはメーリングリスト個別の管理者のアドレスを設定 うアドレスに配送します。ですから、 owner-xxx-ml な には、 sendmail はエラーメールを、 owner-owner ・とい owner-xxx-ml 宛のメール自体がエラーになった場合 か補完されるなどの処理がなされます ) 。 には、さらに SI などの書換えルーノレに従ってドメイン名 postmaster" に設定されます ( もちろん、実際の酉占却芋 配送される際、エンべロープでの送信人のアドレスは このように書くと、 xxx-ml 宛のメールがメンバーに owner—xxx—ml : postmaster xxx—ml : : include : /usr/local/aliases/xxx—ml メーリングリストのアドレスを xxx-ml とします。 イルで次のような設定を使うことができます。例として、 これを実現するために、 sendmail では工イリアス・ファ が適切でしよう。 リストのメンバーのアドレス登録を担当している人のはう 場合は、その通知先はもとのユーサーではなくメーリング 信されることになります。この際に酉占工ラーカ起こった たあとで、その sendmail から各メンバーへとメールが送 メーリングリストを運営する場合、ェイリアスを展開し 工ンべロープ送信人アドレスの自動設定 37 にやま・よういち京都大判
連載 / IJN Ⅸ知恵袋ーの 図 15 deffont 吏用例 %deffont "typewriter" xfont " courier—medium¯r" , vfont "goth" , tfont "courbd. ttf ” vfont "goth" , tfont "arialbd. ttf" %deffont "thick" xfont "helvetica-bold-r" %deffont "standard" xfont "helvetica—medium—r" , vfont "goth" , tfont "arial. ttf" 図 16 フォントえ Magic 血 t フォントの切リ換え helvetica—bold times—bold—r utopia—bold—r courier—bold— 属のフォントを直孑欝旨定してフォントを変更する例です。 %include "default . mgp %page フォントの切り換え %size 12 %xfont "helvetica—bold— helvetica—bold—r %xfont "times—bold—r" times—bold—r %xfont "utopia—bold—r" utopia-bold-r て " %xfont ” courier—bold—r" courier—bold—r 結果を図 16 に示します。 その他の命令 mgp ファイルて利用できる命令は、 MagicPoint のア ーカイプに含まれている SYNTAX ファイルに言当主され ています。ここでは、よく使うものを紹介します。 ・ bgrad リれ社 rnbe dir 名 00m 四 co あ . 背景グラデーションを作成する。工とでグラデーショ ンの大きさを、れ社 mbe で使用する色の数を指定する。 市 r はグラデーションをかける方向で、指定できる月 は 0 から 360 度まで。 2 。。 rn - ガ四を 1 にすると、グ ラデーションか画面本に拡大される。名。。 m - ガが 0 UNIX MAGAZINE 1998.12 の場合は、ェ、で指定した大きさのグラデーションが 繰り返される。 c 。 I でグラデーションに使う色を指定 する。詳しい使い方は、 MagicPoint のアーカイプに含 まれる sample/gradation-jp ・ mgp を参昭 ・ 1eftfi11 文を左寄せで表示し、文末の折返し処理をおこなう。 ・ nodefault この命令を指定したページにかぎり、 default 命令を 無見する。 ・ bar co あ 7 ・記 s んれ可ん 水平のラインを引く。 c 。ん r でラインの色を、襯んで 幅を指定する。 s はラインを引き始める位置を、画 面の横輛こ対する割合 ( % ) て指定する。 le れ可んはライ ンの長さを、同じく横幅に対する割合 ( % ) で指定する。 ・ hgap g 佖 行間 = 文字の糸冨 * 9 叩 / 100 の式により計算される。 行間の大きさを文字窈従幅に対する割合て指定する。次 ・ vgap 9 叩 背景画象を指定する。 ・ bimage " tmage-file ー おこなうことによって pause 命令の次へ進む。 スライドの表示を一亭止する。ページを進める操作を 幅は文字によって異なるため、縦皜か基準になる。 vgap と同様の計算式により文字間の大きさを指定。横 VFIib を使った描画を禁止する。 すべてのページを素早く出力して終了する。 を紹介します。 最後に、 mgp コマンドの主要なオプション・スイッチ mgp コマンドのスイッチ 119
連載 / IJN Ⅸ知恵袋ー 図 6 →勺なスライド用のデフォルト言聢 ( 一部 ) %default 1 1eftfi11, size 2 , fore "white" %default 2 size 7 , vgap 10 , prefix %default 3 size 2 , bar "gray70" , vgap 10 %default 4 size 5 , fore "white" , vgap 30 , 図 7 デフォルト言聢を不堋する Magic 血 t タイトルです なんとなくスライドつほくなリました こから本文になリます back "black" , font "thick" prefix 表示をタブ文字に割り当てることで、分かりやすいソース ファイルと見やすいスライド表現を可能にしています。 次 干支 月 とら ねすみ リスト表現 %p age %include "default . mgp の mgp ファイルを見てください。 「月」「干支」などの前にはタブ文字が 1 つ、「一月」「ね UNIX MAGAZINE 1998.12 では、リスト表現として 3 つまでの連続したタブ文字を c 側襯はタブ文字の個数を指定します。 default ・ mgp tab CO 社れ t command[ , C07 れ 7 れ 0 れ d tab 命令の書式は次のとおりです。 tab 命令で実現されています。図 9 を見てください。 上記のリスト表示は、 default. mgp で使われている すいのではないでしようか。 によるインデントを用いたリスト表現は直感的で分かりや mgp ファイルを表示した例を図 8 に示します。タブ文字 すみ」などの前にはタブ文字が 2 つ置かれています。上の font " standard" 図 8 リスト新 MagicPom ・とら ・うし ・ねずみ 第千支 ・三月 第月 リスト表現 MagicPoint に含まれているサンプルスライドから、画 640X480 を指定します。 す。スライドの表示に VGA モニターを使うのであれば、 の引数はプレゼンテーションをするときの画面の大きさで ると、指定した色数に減色して画像を表示します。最後 トしている画像形式を表 1 に示します。 color を指定す MagicPoint は多くの画像形式に対応しています。サポー image-file で指定した画像ファイルを貼り付けます。 image "image-file " [ c 司 0 月 [ 記 x ん e 朝ん t ] 命令を使います。書式は次のとおりです。 像を貼り付けることカそきます。画像の貼付けには image 場合も多いものです。 MagicPoint では、スライド内に画 長い文を書くよりも、 1 枚の画像を示したほうか効果的な しづらいことがあります。そのようなときは、だらだらと スライドを作っていると、どうしても文字だけでは表現 画像の貼付け を ic 。 n 命令で指定しています。 令て指定し、頁目の地頁に置くマークの形と色大きさ さらに、各項目の前に挿入する空白の大きさを prefix 命 サポートしており、 3 段階までのリスト表現が可能です。 像貼付けの例を図 10 に示します。 115
図 2 対策を施したプログラム列 (a) date コマンド (date. c) lt—>tm-year = AT012(p) ; if (lt->tm—year く 69 ) lt—>tm—year + = 100 ; (b) touch コマンド (touch. c) if (yearset) { yearset = AT012(arg) ; t—>tm—year 十 = yearset ; } else { NO 第 CE / * hack for 2000 ; ー } * / ← 2 桁の場合、 69 より小さけれは・ 200 ( ) 年代とする ← 2 桁の場合、 69 より小さけれは 2000 年代とする yearset = AT012(arg) ; if (yearset く 69 ) t—>tm—year = yearset + 2000 ; t—>tm—year = yearset + 1900 ; t—>tm—year 1900 ; / * Convert to UNIX time . 図 3 tm 構 i 本の問題 (include/time. h) struct tm int int int int int i nt int int int long char tm_sec; m1n; tm_hour ; tm—mday ; tm_mon ; tm_year ; tm—wday ; tm-yday ; isdst ; tm—gmtoff ; tm *tm_zone ; seconds after the minute [ 0 ー 60 ] * / / * minutes after the hour [ 0 ー 59 ] * / hours since midnight [ 0 ー 23 ] * / / * day of the month [ 1 ー 31 ] * / / * months since January [ 0 ー 11 ] * / years since 1900 * / / * days since Sunday [ 0 ー 6 ] * / ←に圧思 / * days since January 1 [ 0 ー 365 ] * / / * Day1ight Savings Time flag * / offset from CUT in seconds * / timezone abbreviation * / アプリケーションの問題 UNIX MAGAZINE 1998.12 するところが多いようです。 Sun の Solaris 2.6 以上 関する情報を公開したり、バージョンアップなどで解決 OS 自体については、 WWW などで 2000 年間題に ほど単純であるとも思えません。 用する方法などが考えられますが、測間て確認できる るには、予備のマシンの日おを進めて 1999 年末から運 た簡略な処理しかしていないものもあります。テストす には、西暦の下 2 桁の : な頁に、、 19 " を付けるだけといっ 述するライプラリを用いているものは要注意です。なか ん。ただし、上に挙げた tm 構造体や 2 桁で年号を記 に対処するしかなく、一般論ではうまく説明できませ 独自に開発されたアプリケーションについては、個々 や SGI の IRIX 6.5 以上などでは、メーカーから提供 されるコマンドやライプラリについては 2000 年間題へ の対策がとられています。ただし、ユーザー側で作った ( 作らせた ) ソフトウェアやシ土ル・スクリプトについ てはもちろんこうした一焉正はありません。 バージョンアップなどで鮹夬するにしても、大規模な 分散工韆竟では、すべてのマシンの対策に要する労力は膨 大なものになります。 ( なかむら・まことシャーフ ) [ ・ URL] http://www.freebsd.org/y2kbug.html http://www.linux.org/help/beginner/year20()0.html http://www.gnu.org/software/year2000.html http://www-th.phys.rug.nl/-schut/gnulist.html http://www.apache.org/docs/misc/FAQ.html http://language ・ perl.com/news/y2k.html 15