CSUP

FreeBSDの6系が6.3で最後となり、7系が出たいまどきでは、CVSUPではなく、CSUPでバージョンアップする。
CSUPはシステムに組み込まれており、portsなどで組み込む必要がないので、OSをインストールした直後の状態をなるべく短くすることが出来ると思っている。

BSDにくびったけさんのCSUPの頁を参考にして作業したので、そのメモ。

supfileの準備

/usr/share/example/cvsup/からstable-supfileを適当な場所にコピーし、編集する。

# mkdir /usr/local/etc/cvsup
# cd /usr/local/etc/cvsup
# cp /usr/share/example/cvsup/stable-supfile ./releng_X_X-supfile
# vi releng_X_X-supfile
   :
   :

/etc/make.confの編集

/etc/make.confを編集し以下項目を追加する。

SUP_UPDATE= yes
SUP=                 /usr/bin/csup
SUPFLAGS=      -L 2 -r 0 -l /var/run/csup.pid -Z
SUPHOST=       cvsup3.jp.FreeBSD.org
SUPFILE=          /usr/local/etc/cvsup/releng_X_X-supfile

パラーメタ -Zによって圧縮を無効化している。

CVS サーバに接続できなかった場合、リトライしない(-r 0 パラメータ)

ロックファイルを作成し、多重起動を抑制(-l /var/run/csup.pid パラメータ)

csup

# cd /usr/src
# make update

CVS サーバに接続し、ソースツリーが更新される様子が表示されるはず

FreeBSDのアップグレード

/etc/make.confの設定

postfixやqmailを使用しているばあい、sendmailのアップデートをしないように/etc/make.confを編集する。/etc/make.confが存在しない場合は、/usr/src/share/examples/make.confをコピーして編集する。

# vi /etc/make.conf
  NO_SENDMAIL=true

/usr/objのクリーンアップ

前回のアップグレード時に作成されたファイルを削除します。

# chflags -R noschg /usr/obj/usr
# rm -rf /usr/obj/usr

ベースシステムのビルドとカーネルのインストール

buildworldによりベースシステムをビルドする。並列ビルドを実行する。 シングルユーザモードで実行したほうが時間短縮できるかも。

# cd /usr/src
# make -j4 buildworld
# make buildkernel
# make installkernel
# shutdown -r now

カーネルのインストール後、通常のモードで起動し、問題が無ければシングルユーザモードでベースシステムのインストールを行う。

# shutdown now
# cd /usr/src
# make installworld
# sync
# sync
# reboot

Last-modified: 2022-05-05 (木) 22:27:10