まぁとある事情でRedhat Linux 9(以下RH9)をなんとかせねばならなくなった。個人的に使い慣れたSUSEを新規で入れるか、一か八かでCentOS(実質RHELと同等)にするか悩んだ末、各種設定や環境、データも移行したいという思惑もあり、CentOSへ「アップグレード」する事を決意。で。
・CentOS5.1のインストールCD/DVDを用意
・CD/DVDからブート
・boot: linux updateany としてアップグレードインストールさせる
・途中、インストール済みOSとして Redhat9 が表示される。糠喜びにならぬよう祈る…
・インストールは新規インストールより時間がかかる感じ?
・終了したから再起動せよ、と出るので期待と不安で再起動
・見事に起動しない。Kernel panic
・ブートローダの記述ミス。liloをそのまま使う、みたいなメッセージが出てたような気がするがgrub? どっちにしてもrootパーティションの設定が異なっていてそのままじゃどうやっても起動しないので、ブートCD/DVDから起動し boot: linux rescue にて grub.conf を修正する。grub用のブートローダも入ってたんだかよくわからないので入れる
・opensuseもそうだったが、アップグレードインストールでgrubの設定がとんちんかんになる。なんで???
・無事起動
・インストール済みアプリケーションによってはバージョンアップによって設定ファイルやデータファイルの記述や場所が異なる、新規・廃止パラメータ等がある、等でそのままでは動かないものがあるので適時修正(これが結構大変かも)
・ユーザーやネットワーク設定等、きちんと引き継がれているので、各種アプリの設定等を正しく更新できれば全く問題ない
・インストール直後のCentOS5.1でyumにてアップデートを行うとカーネルのアップデートも対象となるのだが、jfsutilsとの依存関係で更新できないと怒る。知るか!
→設定で[centosplus]というリポジトリが標準では有効にならないようになっていた
–enablerepo=centosplus というオプションを付け加えればOK
・よくよく見てみると、既存パッケージのみではなく、全てのパッケージが突っ込まれているように見える…。もしそうならインストールに時間掛かる訳だよな…
というような感じで割とすんなりとアップグレードできてしまい拍子ぬけ。以下、主だったアプリケーションでなんらかの対応が必要だったものの一部。
設定ファイルの記述が変わったもの
apache2 (2.0.51->2.2.3)
2.0から2.2でも大分記述が変わっているので要注意
既存のhttpd.confをこねくりまわすより、プレーンなhttpd.confを編集すべき
モジュールも分割されたり等名称変更多数
postfix
1.1.12?->2.3.3
そのままでもOKっぽい。が、念のため設定ファイルは最新バージョンのものから変更したほうがよさそう
設定ファイル・データファイルの場所が変わったもの
mailman
2.1.6->2.1.9
かなりドラスティックに変わった(多分RPMで入れたと思うのだがtarボールから入れたのかどうか失念。それによって各種実行ファイルやデータファイルの場所が異なる筈…)
設定や既存データは移動されない。残ってはいるので場所を変える
移動後のディレクトリやファイルのパーミッション設定に注意する(check_perms)
check_perms -fでは修正してくれないarchivesのパーミッション設定をきっちり行わないとこれまた泣ける結果になる
aliases内の内容も変更しないとならない。aliases.dbの更新(postmap aliases)ではまる
そしてpostmap aliasesではなく、postaliases aliasesでないと泣ける
genaliases も必要(これはmailman側のコマンド)
サイトパスワードが通らなくなっているので再設定? adm.pw の場所が変わっていただけ
/var/mailman/data/adm.pw や aliases の保存場所が /etc/mailman に変わっていてこれも泣けた
bind
chrootな環境に変わっているのでデータファイルを移動する
まぁこんな感じで、OSの移行自体はホントに拍子抜けするくらいあっさりと終わった。しかし、新規インストールではなく、アップグレード(まぁ元がRHELだからRH9からの移行と言っても特別な何かはないのかも知れないが)がこんなにきっちりと行われた、というのは特筆に値するのではなかろうか? 侮れないなぁ…。