「ports」のアップデート(「portsnap」の利用)

最新のpackageを利用する為、まず「ports」をアップグレードする。
FreeBSD6.0-RELEASEでは「ports」のアップグレードの為の標準ツールとして「portsnap」があるので、これを利用する。

「portsnap」のインストール

自分の環境ではインストールされていた為、この作業は行っていないが、portsからインストールする場合は以下の方法でインストールする。

FreeBSD# cd /usr/ports/ports-mgmt/portsnap <= 作業ディレクトリへ移動
FreeBSD# make install clean <= 「portsnap」のインストール

FreeBSD# rehash <= コマンドのパスを通す
「portsnap」の設定

インストール方法によって設定ファイルのパスが異なる。
ここでは、除外するカテゴリとして日本語以外とX Window関連を指定する。

設定ファイルの編集
・デフォルトでインストールされている場合
FreeBSD# vi /etc/portsnap.conf <= 設定ファイルの編集
・portsからインストールした場合、以下のようにサンプル設定ファイルをコピーして編集する
FreeBSD# cp /usr/local/etc/portsnap.conf.sample /usr/local/etc/portsnap.conf <= サンプル設定ファイルのコピー
FreeBSD# vi /usr/local/etc/portsnap.conf.sample <= 設定ファイルの編集


# REFUSE arabic chinese french german hebrew hungarian japanese
# REFUSE korean polish portuguese russian ukrainian vietnamese
↓
REFUSE arabic chinese french german hebrew hungarian <= コメント解除して、japaneseを削除
REFUSE korean polish portuguese russian ukrainian vietnamese <= コメント解除

REFUSE x11 x11-clocks x11-fm x11-fonts <= 追加
REFUSE x11-servers x11-themes x11-toolkits x11-wm <= 追加
「ports」の更新

「ports」の更新時にextractを実行すると、既存の「ports」が消えてしまうので、必要な場合はバックアップをとる。

初回の実行時

FreeBSD# portsnap fetch <= スナップショットのダウンロード

FreeBSD# portsnap extract <= ダウンロードしたスナップショットから「ports」を再構築

FreeBSD# portsnap update <= 「ports」のアップデート

2回目以降の実行時

2回目以降はextractの実行が必要ない。

FreeBSD# portsnap fetch <= スナップショットのダウンロード

FreeBSD# portsnap update <= 「ports」のアップデート
「portsnap」の自動実行

「portsnap」はcronによって実行されるモードも準備されているので、その機能を利用して、cronにより実行する。
cronを指定した場合、動作はfetchと基本的に同じであるが、 portsnapサイトへの負荷を軽減する為にアクセスをランダムに遅延する。

FreeBSD# vi /etc/crontab <= cronの編集
0 3 * * * root /usr/sbin/portsnap cron <= 追加

自動実行用のスクリプトの作成

上記の方法だとアップデートはされないので、手動でアップデートする必要がある。
その為、アップデートまでを行うスクリプトを作成し、cronにより実行する。

FreeBSD# vi ~/portsnap.sh <= スクリプトファイルの作成
#!/bin/sh

PORTSNAP=/usr/sbin/portsnap

$PORTSNAP cron
$PORTSNAP update


FreeBSD# chmod 755 ~/portsnap.sh <= スクリプトに実行権限付加
FreeBSD# vi /etc/crontab <= cronの編集
0 3 * * * root /root/portsnap.sh <= 追加

「portupgrade」の利用


▲ページのトップへ