Table of Contents
ファイルをダウンロードして展開する前に、
ファイルを展開する場所を決めておく必要があります。
pkgsrc を root ユーザーとして使う場合、pkgsrc は通常は
/usr/pkgsrc
にインストールされます。
ソースおよびバイナリーパッケージは、
ファイルシステム中のどこでも好きな場所にインストールしてかまいませんが、
シェルその他のプログラムにとって特別な意味を持つスペースなどの文字は、
パス名に含めてはいけません。
アルファベット、数字、下線とダッシュだけを使うのが安全な方法です。
pkgsrc のファイルをダウンロードする前に、
current 枝と stable
(安定版) 枝のどちらを使うのかを決めます。
後者は、current 枝から四半期ごとに分岐するもので、
セキュリティー上の更新に限って修正されます。
stable 枝の名前は、年と四半期を組み合わせたもので、たとえば
2009Q1
となります。
次に、pkgsrc をどの方法で ダウンロードするかを決めます。方法としては、tarファイル、 CVS経由があります。ここでは両方とも説明します。
pkgsrc のあらゆるファイルの一次配布元は ftp://ftp.NetBSD.org/pub/pkgsrc/ です。 目的別に多数のサブディレクトリーがありますが、 それについては Appendix C, pkgsrc FTP サーバーのディレクトリー配置 で詳しく説明しています。
current 枝の tar ファイルは、
current
ディレクトリー内にあり、ファイル名は pkgsrc.tar.gz
です。
このファイルは、毎日、自動生成されます。
安定版の 2009Q1 枝の tar ファイルは、
pkgsrc-2009Q1
ディレクトリー内にあり、ファイル名は同じく pkgsrc-2009Q1.tar.gz
です。
安定版 pkgsrc の tarball をダウンロードするには、以下のコマンドを実行します。
$
ftp ftp://ftp.NetBSD.org/pub/pkgsrc/
pkgsrc-20xxQy
/pkgsrc-20xxQy
.tar.gz
ここで、pkgsrc-20xxQy
は、
ダウンロードする安定版の枝名にします。たとえば、
“pkgsrc-2009Q1” になります。
ダウンロードしたら、以下のようにして展開します。
$
tar -xzf
pkgsrc-20xxQy
.tar.gz -C /usr
こうすると、/usr/
に
pkgsrc/
ディレクトリーが作られ、
/usr/pkgsrc/
以下に全パッケージのソースが置かれます。
pkgsrc-current をダウンロードするには、以下のコマンドを実行します。
$
ftp ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc.tar.gz
pkgsrc の stable 枝名を指定して取得するためには、以下のコマンドを実行します。
$
cd /usr && cvs -q -z3 -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -r
pkgsrc-20xxQy
-P pkgsrc
ここで、pkgsrc-20xxQy
は、
チェックアウトする stable 枝名にします。たとえば “pkgsrc-2009Q1” になります。
こうすると、/usr/
ディレクトリーに
pkgsrc/
ディレクトリーが作られ、
/usr/pkgsrc/
以下に全パッケージのソースが置かれます。
pkgsrc current を取得するには、以下のコマンドを実行します。
$
cd /usr && cvs -q -z3 -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -P pkgsrc
利用可能な CVS ミラーサイト一覧から、もっとも速いものを選んで使ってください。
rsh
のエラーメッセージが出た場合は、たとえば以下のようにして、環境変数 CVS_RSH を設定する必要があります。
$
cd /usr && env CVS_RSH=ssh cvs -q -z3 -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -P pkgsrc
CVS_RSH=ssh の設定を今後も有効なままにする方法は、お使いのコマンドシェルのドキュメンテーションをご覧ください。
Bourne シェルの場合は、この設定を以下のとおりユーザーの .profile
に、
またはより大域的に /etc/profile
に書くことができます。
# set CVS remote shell command CVS_RSH=ssh export CVS_RSH
CVS は、標準状態では、多くの人の望む挙動をしてくれません。
しかし、
以下の内容の .cvsrc
というファイルをホームディレクトリーに置いておけば、
標準での挙動を変えることができます。このファイルを置いておけば、
あなたの悩みや、余計なバグ報告もなくなるでしょうから、
そうすることを強くおすすめします。
このファイルに関する説明は、
CVS のドキュメンテーションにあります。
# recommended CVS configuration file from the pkgsrc guide cvs -q -z3 checkout -P update -dP diff -upN rdiff -u release -d
pkgsrc を最新の状態に保つ方法としては、CVS をおすすめします (最初に tar ファイルを使ってインストールした場合でも、更新には CVS を使えます)。 CVS を使えば、tar ファイルをあらためてダウンロードした場合にくらべ、 帯域やハードディスクの負荷を減らすことができます。
tar ファイルを使って更新する場合は、まず、 これまで使っていた pkgsrc ディレクトリーを完全に削除する必要があります。 さもないと、それまでの間に pkgsrc から削除されたファイルがローカルディスクに残ったままになり、 不整合が生じてしまいます。 これまで使っていたファイルを消す場合、pkgsrc のファイルに独自に施した変更が、 更新後にすべて失われてしまいます。 このため、CVS を使った更新を強くおすすめします。
なお、distfile とバイナリーパッケージは、標準ではいずれも
pkgsrc ツリー内に置かれますので、pkgsrc ツリーを更新する前に退避させておくことを忘れないでください。
DISTDIR
と PACKAGES
を設定して、標準のディレクトリーとは別の場所を
pkgsrc が使うような構成にすることもできます。
詳細はChapter 5, pkgsrc を設定するをご覧ください。
tar ファイルを使って pkgsrc を更新するためには、 初回の入手時と同様に、tar ファイルをダウンロードします。 次に、pkgsrc ディレクトリーに独自の変更を何も加えていないことを確認します。 pkgsrc ディレクトリーを削除してから、新しい tar ファイルを展開します。これで完了です。
CVS を使って pkgsrc を更新するためには、pkgsrc
ディレクトリーへ移動して cvs を実行します:
$
cd /usr/pkgsrc && cvs update -dP
rsh
がエラーメッセージを出す場合は、前述の新規取得時と同様に、環境変数 CVS_RSH を設定する必要があります。たとえば以下のようにします。
$
cd /usr/pkgsrc && env CVS_RSH=ssh cvs up -dP
pkgsrc の更新時、CVS プログラムはそれまで使っていた枝をそのまま追いつづけます。 しかし、何らかの理由で stable 枝から current 枝に移りたい場合は、 “update” キーワードの後に “-A” オプションを追加して current に移ることができます。 current 枝から stable 枝に戻るには、 “-rpkgsrc-2009Q3” オプションを追加します。