| Last Update: "2010/04/15 21:05:10 makoto" pkgsrcNetBSD は 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-pkgsrcNetBSD 以外の OS で利用するために bootstrap-pkgsrc が用意されています。
Mac OS X の場合の設定作業などは、
別にまとめて
あります。
http://www.ki.nu/software/macosx/pkgsrc.htmltarget of maketarget とは 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 各論
を見て下さい。 |