FreeBSD QandA 1770

FreeBSD QandA

Q. 私はメールクライアントの passwd 再設定をさせたくないので現在使用中
   の FreeBSD 2.2.5 から FreeBSD 3.5.1 へのバージョンアップは CD-ROM 
   を使って UPGRADE しようと考えています。

   CD-ROM 内の FreeBSD のアップグレードをよく読んで、注意点を押さえて
   やればこのまま実行して大丈夫ですよね。

A. インストーラのメッセージでも表示されるように、なにがおきても自分で
   なんとかできる人以外は、そのまま UPGRADE してはいけません。/etc 配下の
   ファイル、パッケージのリスト (/var/db/pkg)、メールスプール、追加アプリ
   ケーションとその設定ファイル (/usr/local や /usr/X11R6 以下など)、
   ホームディレクトリ (/home) などを確実にバックアップしておいて、新規に
   インストールしましょう。

   このようなとき、/var, /usr/local, /usr/X11R6, /home などが / や /usr 
   と別パーティションになっていると、インストーラの disklabel の画面で、
   / (ルート) と /usr だけ Newfs フラグを Yes にすれば良く、あとでリスト
   アする手間がかなり省けます。もちろん自分で必要なものだけで良いのですが、
   もし完全に真っ新の状態からリストアするのなら、X11 はリストアしてから追
   加インストールした方が、パッケージで入れたものが混乱しないですみます。
   また、FreeBSD のリリースが上がることで compat?? ライブラリが必要になる
   場合があります。特に 2.2.x からの更新では compat22 はほとんど必須とい
   えるかもしれません。これは、いまだに aout 形式のアプリケーションが存在
   するためで、一連の Netscape 関連のパッケージはその筆頭です。

   FreeBSD のメジャーバージョン (リリース番号の最初の数字) が上った場合、
   設定ファイルの書式も大きく変わっているものが多いため、これらを書き戻す
   だけでは動かないものがあります。通常は mergemaster(8) を使って設定ファ
   イルを更新すれば、全てを手動で対処するよりも楽だと思います。

   mergemaster の実行には /usr/src に FreeBSD のソースが必要なので、事前
   にインストーラを利用するなどして展開しておいてください。次に、/etc 全
   体を以前の状態にリストアしてから mergemaster を実行します。基本的には 
   'i' コマンドでそのまま /etc にコピーするか、'm' で変更点をマージしてか
   らコピーすることになりますが、/etc にコピーせずに保留にしたファイルは 
   /var/tmp/temproot 以下に残されますので、後で個別に対処してください。
   また、最後にいくつか手動でコマンドを実行するようにメッセージが表示され
   ることがあります。

    # cd /dev && sh ./MAKEDEV all
    # newaliases
    # cap_mkdb /etc/login.conf
    # pwd_mkdb -p /etc/master.passwd

   なおバックアップとリストアには、確実にユーザ情報やパーミッションなどが
   復元できるツールを使ってください。例えば、dump(8) + restore(8)tar(1) コマンドや cp(1) を使う場合は -p オプションを指定するようにして
   ください。

間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。