株式会社エスロジカル
株式会社エスロジカル
SSL証明書(3,300円/1年~ DV、OV、EV)、セキュリティ、Web開発、Linux開発、Go言語

NetBSD:パッケージ

技術ドキュメント目次 -> NetBSD -> パッケージ

本技術ドキュメントは、2002~2004年頃に作成したものが多いです。
内容が古くなっていることもあるかと思いますが、ご了承ください。

サイフにやさしいSSL証明書
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。


◆ NetBSD パッケージシステム

デフォルトの設定では、パッケージシステムを用いてNetBSDにソフトウェアを追加すると、
/usr/pkg/* にインストールされます。
例えば、パッケージシステムを用いて、wgetコマンドをインストールした場合は、
wgetコマンドは、/usr/pkg/bin/wget にインストールされます。

/usr/pkg ディレクトリの中は次のような構成になっていて、
例えば、perl だと、
インタプリタ本体は /usr/pkg/bin/perl としてインストールされ、
ライブラリは /usr/pkg/lib/perl5/ などにインストールされます。

foo@ [284]$ ls -al /usr/pkg
total 17
drwxr-xr-x  14 root  wheel   512 Mar  2 15:18 .
drwxr-xr-x  18 root  wheel   512 Jan 10 22:58 ..
drwxr-xr-x   2 root  wheel  1536 Mar  2 15:17 bin
drwxr-xr-x   3 root  wheel   512 Jan  5 16:26 emul
drwxr-xr-x   3 root  wheel   512 Jan  7 22:28 etc
drwxr-xr-x   3 root  wheel   512 Jan  8 22:20 include
drwxr-xr-x   2 root  wheel  2560 Mar  2 15:08 info
drwxrwxr-x   9 root  wheel   512 Jan  5 17:34 java
drwxr-xr-x   4 root  wheel   512 Jan 13 13:33 lib
drwxr-xr-x   3 root  wheel   512 Dec 30 04:09 libdata
drwxr-xr-x   4 root  wheel   512 Jan 13 13:36 libexec
drwxr-xr-x  25 root  wheel   512 Dec 30 04:09 man
drwxr-xr-x   2 root  wheel   512 Jan  8 08:00 sbin
drwxr-xr-x  18 root  wheel   512 Mar  2 15:08 share
foo@ [285]$


◆ パッケージシステムによるコンパイル済みソフトウェアの追加

ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/README.html
などを参照し、
インストールしたいソフトウェアのバイナリパッケージを指定して、
pkg_add コマンドを実行することでパッケージを追加できます。

(実行例:zshという種類のshellを追加する)

# pkg_add ftp://ftp.netbsd.org/pub/NetBSD/packages/1.5/i386/All/zsh-3.0.8.tgz
ftp: connect to address 3ffe:8050:201:1860:2a0:c9ff:feed:b7ea: No route to host
setenv PKG_PATH='ftp://ftp.netbsd.org/pub/NetBSD/packages/1.5/i386/All'
updating /etc/shells
#


◆ インストール済みのソフトウェア一覧を参照するには

pkg_info コマンドを実行することで、一覧を参照できます。

bash-2.05# pkg_info
gettext-lib-0.10.35nb1 tools for providing messages in different languages, libintl only
m4-1.4              GNU version of Unix m4 macro-processor
tcsh-6.11.00        Extended C-shell with many useful features
wget-1.7            Retrieve files from the 'net via HTTP and FTP
digest-20010807     Message digest wrapper utility
nkf-1.7             Network Kanji code conversion Filter
....
#


◆ パッケージシステムによるソースからのソフトウェアの追加(pkgsrc)

コンパイル済みのソフトウェアを追加するのではなく、
ソースからコンパイルしてインストールするためには pkgsrc を使用します。

ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/tar_files/pkgsrc.tar.gz
やCD-ROM等から、pkgsrc.tar.gz(pkgsrcのアーカイブ)を取得し、
/usr/pkgsrc ディレクトリとして pkgsrc を展開します。

/usr/pkgsrc ディレクトリには、各プログラムのソースファイルが多数格納されて
いますので、目的のソフトウェアのディレクトリに移動し、make を実行することで、
ソースからのコンパイル・インストールを行うことが出来ますが、各ソースファイルは
ソフトウェアのバージョンアップなどに伴って日々更新されていますので、
/usr/pkgsrc にその更新を適用していく必要があります。

pkgsrc にソースの更新を適用していく方法の1つとして、SUPを使用する方法があります。

sup による pkgsrc更新の実行例

# mkdir /etc/supfiles /usr/sup
# cp /usr/share/examples/supfiles/serverhost /etc/supfiles/coll.list
上記コマンドを実行し、
coll.list に次の2行のみが書かれてているようになるように編集します。
(コメントアウトを外すだけでもいいかもしれません)

current release=pkgsrc host=sup.jp.netbsd.org \
    base=/usr prefix=/usr backup use-rel-suffix compress delete

上記の準備が出来たら、
sup -s
を実行することで、/usr/pkgsrc に格納されている pkgsrc を更新することが出来ます。
(sup が終了するまでには、かなり時間が掛かります)


pkgsrc の更新が終了したら、いよいよソフトウェアをインストールします。
pkgsrc 内のインストールしたいパッケージのディレクトリに移動し、
次のコマンドを入力することでインストールが行われます。

依存関係のあるパッケージも含めてインストールされますので、
「ソフトAを動かすためにはソフトBが必要」という時には、
ソフトAのディレクトリにて下記コマンドを実行することで、
ソフトAもソフトBもインストールされます。

# make fetch-list | sh
# make
# make install


◆ インストール済みパッケージに対してのセキュリティ脆弱性のチェック

次のコマンドを実行することで、脆弱性のチェックができます。
# download-vulnerability-list; audit-packages


◆ pkgsrc にインストール済みのパッケージより新しいものが存在するか確認

/usr/pkgsrc を SUP を使用して更新しても、
更新したソフトウェアをインストールするのを忘れてしまったら、
(当然ですが)ソフトウェアの更新をシステムに反映することができません。

そのような事態を防ぐためには、次のように lintpkgsrc コマンドを実行して、
/usr/pkgsrc にインストール済みのパッケージより新しいソースが存在しているか
の確認を行うことが有効です。

なお、lintpkgsrc コマンドを実行するためには、
pkglintパッケージが必要になりますので、まず、
pkgsrc/pkgtools/pkglint
をインストールしておく必要があります。

# lintpkgsrc -i





■ NetBSD についての他のドキュメント


■ 他のグループのドキュメント

Apache  /  Linux  /  FreeBSD  /  OpenSSL  /  Perl  /  HTTPプロトコル  /  Jakarta Tomcat  /  Java  /  NetBSD  /  Oracle  /  PostgreSQL  /  UNIX の C言語  /  UNIX のコマンド  /  Windows  /  bind  /  システム運用TIPS

アンケートにご協力をお願いいたします。

1. このドキュメントへの評価をご選択ください。
         

2. ご感想をお書きください。