FreeBSD 6.2-RELEASEへのアップグレード手順(その1)

 FreeBSDを最新リリースへアップグレードしてみたのでその記録を残しておく。
私の場合FreeBSD6.0 -p7から久々のアップグレードである。まずは参考になりそうな情報を検索してみることに・・・ さて、アップグレードなので以下のサイトを参考にした。

一連の作業に入る前に・・・

  • この作業では必ず装置の再起動が発生する
      各種サーバを立てて公開している環境では運用の停止を考慮しなければならない
  • システムが動作および起動しなくなるおそれがある
      バックアップは必須。またどの段階でトラブルが発生したにしても、その復旧の手順をあらかじめ知っておく事が重要である(たとえばカーネルをもとに戻すなど)

★☆★☆★☆ ナウでヤングなレンタルサーバー!ロリポップ! ☆★☆★☆★
・なんと一番安いプランだと月額263円から!これならおこづかいで使えちゃう。
・容量も200MBの大容量!CGIにSSI、PHPだって使えるよ。
・85個もの可愛いアドレスで、友達に差をつけちゃおう。

アップグレードの流れ(make worldの利用)

 ハンドブックの流れをもとにしているが、自己判断で飛ばした項と利用環境により追加した項がある。

  1. cvsupによるソースの同期(従来から使用しているのでcvsupを利用)
  2. /usr/src/UPDATING を読む
  3. /etc/make.conf の確認
  4. /etc/group の更新
  5. シングルユーザモードへの移行
    • 稼動中のシステムに他のユーザログインし変更を加えることが無い環境では、マルチユーザモードでシステムを再構築してシングルユーザモードに移行してからそれをインストールする方法がある.
  6. /usr/obj の削除
  7. ソースの再構築
    • 出力メッセージの保存
    • ベースシステムの構築とインストール
  8. 新しいカーネルの構築とインストール
  9. シングルユーザモードで再起動する(これ以降完了まで既存サービスは停止状態である)
  10. 新しいシステムバイナリのインストール
  11. make world で更新されないファイルの更新
    • jail環境等の更新
    • 既存の /etc をバックアップする
    • mergemaster(8)を使った/etcの内容の更新
  12. /dev の更新
  13. /stand の更新
  14. 再起動

cvsupによるソースの同期

 従来から導入しているcvsupのportsを使ってソースを同期することにする。

cvsupの設定

 /usr/share/examples/cvsup/standard-supfile ファイルを使用する事としその一部内容を書き換える。

*default host=CHANGE_THIS.FreeBSD.org 
*default release=cvs tag=RELENG_6_2
CHANGE_THIS.FreeBSD.orgの行をに下記のいずれかに書き換える。 RELENG_6_2と今回アップグレードするRELENG_6_2へ書き換える。

ソースの同期

# cvsup -g -L 2 /usr/share/examples/cvsup/standard-supfile

 

/etc/make.conf の確認

 独自に追加を行っているものがある場合、見直した方が良いかも知れない。(コメントアウトする)
# added by use.perl 2006-04-25 00:17:01
PERL_VER=5.8.8
PERL_VERSION=5.8.8
WITH_APACHE2= YES

#CFLAGS= -O -pipe
#NOPROFILE= true
など

/etc/group の更新

 /etc/groupにR6.1から追加されている以下のグループをひとつ追加。(/usr/src/UPDATINGに記載あり)

audit:*:77:

 これを忘れるとmake installworldにて下記エラーとなる

# make installworld ERROR: Required audit group is missing, see /usr/src/UPDATING.
*** Error code 1

 

シングルユーザモードへの移行

  マルチユーザモードでシステムを再構築してシングルユーザモードに移行してから、それをインストールする方法をとるため省略.

/usr/obj の削除

 変更不可フラグの解除をおこなう。
# cd /usr/obj
# chflags -R noschg *
# rm -rf *

 

参考:

 これ以降は FreeBSD 6.2-RELEASEへのアップグレード手順(その2) で説明する。