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 です。
/usr/pkg を準備する (本節)。
必要なソフトウエアをインストールする。 よく使うソフトウエアについては、 インストール方法が本節の後にあります。 参照して下さい。
必須のインストールソフトウエアについては、 発注者の指示に従うこと。
Caution |
同じソフトウエアが OS 標準でインストールされていても使いません。 NetBSD パッケージシステム へ切替えます。 その理由については 「the Section called NetBSD パッケージシステムは極力自立するべき in the Chapter called NetBSD 以外の OS で pkgsrc を使う場合の注意点」 節を参照。 |
パッケージシステムの準備。
% su root # cd /usr # ftp ftp://ftp.jp.netbsd.org/pub/pkgsrc/stable/pkgsrc.tar.gz # tar zxvf pkgsrc.tar.gz注意: この tar の実行には時間がけっこうかかります。
# cd /usr/pkgsrc # cvs update -d -P
稀にゴミがあるので、ねんのため、掃除もすると良いです。 作業ディレクトリを消します。
# cd /usr/pkgsrc # find . -name work -type d | xargs rm -fr
注意: 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 ファイルを作成し、以下の内容を記述して下さい。
例: 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 現在、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)
なぜ OS 標準のソフトウエアを捨て、 パッケージシステムへ切替えるのか?
はじめて /usr/bin/cvs update -d -P を実行する際、 警告(Warning)が出るが、あれは何を意味しているのか?
パッケージをすべてインストールしてみよ (いつまでたっても終らないが;-)。
日本語 TeX 環境を作れ (pkgsrc/print/ja-ptex)。
日本語 TeX 環境で、PDF を作成できるようにせよ。
なお NSRG では、日本語文字コードとして EUC-JP を使う。
ghostscript (version 8)をインストールするだけでは日本語が出ない。 日本語が出るように設定せよ。
ちなみに入れるものは pkgsrc/print/ghostscript だ。
pkgsrc/shells/tcsh と pkgsrc/shells/static-tcsh は何が違うか?
[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 と戦うには)? という観点に気をとられ過ぎということなのでしょう。 |
Copyright (C) 1993-2025 Ken'ichi Fukamachi mail:< fukachan at fml.org >