2009年12月30日水曜日

実家のサーバーマシンのOSをアップデート

実家のサーバーマシン、といっても、

ジャンク・ノートパソコンで家庭内サーバ

という、しょぼいパソコンなんですが、3年半前にセットアップして以来、ほぼそのまんま。



FreeBSD 5.4というなんとも古いバージョンですが、とくに問題はなかったんです([E:coldsweats01]ホント?)



しかし、他のFreeBSDマシンをすべて7.2へアップデートしてしまったもので、それじゃ大掃除のつもりで、こいつもアップデートするかと。



ハードディスクではなくて、コンパクトフラッシュで動かしていたんですが、256MBだったのか・・・512MBかと思ってた。少ないなぁ。



200912291



前回のセットアップ作業ってどうやったっけ?けっこう泥臭い試行錯誤を繰り返したような気がするけど、うーん、忘れた。



ということで、今回は、ちょっとばかり洗練されたやり方を。



まず、FreeBSDなデスクトップパソコン(これも、現役を引退したお古ですが)で、jail環境を構築。



方法は、基本的にはjailのマニュアルに書いてあるとおり。



ただし、make buildworldするとき、src.confにWITHOUT_PROFILE=yesなどあれこれ指定して、不要なものがインストールされないように細工をしておきます。



また、kernelのCONFIGファイルも、いらないドライバを抜くなどチューニングして、ダイエットしてやります。



こうすることで、普通にインストールすると162MBほどディスクを使用していたところが、119MBに減りました。う~ん微妙[E:coldsweats01]



つぎにjail環境の中で、portsを使って、あれこれソフトウェアをインストール。
そうだ、前回は、/usr/local/binとか/usr/local/libのファイルを、手でコピーしたんだっけ。そのせいで、ソフトウェアをアップデートするのがおっくうになってたんだ [E:gawk]



そうして、jail環境で、ちゃんと動くことを確認。ちょっと洗練された方法ですね。自画自賛。



仮想マシンを使わずにjailを使う、ってのがミソかもしれません。何しろ、デスクトップマシンも、Pentium4 2.4GHz、1GBという、今となっては非力なマシンなもので、仮想マシンでエミュレートでもしようものなら、さらに遅くなってしまう。その点、jailなら、まったくといっていいほどオーバーヘッド無しに、快適に作業できます。
それと、jailの場合だと、host環境の方からは、ファイルシステムが丸見えになっているので、作業しやすいですね。うん、これはホント、すばらしく使いやすいです。





一方で、今運用中のサーバーマシンのディスクの内容を、/dev/ad0s1aとかから、直接ddで吸出して、デスクトップパソコンのほうへ、コピーしちゃいます。
このディスクイメージファイルは、mdconfigしてマウントしちゃえば、必要なファイルを新環境側へ自由自在にコピーできます。




というような感じで、jailを使って、満足の行く環境ができたので、ファイルをコピー・・・しようと思ったら、すでに256MBには入りきらなくなっていました。[E:coldsweats01]



というわけで、/usr/local/share、/usr/local/man、/usr/local/libあたりにあるファイルを、たとえば/extraといったディレクトリ以下へ移動して、シンボリックリンクを張っておきます。
CFへコピーするときは、/extraを抜いておく、という作戦です。





そして、mdconfigしたディスクイメージをいったんnewfsしてから、新環境のファイル一式を、tarでコピー。

さあ、これで、ディスクイメージができちゃいました。





いよいよ、サーバーのアップデート。サーバーをシャットダウンして、CFを取り出します。



あとは、CFをデスクトップパソコンに挿して。さきほど完成したディスクイメージを、ddコマンドで、CFへまるごとコピー。たぶん、このほうが、ファイルを1つずつコピーする場合よりも、短時間で書き込めると思います。



200912292



それから、たぶん、bsdlabel -w -b boot/boot /dev/da2s1a というようなおまじないコマンドで、ブートローダーをコピーする必要があるんじゃないかな。





で、CFをノートパソコンに挿して、ブート。



200912293



おっと、/etc/fstabを書くのを忘れてた [E:coldsweats01]



・・・とか、ちょっとしたミスはありましたが、無事、アップデート作業完了。



まあこれで、新しいOSで、新年を迎えられます。



200912294



 



0 件のコメント:

コメントを投稿