2008年 1月 12日 掲載, 2008年 1月 23日 一部修正
メインマシンである自作 3号機の OS は 4年前の FreeBSD 5.2.1 で,さすがに古い. サポートはとっくに切れているし, 新しいアプリケーション,ツールのインストールも困難になってきた. そこで,一応最新のリリースである 6.2 に入れ換えることにした.
今回のシステム入れ換えでは, FreeBSD のバージョンを 5.2.1 から 6.2 に上げるだけでなく, atacontrol で行っていた RAID1 の構築を, gmirror を使うように変更した.
インストールするハードディスクは, Maxtor の 4R120L0(120GB,ATA/133)である. 3台あるので,作業手順の解説のために, それぞれのディスクに番号を付けて呼ぶ.
作業には,システムを入れ換える 3号機のほかに, データバックアップ用の 自作 2号機, インストール作業用の 自作 4号機, の 2台のマシンを使用した.
以下にシステム入れ換えの手順を記す.
念のためにデータを別マシンにバックアップしておく.
/home/kdo の内容を 2号機にバックアップする. 2号機から起動して,
$ rsync -e ssh -a --delete kdo3:/home/kdo /home2/kdo/kdo3/
2番ディスクをはずし,4号機のセカンダリマスタにつなぐ. 4号機の FreeBSD 6.2 から起動し,
# atacontrol delete ar0
再起動し,dmesg で ar0 が無くなっているのを確認.
なお,1番ディスクは,いつでも環境を戻せるように保存しておくので, ar0 もそのままにしておく.
4号機のプライマリマスタを 3番ディスクと交換し, インストールCD1 を使って FreeBSD 6.2 をインストール.
FreeBSD 6.2 試行錯誤:インストール を参考にして行った, ただし,Partition を切りなおすのは ad0 のみ. ad2(元の 3号機のディスク)は, あとで内容を ad0 にコピーするので,いじらない.
旧システムの 2番ディスク(現在 ad2)の内容を, 新システム 3番ディスク(現在 ad0)にコピーする.
タイムスタンプなども保持したままコピーしたいので, rsync コマンドをインストールして使う.
$ su # mount /dev/ad2s1f /mnt # cd /mnt/home/kdo/FreeBSD_6.2/packages # pkg_add rsync-2.6.8_2.tbz # exit $ cd ~kdo $ sh sync.sh |sh
ここで,sync.sh は 2番ディスクの /home/kdo の内容をリストアップして rsync するスクリプト.
#!/bin/sh LIST=`ls -d /mnt/home/kdo/*` for DATA in $LIST do echo rsync -a $DATA /home/kdo/ done
ドットファイルとかは新しく作りなおしたいので, /home/kdo 丸ごとの rsync はしない.
ファイルのユーザID とグループID が, 旧システムと新システムでは違っていたので, パーミッションが 600 のファイルなどのコピーに失敗する. su して chown -R kdo,chgrp -R wheel してから,rsync しなおす,
$ su # cd /mnt/home # chgrp -R wheel kdo # chown -R kdo kdo # exit $ cd ~ $ sh sync.sh | sh
100GB 以上あるから時間がかかる. 4時間以上かかった.
~/GNUstep はドットファイルではないが, 古い設定ファイルなので rm -r しておく.
インストールCD1 から起動して, gmirror で RAID1 を構築.
FreeBSD 6.2 試行錯誤:gmirror で RAID を参考にして行った.
120GB の同期に 70分かかった.
以前に 4号機で RAID を構築したときは,ハードディスクのエラーではまったが, 今回は問題なく終了.
3番,2番のディスクを 3号機のプライマリマスタ,セカンダリマスタにつなぐ. 電源を入れ,2台のハードディスクが認識され,FreeBSD 6.2 が立ち上がるのを確認.
ネットワークの設定が違うので /etc/rc.conf を書き換える.
hostname="kdo3.localhost" ifconfig_rl0="inet 192.168.107.80 netmask 255.255.255.0"
ここで rl0 は, 3号機で使っている NIC GreenHouse GH-EL100/RT のデバイス名である.
reboot して,ifconfig でネットワークの確認をする.
いろいろインストールする前に,まず libiconv のインストールを行っておく. これはいろいろなアプリケーションが依存していて, あとでアップグレードするのはめんどうなのだ.
# cp libiconv-1.9.2.tar.gz /usr/ports/distfiles/ # cp libiconv-1.9.2-cp932.patch.gz /usr/ports/distfiles/ # cd /usr/ports/converters/libiconv # make WITH_EXTRA_PATCHES=yes install clean
あとは FreeBSD 6.2 試行錯誤にしたがって, いろいろインストール,設定していく.
以下,インストールしたアプリケーション(など)と設定ファイルのメモ.
朝 6時にはじめた作業は,16時すぎに終わった.
[ KDOホームにもどる ]
(C) 2008 KDO