E.T.Cこのページでは、Debian 限らず、サーバーの運用やシステム管理に求められるもろもろの設定作業について書いておこうと思う。今後も情報を追加する予定だ。 システム時刻の修正 システム時刻の修正システム時刻が狂っていると、正常なサーバーの運用はできない。たとえばftpサーバーも、クライアントが「PC側のファイルがサーバー上のものより新しいものだけアップロードする」などの設定で利用しようとするとする。もしサーバーのシステム時刻が進んでしまっていれば、いくらやってもアップロードできないという事態が生じ得る。メールサーバー、DNSサーバーも然りであろう。時刻合わせはシステム管理者として必須の作業である。 システム時刻合わせ時刻合わせには date コマンドを使う。たとえば現在時刻が2004年1月15日 午後1時30分だとしたら、次のように時刻合わせができる # date 0115133004 このように date コマンドの引数は、「月日時刻年」の順番で指定する。年が一番最後にくるので違和感があるが、これでよい。 CMOSクロック合わせシステム時刻を正確に合わせたところで、CMOSクロックも正確なものにしたい。次のコマンドを実行する # /sbin/hwclock -w これで両方が正確な時刻を刻むようになる。 ntpを利用するntpを利用すれば、システム時刻を定期的に正確なものにセットすることができる。 # apt-get install ntpdate インストールできたら、早速時刻合わせをしてみる。文法は
# ntpdate server_name
と至極単純なものである。server_name には、公共のタイムサーバーを指定する。公開されているタイムサーバーのリストは下記のURIから参照の事。 http://www.eecis.udel.edu/~mills/ntp/servers.html ntpdate と hwclock を組み合わせたシェルスクリプトを cron で定期的に実行すれば、いつも正しいシステム時刻が刻まれることになる。 BSDパーティションのマウント(おまけ)あるNAS製品の中身が実はFreeBSDであり、samba を使って実現されていることを知った私は、その設定がどうなっているか参照しようと目論んだ。そのNAS製品を分解し、ハードディスクを取り出し、それを既存のLinuxマシンにマウントして、中をのぞいてみたので、そのときの顛末を記録しておく。 カーネルを再構築する.configの下記のパラメーターが有効になっていなければならない。 CONFIG_UFS_FS=y CONFIG_PARTITION_ADVANCED=y CONFIG_BSD_DISKLABEL=y カーネルの再構築が終わったら、マシンの電源を落とし、FreeBSDのディスクをつなぐ。今回はCD-ROMドライブをはずし、代わりにこのディスクをつけた。再度電源投入。 ディスクの確認起動したら、fdiskコマンドでつないだディスクを認識しているか確認する。 # fdisk -l /dev/hdc Disk /dev/hdc: 255 heads, 63 sectors, 14596 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hdc1 * 2 5 32130 a5 FreeBSD /dev/hdc2 6 21 128520 a5 FreeBSD /dev/hdc3 22 14596 117073687+ a5 FreeBSD もし、上記のように表示されず、認識していないのであれば、ファイルシステム「ufs」のモジュールが読み込まれていないのかもしれない。下記のように読み込む。 # insmod ufs 再度fdiskコマンドで確認。FreeBSD領域が見えればOKだ。これでもだめなら、BIOS上でそのディスクが認識されているか、他のデバイス名はどうかなど、いろいろトラブルシューティングをしてもらいたい。 マウントする早速マウントしてみる。次のようにマウントオプションをつけて、mountコマンドを実行してみる。ファイルシステムがufsであると同時に、読取専用でマウントしていることに注意。 # mount -t ufs -o ufstype=44bsd,ro /dev/hdc1 /mnt/bsd1 上記のように、ufstypeに44bsdを指定しても、マウントオプションが違とうか何とかのエラーが出てちょっと悩んだが、dmesgの出力にヒントがあった。 # dmesg (中略) mount -t ufs -o ufstype=sun|sunx86|44bsd|old|hp|nextstep|netxstep-cd|openstep ... ここに挙げられているマウントオプション nextstepを試す。すると、ターミナルにエラーは出力されず、一見マウントできたように見えるが、実際には dmesg に UFS-fs error (device 16:01): ufs_readdir: bad entry in directory #2, size 512: reclen is too small for namlen - offset=0, inode=2, reclen=12, namlen=260 というようなエラーを吐いている。しょうがないので、他のマウントオプションをとっかえひっかえ試してみると、結局下記のコマンドラインが通った。ただ二つ目の/dev/hdc2 に対してはどんなマウントオプションも通用しなかった。(原因不明)
mount -t usf -o ufstype=openstep,ro /dev/hdc1 /mnt/bsd1 ← 成功
mount -t usf -o ufstype=openstep,ro /dev/hdc2 /mnt/bsd2 ← 失敗
mount -t usf -o ufstype=openstep,ro /dev/hdc3 /mnt/bsd3 ← 成功
普通は前述したように mount -t ufs -o ufstype=44bsd,ro /dev/hdc1 /mnt/bsd1 でできるはずである。
|