実家のサーバーマシン、といっても、
という、しょぼいパソコンなんですが、3年半前にセットアップして以来、ほぼそのまんま。
FreeBSD 5.4というなんとも古いバージョンですが、とくに問題はなかったんです([E:coldsweats01]ホント?)
しかし、他のFreeBSDマシンをすべて7.2へアップデートしてしまったもので、それじゃ大掃除のつもりで、こいつもアップデートするかと。
ハードディスクではなくて、コンパクトフラッシュで動かしていたんですが、256MBだったのか・・・512MBかと思ってた。少ないなぁ。
前回のセットアップ作業ってどうやったっけ?けっこう泥臭い試行錯誤を繰り返したような気がするけど、うーん、忘れた。
ということで、今回は、ちょっとばかり洗練されたやり方を。
まず、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つずつコピーする場合よりも、短時間で書き込めると思います。
それから、たぶん、bsdlabel -w -b boot/boot /dev/da2s1a というようなおまじないコマンドで、ブートローダーをコピーする必要があるんじゃないかな。
☆
で、CFをノートパソコンに挿して、ブート。
おっと、/etc/fstabを書くのを忘れてた [E:coldsweats01]
・・・とか、ちょっとしたミスはありましたが、無事、アップデート作業完了。
まあこれで、新しいOSで、新年を迎えられます。
0 件のコメント:
コメントを投稿