PC マザーボード上のリアルタイムクロック (Real-Time-Clock, RTC) チップの 不正確さは有名です。たいてい早すぎたり遅すぎたりするので、毎日少しずつ 時計が狂っていきます [1]。 しかし、Linux にはソフトウェア上でこれを修正する簡単な方法があります。 その方法を使えば、外部の時報ソースに頼らずとも時計を非常に正確に保つことが できます。ただ、その設定方法を知る人があまりいないのは、(おそらく) 以下のような理由があるからだと思われます。
Linux の設定全般を解説した文書ではほとんどこれに触れられておらず、 (外部の時報ソースを利用する場合以外は) 自動的に設定されることもないので、 デフォルトでは利用されないこと。
man clock とコマンドを打つと clock (3) が表示されますが、これには全然別の事柄が記載されていること。man 8 clock もしくは man 8 hwclock を試して ください (セクションを指定せずに man page を検索した場合、一般の ディストリビューションではセクションの若い方が先に表示されるようになって います。/etc/man.config で指定した順に検索する ディストリビューションもあります)。
そもそも時間自体を気にしていない人が多いらしいこと。
時計の時間を気にするひとは、ネットワークタイムサーバ (netwok time server) や電波時計 (radio clock) といった外部の時報ソースにシステムクロックを同期 (sync) させている人が大半であること。この場合、RTC が正確かどうかは(ほとんど) 関係がなくなります。
この mini-HOWTO では、ローテクな方向からアプローチします (それだけで、 時計は非常に正確になります)。また、もっと洗練された方法で時間調整したい 人のために、各種の情報源も紹介しています。後者の場合、その手の文書の解説 はおおむねしっかりしているので、本書では詳解しません。
本書の前バージョンでは、古いシステムをいまも使っている人のために旧式の clock (8) プログラムについて詳しく説明していましたが、今回は そのセクションを省略しました。現在多くのディストリビューションが clock (8) にかえて hwclock (8) を採用 しており、hwclock (8) プログラムに関する文献の方がずっと 優れているからです。clock (8) の解説文が必要な場合は、著者に メールで知らせてください。ただ、その場合は、先ず hwclock (8) についての章を読んでからにしてください。
注意: RTC やシステムクロックを修正するプログラムを実行するには "root" でログイン しなければなりません。この文書で述べるプログラムの大半は、root 権限が 必要です。普段からグラフィカルインターフェイスしか使っていない場合は、 基本的な UNIX のシェルコマンドをいくつか学ぶ必要があるかもしれません。
注意: マシン上で複数の OS を使っている場合は、そのうちひとつだけで RTC の 設定を行い、他の OS との間で時間が食い違うことがないようにする必要があります。 ただ、年に 2 度の夏時間の調整については別です (詳しくは、 DST のセクションをご覧ください)。
デュアルブートシステムで主に Windows を使っているなら、Linux 版では なく、Windows 版のクロックソフトウェアについて調べたいと思うかもしれません。 その場合は、次の NTP ウェブサイトの説明をご覧ください。http://www.eecis.udel.edu/~ntp/software.html。 本書での電波時計の説明の多くは、Windows 用ソフトウェアに関するものも 含まれています。
本書ではソフトウェアをダウンロードできる場所としていくつかのサイトを 挙げましたが、CD-ROM 版が手に入らない場合は Linux システム全体をそこから ダウンロードすることもできます。 昔は、そのようなサイトは sunsite.unc.edu の ftp アーカイブと各国のそのミラーサイトであると相場が決まっていましたが、 現在 sunsite は http://metalab.unc.edu/linux/ と改名されています (訳注: 2001年10月現在では ibiblio http://www.ibiblio.org/pub/linux/ という名称に変更されています)。 ディストリビューションの中には独自のウェブサイトを持っているものも あり、そのなかにはこの文書で扱うソフトウェアが含まれている場合も あります。
最近では Linux を CD で入手する人がほとんどであり、そうした CD にはデフォルト でインストールされないような各種ソフトウェアもたいてい含まれているので、 自分では意識していなくとも本書で述べるプログラムが既に手元にある場合が 多いと思われます。
この mini-HOWTO の最新バージョンは、Linux Documentation Project のホーム ページにあります。LDP のホームページは、現在 http://www.linuxdoc.org/ です (上述した metalab サイトからも入手が可能です)。古いリンクを指定した 場合でも必ず現在のサイトに forward されるようになっていると思います。
すべての HOWTO 文書は SGML で記述されており、規格に基づいた変換プログラム を使って各種フォーマットに変換されています。たいていの人は HTML 形式で 読むと思われます。HTML 版は、 http://www.linuxdoc.org/HOWTO/mini/Clock.html です。 改訂履歴は SGML ソースにコメントとして記載しています。 大部分のディストリビューションでは、全 HOWTO 文書が /usr/doc/HOWTO/ と /usr/doc/HOWTO/mini/ にインストールされています。
この mini-HOWTO は、1996年の初版以来、著者にメールを送ってくれた多くの 方々のおかげで大幅に改善されてきました。中には、質問を受け取ったはずなのに、 結局こちらがいろいろと教えていただいたことも何度かありました。 残念ながら、著者はまだそれらの方の氏名のリストを作成していません (次回の改訂では多分記載できると思います)。心当たりのある方は、ご自分の ことだとお分かりになると思います :)
[1] | 訳注:コンピュータのクロックがどの程度正確かを教えてくれる、通信情報研究所の ページ http://www2.crl.go.jp/pub/jst/index-J.htmlがあります。 |