コンピュータ系/ソフトウェア/NetBSD Package Collection(pkgsrc)
2018-04-16 (月) 15:53:00 (1580d)
NetBSD Package Collection(pkgsrc)とは †
- ソフトウェア群をまとめて,管理・インストールを楽にしたもの
準備 †
- 使用Ver:2011Q1
- pkgsrc-2011Q1
- 使用Ver:2009Q2
- pkgsrc-2009Q2
- 使用Ver:2009Q1
- pkgsrc-2009Q1
- 使用Ver:2008Q4
- pkgsrc-2008Q4
インストール †
- CVS経由
- 環境設定:C-shell系
- setenv CVSROOT anoncvs@anoncvs.NetBSD.org:/cvsroot
- setenv CVS_RSH ssh
- 環境設定:bourne shell系
- export CVSROOT="anoncvs@anoncvs.NetBSD.org:/cvsroot"
- export CVS_RSH="ssh"
- cd /usr
- cvs checkout -r pkgsrc-2009Q2 -P pkgsrc
- stable branch
- 推奨
- cvs checkout -P pkgsrc
- current branch
- 非推奨
- 環境設定:C-shell系
設定 †
mk.confの設定 †
初期インストールアプリケーション †
- pkgsrc/pkgtools/pkg_install
- Package Collectionを使う時のツール.
- audit-packages,download-vulnerability-listも含まれる.
- pkgsrc/devel/CVSup
- Package Collectionを手軽にアップデート.
- ただ、手軽にアップデートするのも良し悪し.簡単に不安定バージョンになりそう?
設定ファイル †
運用 †
通常のソフトウェアインストール †
- pkgsrcディレクトリ以下に多数のアプリケーションが入っている.インストールしたいアプリのディレクトリに移動し,以下のコマンドを実行.
- make readme
- readmeファイルを読む
- make; make install
- gnu makeを入れた後は,最初から入っていたmakeと動作が違うので,適宜使い分ける.(主にgnu系のアプリはgnu makeかな?)
- make update
- インストール後にアップデートを行う.
- make clean; make clean-depend
- インストール後に実行すると,余計なファイルを消してくれる
- make package
- /usr/pkgsrc/packages/ALL/以下に対象のパッケージが作られる.依存関係あるものも全部一つのファイルに収まる(例:apache.tgz)
- pkg_add apache.tgzなどでインストール
- /usr/pkgsrc/packages/ALL/以下に対象のパッケージが作られる.依存関係あるものも全部一つのファイルに収まる(例:apache.tgz)
- make show-options
- オプション一覧
オプションをつけてインストール †
- ./configureで設定していたオプションをpkgsrcではどうやるか.
- つけたいオプションを明確に
- make show-optionsで可能なオプションを見る
- optoins.mk の PKG_SUPPORTED_OPTIONS を見る
- Makefileの中のCONFIGURE_ARGS+=${VIM_EXTRA_OPTS}などから可能な変数(この例だとVIM_EXTRA_OPTS)を見つける.
- オプションをつける
- 方法1:/etc/mk.confに追加
- 方法2:makeへの引数で渡す.make VIM=yes とか
- 方法3:options.mk の中でPKG_SUGGESTED_OPTIONS に追加
- つけたいオプションを明確に
自作パッチをあててインストール †
- mk.confのLOCALPATCHESを設定
- LOCALPATCHESディレクトリ以下に対象のソフトウェアのパッチを作成
- 詳しくはmk.confの説明を参照
管理コマンド †
- pkg_add
- pkg_add -v <アプリ名>
- perl : pkg_add -v perl
- apache : pkg_add -v apache
- firefox : pkg_add -v firefox
- kde環境 : pkg_add -v kde
- アプリのリストは以下を参考に
- pkg_add -v <アプリ名>
- pkg_admin
- pkg_create
- pkg_delete
- pkg_info
- 引数:無し
- インストールしたパッケージの表示
- 引数:hoge
- インストールしたhogeについて,詳細情報
- インストール後の設定などに関する情報
- 引数:-D hoge
- インストールしたhogeのバージョン情報
- 引数:無し
- pkg_chk
- 引数:-qu
- pkgsrc/で実行すると,アップデートしたソフトウェアの一覧を表示してくれる
- 引数:-qu
- lintpkgsrc -i
諸情報 †
varについて †
- /var, /var/db/pkgについて
- pkgsrcで以下の環境変数があり,/var以下を使っている
- VARBASE=/var
- PKG_DBDIR=/var/db/pkg
- 上記環境はマシン依存しやすいので,共有は危険?
- 新マシンを構築し,プログラムを共有する場合,/varをみて同じように作成する必要があるかも
- pkgsrcで以下の環境変数があり,/var以下を使っている
- 情報
configureについて †
- ./configure
- pkgsrcでは,共通の設定ファイル /etc/mk.confとpkgsrc/mk/mk.confが存在する.よって./configureはいらない.設定を変えてインストールしたい場合には,makeにオプションをつけて行う.
ダウンロードサイトの選択 †
- 近くのサイトからダウンロードするようにしたい
- pkgsrc/mk/defaults/mk.confの中に各国のミラーサイトが乗っているので,適当に/etc/mk.confにコピー