portsnapでportstreeを更新する

portsnap とはFreeBSD で使われるports treeを安全に更新するシステムです。

以前使われていた cvsupは、独特のプロトコルを使用するためファイアーウォール内では使用できない場合があるが、 portsnap は HTTP プロトコルが開放されていれば問題ない。 また、portsnapの方は通信が暗号化されているので、cvsupよりもセキュアである。

FreeBSD 6 からは標準ツールになりましたので、FreeBSD 6 以降を使用している方はインストール作業が不要です

設定ファイル

/etc/portsnap.conf

最初に使う場合

portsnap は最初だけ全ての ports ツリー全体を portsnap.conf ファイルで指定したサイト (デフォルトでは www.daemonology.net)から取得し、ディスク上に展開します。

portstree全体の取得と展開

以下のコマンドを一度だけ実行して下さい。

# portsnap fetch && portsnap extract && portsnap update

ports/packages の一覧表示

# portversion -vL=

手動で ports ツリーを更新(2回目以降)

# portsnap fetch && portsnap update

crond で最新の ports ツリーデータを取得(/etc/crontabに以下追加)

 0 3 * * * root /usr/sbin/portsnap cron

これで毎日午前 3:00 に portsnap が起動され、最新の port ツリーを取得することができます。 正確には3:00ではなくランダム時間経過後が正しいです。

普段、/usr/portsを更新する作業は、

# portsnap fetch update && portsdb -u

全て自動で更新する

全て自動的に実行するようにscriptを作ったかたがいますのでそれを利用すると良いでしょう。

BSDにくびったけ portsnap http://wiki.fdiary.net/BSDmad/?portsnap

make update

/etc/make.conf に以下を追加すると、/usr/ports にて make update 一発で更新できる。

※portsnap fetch update と同じ効果

PORTSNAP_UPDATE= yes
created:

Back to top