2010年2月9日火曜日

tm-serverのアップデート

久しぶりにtm-serverのアップデートのご注文をいただきました。個人事業主さんのところでしっかり働いているマシンですが、セキュリティーアップデートなどいろいろ行っていないと問題があるため、ときどき営業のメールをお送りするのですが、この不景気なご時世なのでなかなかご注文がありません。ようやく年末年始の売上金の回収が出来て余裕が出来たということでご注文をいただきました。

通常のカーネルアップグレードの他、インストール済みのアプリケーションをportupgradeで順次アップデートするだけで終了するはずだったのですが、意外なところでつまずいてしまいました。他の人のお役に立てばと思ってどのように対策をしたのかも紹介します。

perl5.8(5.8.9_1) から perl5.10(5.10.1) へのアップグレードで転んでしまいました。

/usr/ports/UPDATEの中にアップグレードの方法が記載されているのですが、ビルドを開始するとすぐにエラーとなって終了する状態となっていました。

こんなときにはすっきりとpkg_deleteでperl5.8をアンインストールして新しいperl5.10を新規にインストールする手段を選びました。

# pkg_delete -f perl-5.8.9_1
# portupgrade -N lang/perl5.10

以上で新しいperl5.10.1がインストールされました。

このままではperl-5.8.9_1に関連付けされたportsが途切れたままとなっているので"pkgdb -F"で関連付けを修復しておきました。よくあるいくつもの候補から選ぶのはなく、コマンドを発行したあとは自動で処理をしてくれました。

この後perlに関連したものを再インストールしておきます。が、いろいろと心配なのですべてのインストール済みのportsを再インストールしておきました。tm-serverで215個のportsがありました。

# portupgrade -af

サーバーという性質のものですので、ユーザーのアクセスが少なくなる時間帯を見計らっての作業となるのが辛いところです。
カーネルなどは事前にビルドしておいて深夜12時を回ったところで速攻でインストールとリブートを行い入れ替えました。
上記のportsも順次作業を行いました。

2010年2月7日日曜日

ハードディスク不良の例 ( Drive Fitness Test )

ハードディスクの不良は様々な現象として顕れてきますが、テストツールを使って発見した時の様子を紹介します。

これはHGST社の"Drive Fitness Test"を使ってのものです。

試験を開始してしばらくすると試験が終了したらこんな赤い画面が現れます。不良箇所を表示しています。


ここでこの不良箇所だけをとりあえず修復を試みるか?ハードディスク全体をローレベル・フォーマットしてディスクの領域全体の再生を試みるか?を選択するようになります。

不良箇所が出来るということは一つの原因としてディスク表面の磁気パターンが弱くなる?乱れる?のような状態になっていると思われますので、ディスク全体の磁気パターンを描きなおすローレベル・フォーマットを試みました。


運がよければディスク表面の磁気パターンが再生されて再び使用できるようになります。このとき不良箇所もなくなってしまいます。

しかしこのローレベルフォーマットが正しく完了しないと二度と使いものにならなくなってしまいます。このツールがハードディスクのどこかに不良であることを示す情報を書き込みようで、ローレベル・フォーマット自体を拒むようになってしまいます。


このことからローレベル・フォーマットはハードディスクの生き死にを賭けたものだと考えて行ってください。

以上はハードディスクの異常の一例です。全てのハードディスクがこのようになるか解りません。

ハードディスクのお引越し ThinkPad A30


いつもご愛顧いただいているお客様の依頼でThinkPad A30のハードディスクの交換を行いました。広島市内のお客様なので直接パソコンの持ち込みでした。

最近パソコンが立ち上がらないことがあるということで、ハードディスクの異常ではないかと心配して、ハードディスクの交換を依頼してくださいました。もう古いハードディスクなので寿命がいつ来てもおかしくはないと思っています。

現在の30GBから新しく購入したHGSTの80GBへの交換です。作業手数料の他にハードディスクの新品購入代金を合わせておよそ16,000円での作業となりました。

環境をそのまま引越しですので時間は掛かりましたがとても簡単でした。ハードディスクのデータ転送専用に用意しているパソコンに繋いで古いハードディスクから新しいハードディスクへデータを転送するだけです。"dd" コマンドでハードディスクの内容をすっかりコピーした後、"GParted" で領域を調整しました。


そのまんまの形で立ち上がるので本当にハードディスクを交換したの?とプチ疑惑(笑)。
ちゃんとハードディスクのプロパティを見ていただいて80GBのハードディスクの存在を確認してもらいました。

ついでにBIOSもバージョンアップしておきました。

古いパソコンなのでバッテリーがすっからかんの状態です。IBMのノートパソコンの多くはBIOSを安定して書き込むためにバッテリーが満タンでなければバージョンアップしてくれない仕様となっています。普通は諦めてしまうのですが、お客様の強っての希望ということで、パソコンが起動しなくなるかもしれないという条件でBIOSのバージョンアップを行いました。
なおバージョンアップの方法は安易に真似をされると危険なので秘密です。

