転載・引用について

ユーザ用ツール

サイト用ツール


サイドバー

Site Contents Index

転載・引用について

RSS

os:netbsd:pkgsrc

NetBSD Pkgsrc

各OS毎に様々なパッケージ管理システムが存在している。FreeBSDならばports Collectionであったり、LunixならばRPMたYum等である。

その中で、NetBSDのパッケージ管理システムは、プラットフォームに依存しない(ように作られている)管理システムである。

NetBSDのパッケージ管理システムであるpkgsrcに関する記録をここに記載しておく。

目次

NetBSD Package Source System

NetBSDにおけるパッケージ管理システムであるpkgsrcは、基本的な使い方は非常に簡単である。ただし、他のシステムのパッケージと異なり、バイナリーパッケージを利用することはあまりおすすめできない。これは、パッケージシステムを利用する際に個々の環境に合わせることが出来るためである。逆に、この機能が若干の複雑さを増すとも言える。

使い方の基本としては、、The NetBSD Foundation(TNF)からpkgsrcを持ってきて使うだけである。

参考URLは

pkgsrcのインストール

  1. cvsによるpkgsrcの取得
    • cvs -d anoncvs@annoncvs.netbsd.org/cvsroot login (最初の一回目だけ)
    • cvs -d anoncvs@annoncvs.netbsd.org/cvsroot co pkgsrc(これも最初の一回目だけでよい)
    • cd some/where/pkgsrc; cvs update -Pd(時々Updateしましょう)
  2. 最小限の設定
    • 何も設定しないでも利用できるが、mk.confを設定しておくことで細かい設定が可能
  3. pkgsrcを用いたApplicationの作成とインストール
  4. pkgsrcを利用する際のコマンドなど

mk.confの作成

pkgsrcはmk.confを用いて制御する事が多い。

ここでは、mk.confに記載した設定を記載する。

現在の私のmk.confの設定は以下の通り

#
# /etc/mk.conf
#

# for kernel Build
MKPUFFS=yes
MKCRYPTO_IDEA=yes
MKCRYPTO_MDC2=yes
MKCRYPTO_RC5=yes

# pkgsrc system options
WRKOBJDIR=/tmp
PYTHON_VERSION_DEFAULT= 25
MECAB_CHARSET= utf-8

##### for each packages
PKG_OPTIONS.sudo=                               # ldap skey pam kerberos
PKG_OPTIONS.lighttpd=   bzip inet6 ssl memcache # fam ldap gdbm lua mysql
PKG_OPTIONS.ImageMagick=-x11 jasper djvu        # x11 ghostscript wmf
PKG_OPTIONS.tiff=       lzw                     #
PKG_OPTIONS.fam=                                # kqueue(py)
PKG_OPTIONS.perl=       threads                 # debug
PKG_OPTIONS.php=        cgi fastcgi ssl inet6   # maintainer-zts
PKG_OPTIONS.php=        cgi fastcgi ssl inet6   # maintainer-zts
PKG_OPTIONS.libxml2=    inet6
PKG_OPTIONS.subversion= serf
PKG_OPTIONS.apr-util=
PKG_OPTIONS.neon=
PKG_OPTIONS.postfix=    bdb tls pcre sasl
PKG_OPTIONS.courier-imap=
PKG_OPTIONS.courier-authlib=    bdb
PKG_OPTIONS.cyrus-saslauthd=
PKG_OPTIONS.squirrelmail=       squirrelmail-japanese

脆弱性情報

NetBSD pkgsrcは、2008年頃から機能が追加されて、脆弱性DBを参照するようになっている。

この脆弱性DBは、もともとはpkgsrc/security/audit-packageとして提供されていたものだが、現在では、pkg_adminの1機能として組み込まれている。

使い方は、man pkg_adminするべきだが、最小限だけ。

  • pkg_admin fetch-pkg-vulnerabilities [-u]
    • 脆弱性DBを入手(更新)する
  • pkg_admin audit
    • 脆弱性を確認する。もし脆弱性が見つかった場合、脆弱性のあるパッケージ名と簡単な内容を表示する
  • pkg_admin audot-pkg package-name
    • インストールされているpackage-nameの脆弱性を確認する。あとはpkg_admin auditと一緒。

というわけで、

  1. Dailyで確認したい人は、cron等で1日1回 pkg_admin fetch-pkg-vulnerabilities -u ; pkg_admin auditを実行する
  2. /etc/security.confで以下を設定
    • check_pkgs=YES

Technical Tips

  • 依存関係を確認するときには、make show-dependsを実行すると良い。
  • mk.confで、defaultで登録されているPKG_OPTIONSをoffにする方法
    • もしPKG_SUGGESTED_OPTIONSに設定されているオプションを外す場合、PKG_OPTIONS.????= -opt.を設定する。
    • PKG_OPTIONS.ImageMagick=-x11
  • installされているpkgsrcの状態をsource treeから比較するには、lintpkgsrcをinstallすればいい。
    • pkgsrc/pkgtools/lintpkgsrc
    • 使い方は、lintpkgsrc -iでOK (pkgsrcのdirを指定する場合 -P [path to pkgsrc] を追加する)
  • どうも同じようなことをpkg_chkでも出来るらしい。
    • pkg_chk -qu で更新されているか確認
    • pkg_chk -uで更新らしい。
    • pkg_chkでいくか。
  • Binary Packageを自前で作る
    • make package でよい。pkgsrc/packagesにBinary Packageが配置される
  • 自分でpkgsrcを作る場合
os/netbsd/pkgsrc.txt · 最終更新: 2015/01/09 20:47 (外部編集)