入口
  src
  /usr/pkgsrc
    を準備する
  実行形式
    【パッケージ関係の操作】
    【pkg_info】
    packages directory
    i386 の場合
      nyftp.netbsd.org
      ftp.netbsd.org
      ftp.jp.netbsd.org
      ftp2.jp.netbsd.org
    NetBSD-5.0 の場合
    ftp mirrors
  pkg_add
  PKG_PATH
  依存関係
  PKG_PATH
    packages 一覧
    amd64/5.0
    i386/5.0
    powerpc/5.0
    i386/4.0
    amd64/4.0
    PowerPC/3.1
    PowerPC/4.0
    環境変数前
    環境変数の設定
    【Gimp】
  pkg_info
    -u
  pkg_delete
    required
      -f
      -r
pkgsrc
    依存関係
    README.html
    探す方法
    情報 - pkg_info
    展開位置
    bootstrap-pkgsrc
    target of make
    各論
  自分で用意する
    files
    debug
    PLIST
    distinfo
  mk
  pkgtools
    bulk build
    wip
bulk build
  pbulk
  pbulk
    1. 配置
    2. 準備
      bootstrap
      pbulk install
    3. configure
      /etc/mk.conf
      pbulk.conf
    4. running
wip
    PKG_OPTIONS
  upgrade
tips
   debug
  DO_NADA
  mk.conf
URL

| NetBSD 解説 | sysinst | macppc | TsubaiBSD | pkgsrc 各論 | packages | 絹/software/全文検索
at www.ki.nu

NetBSD/packages

Last Update: "2010/04/15 21:05:10 makoto"

pkgsrc

NetBSD は sysinst を使って設置するのが普通です。 これに含まれているアプリケーションは大変少ないです。 一つ例を挙げます。/usr/bin/less というのがありますが、これは 日本語が読めません。そこで日本語が読める less はどうするか、という場合を考えます。 その時には、pkgsrc に ja-less というものが用意されています。これは (準備がしてあればですが)、
% cd /usr/pkgsrc/misc/ja-less % make install
と入力するだけで、使えるようになります(csh/tcsh を使っている場合には rehash が必要です。 (以前はこれは misc/ja-less ではなくて /usr/pkgsrc/japanese/less にありました)

実際には、上のように入力した後に、全て自動で、

less-358-iso254.patch.tar.gz less-358.tar.gz
をインターネットから探し出します(版は随時更新されます)。 そうして、それらを
/usr/pkgsrc/distfiles
の下に置き、/usr/pkgsrc/misc/ja-less/work の下に展開して (もしあれば) 必要な修正 を施して make; make install します。make install する時には管理者(root) のパスワード を聞いて来ます。設置先は /usr/pkg/bin/jless です。何が入るかは、 /usr/pkgsrc/misc/ja-less/PLIST を見ると分ります。

もしインターネットに直接接続していない場合でも、/usr/pkgsrc/distfiles に予め先の二 つを置いておけばそれを使います。また ftp の接続が、直接でなく代理サーバ越の時には環 境変数に必要な設定をしておけば、全く同じように作業が出来ます。 良くある設定例としては次のものです。

(環境変数) ftp_proxy (値) http://proxysever.company.co.jp/

さて、以上のように説明したのですが、実は cd /usr/pkgsrc しても空で、設置したばかりの 時には実は何も入っていません。ではどうするのでしょうか。

依存関係

先に説明した 日本語 less は簡単な例でしたが、実際には「何々を動かすには」「何々が 必要」という依存関係があります。pkgsrc を使うと、それらは、全て自動的に解決してくれ ます。

この時に、この pkgsrc からの make は、管理者権限で作業していれば、本当に全て自動で やってくれます。(*2) そうでないと make install する毎に root password を聞いてくるの で、見守っている必要があります。筆者の場合は、そういう依存するものが多そうなものは初 めから root で作業してしまいます。

(*2)通常なら 管理者(root)権限で作業というのは、必要最少限にするべきです。

README.html

説明は英語ですが、README.html に書いてあります。例えば /usr/pkgsrc/japanese/less/README.html です。これを見るには lynx や w3m (/usr/pkgsrc/www/lynx,w3m) が便利です。
  w3m /usr/pkgsrc/README.html
  cd  /usr/pkgsrc/japanese/less
  w3m README.html 
のようにして読みます。

探す方法

自分が欲しいアプリケーションが /usr/pkgsrc の内のどこにあるのかを探す方法として いろいろ工夫されているのですが、一番覚え易いのは例えばもし lynx はどこかな、と いうのでしたら
ls -ld /usr/pkgsrc/*/lynx 
のようにするのがいいかと思います。

情報 - pkg_info

pkg_info netatalk-asun
のようにすると、設置済の場合は版数、依存関係、簡単な説明等を表示します。

展開位置

以上説明は /usr/pkgsrc で行って来ましたが、位置は実は自由です。筆者の場合には /export/pkgsrc で作業をしています。/usr の区画は最少限にしたいというだけの理由です。

bootstrap-pkgsrc

NetBSD 以外の OS で利用するために bootstrap-pkgsrc が用意されています。 Mac OS X の場合の設定作業などは、 別にまとめて あります。 http://www.ki.nu/software/macosx/pkgsrc.html

target of make

target とは make の各段階です
pkgsrc/mk/bsd.pkg.mk の最初を見ると、次のような字が書いてあります。
#    bootstrap-depends
#    fetch
#    checksum
#    depends
#    tools
#    wrapper
#    extract
#    patch
#    configure
#    build
これは make あるいは make all とした時に、この target が次々に実行される という意味です。逆に言うと、手で、これらを順に実行することが可能です。 例えば、次のようにすると distfiles に持って来ることまで実行します。
make fetch
また、この後に
install
package
clean
等をします。便利な方法の一つは
sudo make package clean
とすることです。これで make install/ make package を実行した後に make clean をしてくれるので、disk を無駄使いしませんし、 次に cvs 等で更新した時に make するにも都合が良いです。 (いもづる式に全てやってくれるとうれしいのですが、子供側には伝播しないような 気もしています)

各論

pkgsrc で make した後の話は別に用意しています。 pkgsrc 各論 を見て下さい。
Last Update: Wed, 15 Oct 2014 04:09:47 GMT 1.66 2008/03/08