古いBIOSバージョンは1.03cで、新しいBIOSバージョンは1.19となりました。

これは古いバージョンのBIOS画面


これは新しいバージョンのBIOS画面

2010年2月6日土曜日

ハードディスクのバックアップ

先日友人がパソコンを修理に出したそうで、ありがちなことですがハードディスクがすっかり初期化されていて素のWindowsXPが入っているだけの状態となってしまったそうです。今でも基本はハードディスクを初期化してリカバリをするようです。

事前に相談を受けておけばハードディスクの内容を丸ごとバックアップしておいてあげたのに思っています。

パソコンもいつ壊れるか解らない機械なので定期的なバックアップは行っておきたいものです。

私は基本的に "partimage" を使ってパーティションごとにバックアップを採るようにしています。またハードディスクの更新などのときにも使えますので、データを引越しするときにも有効です。

この "partimage" は使い慣れるまではいろいろ緊張することも多いものですが、慣れると意外に簡単で便利なものだと解るはずです。是非使ってみてください。

partimageのウェブサイトはこちら > http://www.partimage.org/Main_Page

ハードディスクのバックアップを有料で行ってくれるところ > ハードディスクのバックアップ & データ引越し

2010年2月5日金曜日

古いハードディスクの破損とメンテナンス


ハードディスクは何故か長く放置していると動作しなくなることが数多くあります。私の経験上メーカーや種類に問わず発生しているように感じています。

しかし常に使っていたり、たまにでも電源を入れるものについてはいわゆる突然死が少ないようにも感じています。読者さんのみなさんのところではどうですか?

困ったことは、パソコンの状況をそのまま凍結させる意味でハードディスクをそのまま取り外し、新しいハードディスクを取り付けて、新しいOSを稼働させていた後、再度必要に迫られて過去のハードディスクを取り付けて動作しないときです。これには本当に困りものです。これで効果があるのかは不明ですが、たまにパソコンに接続して、HGST社のツールの "Drive Fitness Test" で試験をする程度です。

これで安心が出来るものかいまいち不安です。時間があればlinuxの"badblocks"でデータの非破壊検査をするように心がけていますが、古くてデータの転送速度の遅いものややたらとデータ容量の大きなハードディスクは時間が半端なく掛かるので、余程暇なときでないと出来ないのが実情です。

"badblocks"を使用するときには進捗状況がパーセンテージで表示されるオプションでいつも使用しています。

以下は"badblocks"コマンドの使用例です。スーパーユーザーになるか"sudo"コマンドと併用します。

# badblocks -ns /dev/hda ---- パラレルATAの場合
# badblocks -ns /dev/sda ---- シリアルATAの場合(※)

※最近のカーネルではパラレルでもSCSIドライバーを使用するらしくデバイス名がsdaとなるようです。

2010年2月4日木曜日

apache1.3 update 1.3.42

久しぶりの apache1.3 のアップデートです。いつものように"portupgrade"でアップデートしました。

私の環境では 1.3.41_1 -> 1.3.42 となります。これで最終版ということらしいです。

まだ1.3系列が見捨てられていなくて感謝です。安定して動く1.3系列は長くメンテナンスをして欲しかったのですが、そろそろ本格的に2.2系列にアップグレートの検討をしなければと思っています。

2010年1月6日水曜日

FreeBSD 8.0へアップグレード libusb対策

 将来のFreeBSD 8系へのアップグレードに備えて、試験的に使っているFreeBSD 7.2のパソコンをFreeBSD 8.0へアップグレードしてみました。

 buildworld や buildkernel は特に問題もなく完了しました。パソコンのスペックが Pentium 3 1GHzであったので /etc/make.conf に "CPUTYPE?=pentium3" を設定していたのですが何故かビルドエラーとなってしまいました。しかたがないので "CPUTYPE?=pentiumpro" で対応しました。これで無事インストール完了でした。

 この後、ports を portupgrade -af で一気に更新します。およそkde3のデスクトップ環境をインストールこともあり3日間の時間が掛かりました。今までもアップグレードでも同様の時間が掛かっているので予め予想はしていたのですが、やはり大変です。

 このportupgrade でいくつかのportsがインストールエラーなどで正常に置き換えることができないものがありました。この中で苦労したのは "devel/libusb" でした。どうもFreeBSD 8系ではこのlibusbをもう使用しないようで、halなどがビルドエラーとなってしまいます。

 これは海外のFreeBSDの投稿サイトで発見して試したものです。英語はあまり得意ではないのですが、何故か問題解決のために必死で英文を読もうとすると意外と読めるようになるのはいつも不思議と思っています。

 pkg_delete -f libusb_***** で依存関係を無視して消去したあと、pkgdb -Fでports修正を修正しました。これで無事libusbに関連して停止していたビルドが順調に行われてインストールすることができました。