Kozupon.com    
 
 FreeBSD CVSupを使ったアップデート!


CVSupを使ったFreeBSDのソース及びportsのアップデート方法を解説する。


1.cvsupを使ったアップデート

■ cvsupをportsから入れる

# cd /usr/ports/net/cvsup-without-gui/
# make install clean

■ csvupの設定ファイルをコピる

# mkdir /usr/local/etc/cvsup
# cp /usr/share/examples/cvsup/ports-supfile /usr/local/etc/cvsup/
# cp /usr/share/examples/cvsup/stable-supfile /usr/local/etc/cvsup/

■ ports コレクションの Makefile を最新にするためのファイルである同期するホスト名を変更する

# vi /usr/local/etc/cvsup/ports-supfile
*default host=cvsup.jp.freebsd.org       ← ここを変更
*default base=/usr
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
*default compress

ports-all

■ ソースツリーを最新の状態にするためのファイルである、ホスト名に加えてリリースバージョンを書き換える

# vi /usr/local/etc/cvsup/stable-supfile
*default host=cvsup.jp.freebsd.org       ← ここを変更
*default base=/usr
*default prefix=/usr
*default release=cvs tag=RELENG_4
*default delete use-rel-suffix
*default compress

src-all

■ コンソール端末から cvsup を実行するため、GUI出力をキャンセルする -g オプションを使う

# /usr/local/bin/cvsup -g -L 2 /usr/local/etc/cvsup/ports-supfile
# /usr/local/bin/cvsup -g -L 2 /usr/local/etc/cvsup/stable-supfile

■ make.confをつくる

# vi /etc/make.conf

NOGAMES=true
USA_RESIDENT=NO
SUP_UPDATE=yes
SUP=/usr/local/bin/cvsup
SUPFLAGS= -g -L 2
SUPHOST=cvsup.jp.freebsd.org
SUPFILE=/usr/share/examples/cvsup/stable-supfile
PORTSSUPFILE=/usr/share/examples/cvsup/ports-supfile
FTP_PROXY=proxy:3128
HTTP_PROXY=proxy:3128
KERNCONF=MYKERNEL

■ 定期的に cvsup を実行する

# vi /etc/crontab
* 4 * * * root /usr/local/bin/cvsup -g -L 0 /usr/local/etc/ports-supfile > /dev/null
* 5 * * * root /usr/local/bin/cvsup -g -L 0 /usr/local/etc/stable-supfile > /dev/null


2.アップデートしたファイルのビルド

■ ソースのビルド

# cd /usr/src
# make -j4 buildworld

■ カーネルのビルド
カーネルのカスタマイズをしてる場合は、赤文字のオプションを追加する。

# cd /usr/src
# make -j4 buildkernel KERNEL=MYKERNEL

■ カーネルのインストール
カーネルのカスタマイズをしてる場合は、赤文字のオプションを追加する。

# cd /usr/src
# make installkernel KERNEL=MYKERNEL

■ モジュールのオールインストール
シングルユーザモードで行う。

# reboot

"Hit [Enter] to boot immediately 〜"と表示されている時にEnter以外のキーを押し、

boot -s

# fsck -p
# mount -u /
# mount -a -t ufs
# swapon -a
# cd /usr/src
# make installworld
# logout


3.その他のアップデート

1) etcディレクトリのメンテ

# cp -Rp /etc /etc.old
# /usr/sbin/mergemaster -svia
# /usr/sbin/mergemaster -svir

■ MAKEDEVが更新された場合

/dev/MAKEDEV が更新された場合、以下のように聞かれる。

*** You installed a new /dev/MAKEDEV script, so make sure that you run
'cd /dev && /bin/sh MAKEDEV all' to rebuild your devices

Would you like to run it now? y or n [n]

MAKEDEV all を実行してデバイスファイルを再作成するか? ということなので y を入力してデバイスファイルを再作成する。

■ aliases ファイルが更新された場合

/etc/mail/aliases が更新された場合、以下のように聞かれる。

*** You installed a new aliases file, so make sure that you run
'/usr/bin/newaliases' to rebuild your aliases database

Whold you like to run it now? y or n [n]

newaliases を実行してデータベースを更新するか? ということなので y を入力します。

■ login.conf が更新された場合

/etc/login.conf が更新された場合、以下のように聞かれる。

*** You installed a new login.conf file, so make sure that you run
'/usr/bin/cap_mkdb /etc/login.conf' to rebuild your login.conf database

Would you like to run it now? y or n [n]

ここでも y を入力します。

■ master.passwd が更新された場合

/etc/master.passwd が更新された場合、以下のように聞かれます。

*** You installed a new master.passwd file, so make sure that you run
'/usr/sbin/pwd_mkdb -p /etc/master.passwd'
to rebuild your password files

Would you like tu run it now? y or n [n]

ここでも y を入力します。

2) /standのアップデート

# cd /usr/src/release/sysinstall
# make all install
# reboot


4.コンパイル環境の後始末(不要なファイルの掃除)

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

以上


 
 
 



Copyright 2005 Kozupon.com.