以下のFTPサイトより最新のPortsツリーをダウンロードします。
次に/usrに展開します。
# tar xvzf ports.tar.gz -C /usr/
portsを簡単にインストール・アップグレードできるツールportupgradeをインストールし、必要なディレクトリを準備します。
# mkdir /var/log/ports # cd /usr/ports/sysutils/portupgrade # make | tee -a /var/log/ports/portupgrade # make install | tee -a /var/log/ports/portupgrade # make clean | tee -a /var/log/ports/portupgrade # souce ~/.cshrc # mkdir /usr/ports/packages # mkdir /usr/ports/packages/All
portsをcvsupしたらportupgradeの位置がsysutilからports-mgmtに変更になっていた。
portauditを実行しようとしたら実行できず、portupgradeをしようとしたらcan't cd /usr/ports/sysutils/portupgradeとエラーメッセージが出力されportupgradeもできず。
調べてみたところ、/usr/ports/INDEXを削除してportsdb -Fuを実行し、portupgrade -v portupgradeでportupgradeをアップデートした。
# mkdir TRASH # mv INDEX* TRASH # portsdb -Fu # portupgrade -v portupgrade
ログを簡単に取れるようにpkgtools.confを修正する。
# vi /usr/local/etc/pkgtools.conf PORTUPGRADE_ARGS = ENV['PORTUPGRADE'] || \ '-v -D -L /var/log/ports/'
セキュリティ上問題のあるportsのインストールを拒絶する機能と、インストール済みのportsから問題のあるものをリストアップします。
cronにて自動的に動作させる。
ports/kernelの同期を行うCVSupをインストールする
# cd /usr/ports # portinstall net/cvsup-without-gui # mkdir /etc/cvsup # mkdir /var/db/sup # mkdir /var/log/cvsup # mkdir /var/log/cvsup/ports # mkdir /var/log/cvsup/pkg
FreeBSDのcvsupサーバの中から応答時間の速いサーバを探し出す。
# portinstall sysutils/fastest_cvsup
portsやkernelの同期を行う。
# fastest_cvsup -c jp
>> Querying servers in countries: jp --> Connecting to cvsup.jp.freebsd.org [210.224.172.75]... - server replied: OK 17 0 SNAP_16_1g CVSup server ready - time taken: 17.58 ms --> Connecting to cvsup2.jp.freebsd.org [202.229.199.30]... - server replied: OK 17 0 SNAP_16_1f CVSup server ready - time taken: 11.20 ms --> Connecting to cvsup3.jp.freebsd.org [210.188.224.44]... - server replied: OK 17 0 SNAP_16_1h CVSup server ready - time taken: 10.62 ms --> Connecting to cvsup4.jp.freebsd.org [133.1.44.1]... - server replied: OK 17 0 SNAP_16_1f CVSup server ready - time taken: 20.91 ms --> Connecting to cvsup5.jp.freebsd.org [210.161.150.4]... - server replied: OK 17 0 SNAP_16_1h CVSup server ready - time taken: 15.68 ms --> Connecting to cvsup6.jp.freebsd.org [133.1.240.15]... - server replied: OK 17 0 SNAP_16_1h CVSup server ready - time taken: 21.96 ms >> Speed Daemons: - 1st: cvsup3.jp.freebsd.org - 2nd: cvsup2.jp.freebsd.org - 3rd: cvsup5.jp.freebsd.org
この場合、cvsup3.jp.freebsd.orgが一番速い。
/usr/share/examples/cvsup/stable-supfileを/etc/cvsup/releng_6_1-supfileにコピーし編集する。
# cp /usr/share/examples/cvsup/stable-supfile /etc/cvsup
編集箇所
*default host=CHANGE_THIS.FreeBSD.org ↓ *default host=cvsup3.jp.FreeBSD.org
*default compress ↓ #default compress (コメントにする)
# mkdir /var/log/cvsup/releng_6_1 # cvsup -g -L 2 /etc/cvsup/releng_6_1-supfile \ | tee -a /var/log/cvsup/releng_6_1/20YYmmdd.log #ログファイル名は日付
postfixやqmailを使用しているばあい、sendmailのアップデートをしないように/etc/make.confを編集する。/etc/make.confが存在しない場合は、/usr/src/share/examples/make.confをコピーして編集する。
# vi /etc/make.conf NO_SENDMAIL=true
前回のアップグレード時に作成されたファイルを削除します。
# 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
/usr/share/examples/ports-supfileを/etc/cvsup/ports-supfileにコピーし編集する。
# cp /usr/share/examples/cvsup/ports-supfile /etc/cvsup
編集箇所
*default host=CHANGE_THIS.FreeBSD.org ↓ *default host=cvsup3.jp.FreeBSD.org
*default compress ↓ #default compress (コメントにする)
# cvsup -g -L 2 /etc/cvsup/ports-supfile \ | tee -a /var/log/cvsup/ports/20YYmmdd.log #ログファイル名は日付 # portsdb -Fu # portaudit -Fda