訳註: これは作業してる最中のもので、本来、訳作業者以外は見えぬべきものです。 訳作業者以外は見ないでください。意味が反対になったりとか当然にあるから、 内容は利用しないでください。この言語への変換作業(翻訳作業)物に関しては、現在、オープンなライセンス条件ではありません。 十進240のコードのキャラクターを<240>に置換してる場合あり
Chapter33.Updating an existing system from sources

Table of Contents

33.1. The updating procedure
33.1.1. Building a new userland
33.1.2. Building a new kernel
33.1.3. Installing the kernel and userland
33.1.4. Updating the system configuration files
33.1.5. Summary
33.1.6. Alternative: using sysinst
33.2. More details about the updating of configuration and startup files
33.2.1. Using etcupdate with source files
33.2.2. Using etcupdate with binary distribution sets
33.2.3. Using etcmanage instead of etcupdate

src/UPDATING の最新の変更のチェックを、どうか忘れないようにしてください。

もし production environment の 安定な NetBSD リリース ( NetBSD 5.0 のような) を running しているなら 時折、リリースからのブランチに適用された any セキュリティー fixes を組み込む目的で あなたのソースをアップデートし、システムまたはカーネルの再構築をすべきです。

アップデート方法は NetBSD-current のものと同じです。 そのため、次のステップはなお -current システムに適用されます。

次のステップのほとんどは通常のユーザーでできます。 新しいカーネルとユーザーランドのインストールだけが root 特権を要求されます。 次の例では、 /usr を作業ディレクトリーに 選んでいますが、 けれども、手順は ユーザーのホームディレクトリーに置くこともできます。通常ユーザーは通常、 /usr 内の変更をするための パーミッションがありませんが、これは root によって変更できます。

最新のソースを持つことが次のステップに前もって必要です。 Section30.4, “Fetching by CVS” は リリース、 stable または current ブランチのソースの 検索またはアップデート方法(CVS を使って)について教えてくれます。

どうか、詳細を build.sh -h の出力と UPDATING ファイルおよび BUILDING を常に照会してください。 - それは価値のあることで 沢山 のオプションが コマンドラインまたは /etc/mk.conf 中に設定できます。

33.1.The updating procedure

33.1.1.Building a new userland

最初のステップはユーザーランドの構築です:

$ cd /usr/src
$ ./build.sh -O ../obj -T ../tools -U distribution

33.1.2.Building a new kernel

次のステップはカーネルの構築です:

$ cd /usr/src
$ ./build.sh -O ../obj -T ../tools ke	rnel=<KERNEL>
     

33.1.3.Installing the kernel and userland

日本語(のような言語)版訳者による註

この註の小節は原著には存在しません。
訳作業者が "NetBSD.org およびサブドメイン"以外から手に入れた情報(感謝)をもとに とりあえずここに記しています。

これを書いている時点ではまだ出ていない NetBSD 6.0 、 それになるべしと作られた、過去の一部の NetBSD-current の場合には注意が必要です。
カーネルモジュール化が進んでいるため、 モジュールも新しいものをインストール/アップデート する作業工程があることを(知らない方は)知っていてください。 (勝手にこれを書いている訳作業者には"必要"なのか"推奨"なのか"場合による"なのか等を判断できる能力はありませんので、 お知らせだけです。)
http://mail-index.netbsd.org/source-changes/2011/02/13/msg018530.html
にて、 FFS および NFS に関して導入が取りやめられる対策がされて支障とはならないようですが、
ファイルシステムに関してもモジュール化が進み、適用された版を利用する時は、 ブートローダーの更新を考えることも勧められているようです。
どうしても、その時期の -current を利用しなければならない場合は、 i386 port の場合、2009年10月に MONOLITIC カーネルも導入され、 こちらは、全くカーネルモジュールファイルに依存しない設定のカーネルなので、 アップデート/アップグレードを最初に簡単に試してみるには良いかもしれないそうです。

詳細については: http://www.netbsd.org/docs/current/index.html#updating-from-snapshot を、 とくに、 2. および 3. あたりを御覧ください。(英語ですが。)
日本語(のような言語)版訳者による註、終わり。

新しいカーネルのインストールで、 rebooting (新しいカーネルを確実に働かせるため ) し、そして新しいユーザーランドをインストールするのがアップグレード手順の 最後のステップです:

