[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

パッケージシステムへの切替え

OS 本体のインストールが終ったら、 「OS 非標準」のソフトウエアをインストールしていく番です。

OS 非標準のソフトウエア群は pkgsrc (NetBSD パッケージシステム) と呼ばれるフレームワーク [1] で提供されています。

******************************

Important: NetBSD 本体は最低限のベースシステムのみを提供します。

OS 標準で何でも入っているという芸風の OS ばかりの中で、 この芸風は貴重かつ重要です。

サーバ構築や運用という観点で見た時、 「不要なものを削除していく」という作業は、とても大変です。 失敗すると、 動かない OS や、 不要なものが動いている”穴のある”サーバが出来上がります。

本来「必要なものだけを足していく」作業であるべきなのです。 他の OS が逆向きの設計すぎるために、われわれは苦労させられています。

Unix 本来の Principle of Least Surprise という思想から見ても、 この方式であるべきなのです。 [2]

******************************

我々はネットワークごしに利用するサービス(daemon)に NetBSD パッケージシステム を使います。

自動監査システム を使うため、 はじめから NetBSD 本体に入っているソフトウエアも、 pkgsrc に切替えます。 代表例は Postfix、OpenSSH および NTP です。

Caution

同じソフトウエアが OS 標準でインストールされていても使いません。 NetBSD パッケージシステム へ切替えます。

その理由については the Section called NetBSD パッケージシステムは極力自立するべき in the Chapter called NetBSD 以外の OS で pkgsrc を使う場合の注意点」 節を参照。

/usr/pkg を準備する

パッケージシステムの準備。

% su root
# cd /usr
# ftp ftp://ftp.jp.netbsd.org/pub/pkgsrc/stable/pkgsrc.tar.gz
# tar zxvf pkgsrc.tar.gz
注意: この tar の実行には時間がけっこうかかります。

pkgsrc をアップデート!

# cd /usr/pkgsrc
# cvs update -d -P

稀にゴミがあるので、ねんのため、掃除もすると良いです。 作業ディレクトリを消します。

# cd /usr/pkgsrc
# find . -name work -type d | xargs rm -fr

/etc/mk.conf ファイルの作成

/etc/mk.conf をダウンロード

注意: ftp.fml.org に mk.conf のテンプレートを置くようにしました。 2010/05/16 以降は、これでOKです。

% su root
# cd /etc
# ftp ftp://ftp.fml.org/pub/NSRG/tips/NetBSD/etc/mk.conf

例: /etc/mk.conf を自分で記述するには?

/etc/mk.conf ファイルを作成し、以下の内容を記述して下さい。

例: mk.conf (# 行は解説、別に書かなくて良い)
[/etc/mk.conf]

# /usr/pkg だけで独立したシステムとする(極力 OS に依存しない)
PREFER_PKGSRC=yes

# /usr/X11R7 は使わない。/usr/pkg 以下に X11 を自力で作成
X11_TYPE=modular

# NetBSD 2.0 以降では、これを書かなくても native がデフォルト    
PTHREAD_TYPE=native

# 将来のため、このまじないを書いておく。これで、
# 自分で作ったバイナリを make bin-install で再インストールできる。
BINPKG_SITES=

注意点 (2010/10 頃)

2010/10 現在、pkgsrc.tar.gz がおかしいです。 とりあえず pkgsrc/pkgtools/digest/ に不要なゴミ( work/ )が入ったまま配 布されていることが理由と思われます。

ゴミ掃除をし、最新の pkgsrc に更新してから

# cd /usr/pkgsrc
# rm -fr pkgtools/digest/work
# /usr/bin/cvs update -d -P
ここで警告が出ますが、YES を入力して先に進め。
Warning: Permanently added the RSA host key for IP address '204.152.190.16' to the list of known hosts.
… ほげほげ … (Yes/No)

演習問題

Notes

[1]

pkgsrc 自体はポータブルパッケージシステムと呼ばれているとおり、 NetBSD 以外の OS でも動くように設計されています。

現実には、お客様の都合等で、 指定された OS を使わざるを得ないという場合がよくあります。 その場合にも pkgsrc を使えば 「どのホストでも OS の使い勝手を極力おなじにすることが可能になる」 という点で「移植性のあるパッケージシステム」は重要です。

サポートされている他の OS についての詳細は http://www.pkgsrc.org/ を見て下さい。 Linux 系、Mac OS X、Solaris や Irix などの商用 OS、そして他の BSD( FreeBSD や OpenBSD など)。 (Interix 前提ですが) Windows でも利用できます。 なお、DragonflyBSD はパッケージシステムとして pkgsrc を採用しています。

[2]

つまるところ、 他の OS は、運用といった側面より、 ユーザにうけるには(もしくは Microsoft と戦うには)? という観点に気をとられ過ぎということなのでしょう。

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >