Top / NetBSDの更新方法
NetBSDの配布セットの構成 †
- カーネル ( /netbsd )
- ユーザランド
- ベースシステム ( base.tgz, etc.tgz, comp.tgz, man.tgz, misc.tgz, text.tgz)
- X Window System ( xbase.tgz, xetc.tgz, xcomp.tgz, xfont.tgz, xserver.tgz )
- pkgsrc
基本的には、
- カーネルをアップグレードして再起動。
- ベースシステムをアップグレードして、必要に応じて再起動。
- デーモンの再起動
- kernelインターフェイスを直接触るコマンドの再実行 (libkvm を使うもの?)
- その他をアップグレード。
sourceから †
NetBSDのサイトを参照のこと。
X. pkgsrcの場合 †
cd /usr/pkgsrc ( cd ..; tar zxvpf pkgsrc.tgz ) # これは最初だけで良い。 cvs update -Pd cd pkgtools/pkg_install make show-downlevel && make update # pkg_installは先にアップデートしておく。 cd ../../pkgtools/pkg_rolling-replace make show-downlevel && make update # pkg_rolling-replaceを使いたいのでアップデートしておく。 cd ../../ pkg_rolling-replace -u
binaryから †
1. バイナリを入手する。 †
ftp://ftp.netbsd.org/pub/NetBSD-daily/${branch}/${builddate}/${arch}/binary/sets の下にあるものを使うと良いだろう。
- branch CVSリポジトリのタグ名。-currentはHEADとなる。
- builddata 構築された日付。新しい方が新しい。
- arch アーキテクチャ名。i386など。
- ただし、複数のホストを管理しているのであれば、共有サーバのディレクトリに上記の配布キットのコピーを作成して、それをコピーして使用するべきでしょう。
- 同様のディレクトリ構成にしておきanonymous ftpでアクセス出来るようにしておけば、インストールの際にも活用できるはずです。
2. バイナリを展開する。 †
2.1. カーネル †
cd /work tar zxvpf kern-GENERIC.tgz mv /netbsd /netbsd.old mv netbsd /netbsd
必要に応じて、kern-XEN3_DOM0.tgz だったり kern-XEN3_DOMU.tgz だったりするでしょう。
2.2. ユーザランド †
cd /work for f in base.tgz comp.tgz man.tgz misc.tgz text.tgz; do /rescue/gunzip -c $f | /rescue/tar --unlink -xvpf - -C /; done etcupdate -s etc.tgz
postinstall -s etc.tgz fix を使って、おおまかにやってから、etcupdate を使ってもいいかも。
2.3. X Window System †
cd /work for f in xbase.tgz xcomp.tgz xfont.tgz xserver.tgz; do tar --unlink -zxvpf $f -C /; done
2.4. pkgsrc †
pkg_add -u ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD-${OS_VERSION}/${arch}/All/pkg_chk pkg_chk -u -b -P ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD-${OS_VERSION}/${arch}/All
- ただし、pkg_chk は、更新が必要なパッケージを一度にuninstallしてからinstallをするので、途中でエラーが発生したりすると大変なことになる場合があります。
- ソースからの再構築になりますが、pkg_rolling-replace は、更新が必要なパッケージのみを make replace でそのつど置き換えるので、比較的安心です。
- 上記のサイトのpackageは、一番シンプルなPKG_OPTIONSで作成されていますので、手元のホスト一台をpkgsrc update専用マシンとして pkg_rolling-replace してpackageを同時に作成させて、他のホストはそのホストからpkg_chkでアップデートする、というのが良いでしょう。
- pkg_comp を使うと、元の環境には影響を与えないように chroot した環境でパッケージを作ってくれます。
Counter: 310,
today: 1,
yesterday: 0
Last-modified: Thu, 10 Apr 2008 21:51:49 JST (5716d)
Last-modified: Thu, 10 Apr 2008 21:51:49 JST (5716d)