QLOOKアクセス解析
--.--.-- Ads by Google
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


ふと気が付いたのですが、ザウルスの時間が狂ってますね・・・
購入してから1ヵ月。
初期設定で時間をあわせてから一度も再設定していないのですが、分単位で狂ってます。
やっぱり、こうなってしまいますね。

ザウルスは再起動するたびに時間を設定する画面が表示されるので、そのタイミングで設定するという考え方もありますが、そんなことは面倒だし、再起動もめったにしません。
かといって、気が付いたときに「日付/時刻設定」から設定するなんて、ありえませんよね。
本来、マシンの時間はあっていて当たり前だと思いますので、手間をかけずに(つまり自動で)、正確な時間でいるようにしたいと思います。

世の中にはNTPサーバーという便利なものがありますので、これを使って自動で時刻を合わせるようにしました。
 1.ntpdateのダウンロード
NTPサーバーとの時刻同期にはntpdateコマンドを使用します。
Zaurus Archivesさんのプログラムダウンロードから、「ntpdateコマンド Zaurus版」をダウンロードします。


 2.ntpdateのインストール
ダウンロードしたntpdateをインストールします。
ダウンロードしたファイルには、拡張子に「.bin」が付加されていますので、手動で削除します。
「.bin」の削除後、いつも通り「設定」タブの「ソフトウェアの追加/削除」からインストールを行います。


 3.ntpdateの実行
ターミナルを起動してntpdateを実行してみます。
以下のコマンドを実行し、システム・クロックが設定される事を確認します。
ntpdateコマンドの引数には、お好みのNTPサーバーのアドレスを入力してください。

$ su -
# ntpdate ntp.asahi-net.or.jp

ntpdateコマンドを実行すると、以下のようにログが出力され、時刻が同期されたことが分かります。

 4 May 16:30:38 ntpdate[2858]: step time server 202.224.32.4 offset 182.093842 sec
Write to trigger.


 4.シェル・スクリプトの作成
時刻同期を自動化させるために、まずシェル・スクリプトを作成します。
「adjusttime.bash」という名前で、以下のような簡単なものを作成しました。

#!/bin/bash

NTPDATE=/usr/bin/ntpdate
NTPSERVER=ntp.asahi-net.or.jp
LOGFILE=/var/log/ntpdate.log
CNT=0
TRY_CNT=5
SLEEP_TIME=5
RC=1

echo "--- ntpdate ${NTPSERVER} ---" > ${LOGFILE}
date >> ${LOGFILE}
while (( ${CNT} < ${TRY_CNT} ))
do
  ${NTPDATE} ${NTPSERVER} >> $LOGFILE 2>&1
  RC=$?
  if (( ${RC} == 0 ))
  then
    break
  fi
  CNT=`expr ${CNT} + 1`
  sleep ${SLEEP_TIME}
done



作成したシェル・スクリプトを任意のディレクトリに移動させ、ファイルの権限を設定します。
rootユーザーのホーム・ディレクトリ(/home/root)に「ntp」というディレクトリを作成し、そこに移動させました。

# mkdir /home/root/ntp
# mv adjusttime.bash /home/root/ntp
# chmod 744 /home/root/ntp/adjusttime.bash


 5.自動化の設定
ネットワークに接続した時に、自動で時間を合わせるように設定します。
ネットワークに接続するケースは2種類。
無線LANなど、CFタイプのLANカードでネットワークに接続するケースと、bitWarp等のようにダイアルアップで接続するケースがありますので、どちらの場合でも4.で作成したシェル・スクリプトが呼び出されるように設定します。

【CFタイプのLANカードでネットワークに接続した場合】
CFタイプのLANカードでネットワークに接続した際に自動で同期させるには、「/etc/pcmcia」配下にある「network.opts」を編集します。
「/etc/pcmcia/network.opts」を開き、以下のように記述されている箇所を見つけます。

start_fn () { return; }
stop_fn () { return; }


「start_fn () { return; }」と記述されている箇所で、returnの前に4.で作成したシェル・スクリプトを呼び出す行を追加します。

start_fn () {
                    #ntpdate
                    /home/root/ntp/adjusttime.bash &
                    return;
                  }
stop_fn () { return; }



【ダイアルアップで接続した場合】
ダイアルアップで接続した際に自動で同期させるには、「/etc/ppp」配下にある「ip-up」を編集します。
「/etc/ppp/ip-up」を開き、末尾に以下の行を追加します。

#ntpdate
/home/root/ntp/adjusttime.bash &


 6.稼動確認
実際にザウルスの時間をずらして、ネットワークに接続してみます。
時間が修正されて、ログファイル(上記のシェルの場合は「/var/log/ntpdate.log」)にエラーが出ていないことを確認します。


Secret

TrackBackURL
→http://linuxzaurus.blog47.fc2.com/tb.php/15-8e72d615