doc/ja/y2kbug.sgml
Hiroyuki Hanai 08fe881ad1 Following changes in the English version are merged.
docs.sgml:	1.43 -> 1.44
       docproj.sgml:	1.10 -> 1.11
       newsflash.sgml:	1.81 -> 1.82
       y2kbug.sgml:	1.4  -> 1.6

Submitted by: HIROSE Shouichi <shou@kt.rim.or.jp>
1998-07-07 03:22:08 +00:00

136 lines
5.3 KiB
Text

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN" [
<!ENTITY date "$Date: 1998-07-07 03:22:08 $">
<!ENTITY title 'Year 2000 bug (aka "Millennium bug")'>
<!ENTITY % includes SYSTEM "includes.sgml"> %includes;
]>
<!-- $Id: y2kbug.sgml,v 1.3 1998-07-07 03:22:08 hanai Exp $ -->
<!-- The FreeBSD Japanese Documentation Project -->
<!-- Original revision: 1.6 -->
<html>
&header;
<p>2000 年問題 (別名, 「千年紀のバグ」)
に対する経営側の理解が深まるにつれ,
より多くの企業から, ハードウェアやソフトウェアのベンダに対して,
彼らの製品は 2000 年におこる転覆にどのように対処するのか,
公的な所信表明を要求する声が出てきています.</p>
<p>Unix や FreeBSD のような Unix like OS を使用している団体は,
既にその問題の一歩先を歩んでいます. FreeBSD は 2000
年が過ぎてだいぶたった後でも, 正しく時間を維持することができるでしょう.
<h2>予備知識</h2>
<p><i>(この節は <a
href="http://www.linux.org.uk/mbug.html">Linux Y2K compliance
page</a> の文章に基づいたものです)</i></p>
<p>すべての Unix と Unix ライクなオペレーティングシステムと同じように,
FreeBSD における時間と日付は, 内部的には,
1970 年 1 月 1 日 (Unix の「紀元年」) からの秒数で表現されています.
現在のところ, この数字は 32 bit 長の整数として格納されており,
これは 2038 年とちょっとまで行ったところで使い果たされる計算になります.
そして, (望むらくは) その頃には,
我々はこの宇宙の終わるときまで役に立つ, 64 bit 長の
(あるいはそれ以上の長さの) カウンタを使用しているでしょう.</p>
<p>OS が 2000 年問題に対応済であっても, それが
2000 年問題に対応していない,
誤ったアプリケーションの問題を解決するわけではないことに注意してください.
</p>
<p>OS が現在の日時や日付をコンピュータの CMOS
クロックから読み込んでいることにも注意してください.
それらのデバイスすべてが 2000 年を正しく扱えるわけではありません.
ハードウェアクロックが 1999 年から 2000 年へ正しく移行できること,
そして 2000 年を正しくうるう年として扱えることを,
各プラットフォームで個別に確かめた方が良いでしょう.</p>
<h2>あなたにできること</h2>
<p>FreeBSD は次の世紀に入っても,
正しく時間を維持し続けることができるでしょう. しかし,
サードパーティ製のアプリケーションはそうでないかもしれません.
2000 年問題に対しては, 攻撃は最大の防御と言えます.
おなじみの来るべき世界の終わりについての物語にただ耳をすましているだけでは,
千年紀のバグを解決することは<strong>できません</strong>.
ただその時が来るのを待っていても同じことです.
FreeBSD プロジェクトは, あなたの団体が, 千年紀の問題に対しても,
しっかりしたシステム管理の原則を適用することをお勧めします.</p>
<p>あなたのシステムがどのように反応するか確認する方法があります.
クロックを新年の数分前に合わせ, システムの時間を観察して下さい.
システムは年として 1900 ではなく 2000 を表示しなければなりません.
そして, もし年の表示が不正確であっても,
ハードウェアをアップデートするのに十分な時間があるわけです.
また, クロックを先に進めたまま, 情報システムに日常の業務を行わせれば,
システムのどの部分が 2000 年問題に弱いのか,
価値ある洞察を得ることができます.</p>
<h2>FreeBSD 2000 年問題所信表明</h2>
<blockquote>
<p>「広範囲にわたる分析と試験の結果, 我々は FreeBSD は 100%
2000 年に適合していると信じるに至りました.
不幸にも何かが見落とされていた場合でも,
我々は問題を可能な限りすみやかに解決できるようにベストを尽くします.」</p>
<p align="right">David Greenman<br>Principal Architect, The
FreeBSD project</p>
</blockquote>
<h2>修正済の問題</h2>
<p>FreeBSD 上では, 以下の 2000 年問題は既に発見され, 修正されています.</p>
<dl>
<dt><a
href="http://www.freebsd.org/cgi/query-pr.cgi?pr=1380">misc/1380</a>
</dt>
<dd>幾つもプログラムが, 年の表示として 19%d
(訳注: C の書式指定文字列を使って, 1900 年代であると決め打ちしている)
を返すようにハードコードされていました. この中には
yacc, ftpd, make も含まれます.</dd>
<dt><a
href="http://www.freebsd.org/cgi/query-pr.cgi?pr=1382">conf/1382</a>
</dt>
<dd>/etc/rc.local 内部の, ``message of the day''
のためにホスト / カーネル ID をビルドする sed スクリプトは,
年が 1999 以降にならないことに依存していました.</dd>
<dt><a
href="http://www.freebsd.org/cgi/query-pr.cgi?pr=3465">misc/3465</a>
</dt>
<dd>/etc/namedb/make-localhost コマンドは, DNS のシリアル番号を
YYMMDD の形式で生成しています. 2000 年には, この番号は
1YYMMDD の形式で生成されるでしょう.</dd>
<dt><a
href="http://www.freebsd.org/cgi/query-pr.cgi?pr=4930">gnu/4930</a><
/dt>
<dd>groff の tmac マクロは, ある種の日付を自動的に 1900
年代だと解釈するようにハードコードされていました.</dd>
</dl>
<h2>問題を含むアプリケーション</h2>
<p>この節は, 今はただの場所取りにすぎませんが,
2000 年問題を持つアプリケーションが見つかった場合,
そのアプリケーションの名前と, (もし存在するならば)
そのソフトウェアのどのバージョンで問題が修正されているのか
ここで明らかにしてゆくつもりです.</p>
<h2>更なる情報</h2>
<p>FreeBSD の 2000 年対応について更なる質問をお持ちであるか,
FreeBSD 下で走る 2000 年対応済でないアプリケーションを発見した場合,
<a href="mailto:freebsd-bugs@FreeBSD.ORG">freebsd-bugs@FreeBSD.ORG</a>
まで連絡してください.</p>
&footer;
</body>
</html>