以前の release では,cvsup などを用いて煩雑な手順で最新化を行う必要があったが,最近の release には
portsnap が導入されているため,大分簡単になった.
まずは, portupgrade をインストールする必要がある. Portupgrade は,ports-mgmt セクションにあるので,
> cd /usr/ports/ports-mgmt/portupgrade
> sudo make install clean
Porsts collection の最新データは portsnap で取得することができる.Portsnap はrelease-7.0 では標準でインストールされている.最新のデータを取得するには(初回の場合),
> sudo portsnap fetch extract update
これには,しばらく時間がかかる.しかし,一度上記コマンドを行えば,次回からは,
> sudo portsnap fetch update
この取得だけですむ.次に,portsのデータベースファイルを取得する.
> sudo portsdb -F
次に,インストールされている ports と,最新の ports との比較をするために,
> sudo portversion -vL '='
これで,FreeBSD サイトのデータベースと local にインストールされているプログラムとヴァージョンの異なるものの 一覧が以下のように出力される.
bitstream-vera-1.10_1 < needs updating (port has 1.10_2)
expat-1.95.8_3 < needs updating (port has 2.0.0_1)
などなど...
出力のうち, local にインストールされているものが最新より古い場合, 出力された全てのプログラムをアップデートすることができる.
> sudo portupgrade -aP
日常的に port のアップデートをするには,以下のように連続的にコマンドを実行するのがよいだろう.
> sudo portsnap fetch update && sudo portsdb -F && sudo portversion -vL '='
Portupgrade は,時々思わぬほど時間がかかることがあったりするので,別途実行するのがいいだろう.
FreeBSDは日々新しい機能を適用し,ソースで公開している.そのためには cvsup でレポジトリと同期し, 機能をインストールしていけばいいのだが, mergemaster など,初心者には敷居が高い. 筆者は普通にサーバーを運営していくには,セキュリティパッチを当てていれば十分と思う.そのような目的でのプログラムが freebsd-update だ,公開されているセキュリティパッチを当てるには,単に
> sudo freebsd-update fetch install
でOKだ./bootディレク トリなどに変更があ ればシステムを再起動しよう.以上を行えば,システムの最新化は行える.