作業日記@HatenaBlog

各種の作業メモ

FreeBSD 8.1 -> 8.2

更新手順

  1. バージョン確認
    更新前のバージョンを確認する。
    # uname -a
  2. /usr/obj 以下を削除
    # cd /usr/obj
    # chflags -R noschg *
    # rm -rf *
  3. /etc/src.conf 作成
    # touch /etc/src.conf
    # vi src.conf
     
    SUP_UPDATE = yes
    SUP = /usr/bin/csup
    SUPFLAGS = -g -L 2
    SUPHOST = cvsupX.jp.FreeBSD.org (「X」は数字1桁を示す)
    SUPFILE = /usr/share/examples/cvsup/standard-supfile
  4. /usr/share/examples/cvsup/standard-supfile 変更
    # vi /usr/share/examples/cvsup/standard-supfile
     
    (変更前)
    *default release=cvs tag=RELENG_8_1

    (変更後)
    *default release=cvs tag=RELENG_8_2
  5. /usr/src/sys/amd64/conf/GENERIC_ALTQ ファイルを使用
    過去に作成したコンフィギュレーションファイルを使用する。
    変更する場合は別途作成する。
  6. カーネルソースを /usr/src/ 配下に取り込む
    # cd /usr/src
    # make update
  7. make buildworld
    # cd /usr/src
    # make -j 4 buildworld
  8. make buildkernel
    # make buildkernel KERNCONF=GENERIC_ALTQ
  9. make installkernel
    # make installkernel KERNCONF=GENERIC_ALTQ
  10. 再起動
    # shutdown -r now
  11. シングルユーザーモードでログイン
    グラフィカルな場面で"4"を選択する。
    またはローダープロンプトで boot -s とすればシングルユーザーでログインできる。
  12. 日付の修正
    date コマンドを実行して日付を確認する。不正確な日時の場合は、次のとおり修正する。
    日付が正しい場合は省略可。
    # adjkerntz -i
  13. ファイルシステムチェック
    ファイルシステムをマウントする前にチェックする。
    # fsck -p
  14. ファイルシステムのマウント
    # mount -u /      (/を読み書き可能にして再マウント)
    # mount -a -t ufs (fstabの内容をすべてマウント)
    # swapon -a
  15. mergemaster -p
    /etc 以下が更新されるので、念のためバックアップしておく。
    # cp -Rp /etc /etc.old.YYYYMMDD
    # mergemaster -p
    -pオプションは世界構築前モードと言い、マシンが起動するために絶対必要なファイルの更新だけを行なうもの。(etc/group, /etc/master.passwd 等)
  16. make installworld
    # cd /usr/src
    # make installworld
  17. mergemaster
    # mergemaster -UPi
     
    -U ユーザーによる変更がないファイルは自動的にアップデート(注)
    -P バックアップオプション
    -i 新規追加されたファイルは自動でインストール
    -U :これをするには比較元のデータ /var/db/mergemaster.mtree が必要。一度でも mergemaster を行なえば存在しているが、無い場合は今回に限り -U オプションはつけないこと。
    -P :バックアップオプション。これをつけると /var/tmp/mergemaster/preserved-files-`date+%y%m%d-%H%M%S` という書式でバックアップファイルを作成する。
    この mergemaster がOSアップデート最後の作業であるため、重要なファイルを削除したりしないように注意する。
  18. 再起動
    # reboot
  19. バージョン確認
    # uname -a