$ cd /usr/src
$ su
# mv /netbsd /netbsd.old
# mv /usr/obj/sys/arch/<ARCH>/compile/<KERNEL>/netbsd /
# shutdown -r now
 ...
$ cd /usr/src
$ su
# ./build.sh -O ../obj -T ../tools -U install=/

もし、新しいカーネル netbsd の起動に成功しなかったら、 netbsd.old カーネルの起動に fall back できます。

33.1.4.Updating the system configuration files

etcupdate スクリプト (etcupdate(8)) を実行し、そして、時代遅れのファイルを fixing するために 出力の中の指示(instructions)に従い:

# /usr/sbin/etcupdate -s /usr/src

任意として、全ての実行中のサービスが確実に新しいバイナリーを使うように reboot し:

# shutdown -r now

33.1.5.Summary

  1. ソースツリーのルートから:

    $ cd /usr/src
  2. ユーザーランドの構築:

    $ ./build.sh -O ../obj -T ../tools -U -u distribution
  3. カーネルの構築:

    $ ./build.sh -O ../obj -T ../tools -U -u kernel=GENERIC
  4. カーネルのインストール:

    $ cd ../obj/sys/arch/<ARCH>/compile/GENERIC
    $ su
    # mv /netbsd /netbsd.old
    # cp netbsd /netbsd
  5. 新しいカーネルへの Reboot:

    # shutdown -r now
  6. 新しいユーザーランドのインストール:

    $ cd /usr/src
    $ su
    # ./build.sh -O ../obj -T ../tools -U install=/
  7. システムと設定ファイルのUpdate;:

    #  /usr/sbin/etcupdate -s /usr/src

上の手順で、 -u オプションはアップデート操作を指し、 構築を始める前に make clean 作業をしないようにします。 これは、以前の構築 および/または 新規構築からのアップデートに便利です。 -U オプションは 非-root ユーザーによる全体構築 続けて root によるインストールを許します。

33.1.6.Alternative: using sysinst

構築したてのシステムのインストールに sysinst を 使うこともまたできます。:

  1. 完全なリリースを構築:

    $ ./build.sh -O ../obj -T ../tools -U -u -x release

  2. 結果のインストールセットは /usr/obj/releasedir/ ディレクトリーの中に。

  3. your NetBSD システムに、 カーネルをルートディレクトリーにコピーしインストール、そこから reboot 、 そして sysinst からアップグレード ( Chapter4, Upgrading NetBSD を御覧ください)。

33.2.More details about the updating of configuration and startup files

etcupdate は、 オペレーティングシステムのアップグレードをした後、 /dev 、 /etc および /root の比較、併合および 新しい設定および startup ファイル (etc.tgz 配布セット中に 見つかるファイル)のインストールでのユーザーの手助けになるスクリプトでです。 オペレーティングシステムのアップグレードはソースのコンパイルか配布バイナリーの展開 どちらででもできます。

33.2.1.Using etcupdate with source files

ソースが /usr/src 中にある場合、次のコマンドで十分で:

# etcupdate

しかし、NetBSD ソースが他の場所、 /home/jdoe/netbsd/src のような所にあったら? 心配要りません、 etcupdate にソースツリーの位置を -s srcdir で教えてあげると、ちゃんとした仕事をします:

# etcupdate -s /home/jdoe/netbsd/src

33.2.2.Using etcupdate with binary distribution sets

時々、まわりにソースを置くことができないのにそれでも 設定 および startup ファイル のアップデートがしたいときがあります。 解決法は、希望の配布ファイル (少なくとも etc.tgz)を展開 し、 そして -b srcdir スイッチを使って etcupdate に、 ソース持ってないけど公式配布セットだけはある、って教えることです。

# mkdir /tmp/temproot
# cd /tmp/temproot
# tar xpzf /some/where/etc.tgz
# etcupdate -s /tmp/temproot

33.2.3.Using etcmanage instead of etcupdate

etcmanage perl スクリプト ( pkgsrc/sysutils/etcmanage から、 またはバイナリーパッケージとして利用可能) は etcupdate の代わりになれるものです。 それは次の方法で使われ、 postinstall(8) と組み合わせて:

# /usr/pkg/bin/etcmanage
# /usr/sbin/postinstall