OpenBSD プロジェクトでは OpenBSD 2.7 以降、重要なパッチと修正 (errata および、errata に含まれていないような単純で明らかなもの) を取り込んだソースツリーを提供するようになりました。 これは最新のソースと同じように CVS 経由で 入手することができます。つまり修正パッチを利用する方法には、次の 3 種類があります。
一般的に、公開された errata はすべて、それが発行された時点から 48 時間以内にパッチブランチに取り込まれます。また、リリース後に作成されたその他の修正パッチも、 たとえば次のような条件が満たされていれば同様に取り込まれることがあります。
OpenBSD のあるリリースに対応するパッチブランチを入手するには、 (FTP 経由、あるいは CD を使用して) 入手したソースツリーの一番上 (訳注: /usr/src) で更新を行うか、 AnonCVS サーバから新たにソースツリーを入手するという方法があります。 パッチブランチの入手と最新を維持する方法については、 AnonCVS の文書のはじめに (Getting Started) の節に記載されています。ただし、 パッチブランチはリリース間のアップグレード (たとえば 3.8 から 3.9) を行うわけではありませんのでご注意ください。 これはそのリリースにおいて最新の修正パッチが適用された バージョンを維持する手段を提供するというだけです。 ソースを用いてリリース間アップグレードを行う場合は アップグレードガイド をご覧ください。それともうひとつ、-current から -stable へ戻ることはできません。 これはライブラリのバージョンに互換性がないためです。
stable の標準カーネルを再構築するには、次のようにします。
# cd /usr/src/sys/arch/i386/conf # /usr/sbin/config GENERIC # cd /usr/src/sys/arch/i386/compile/GENERIC # make clean && make depend && make
i386 の部分をご使用のアーキテクチャ (たとえば sparc、alpha など) に置き換えてください。
新しく構築したカーネルを使って再起動します。
# cd /usr/src/sys/arch/i386/compile/GENERIC # cp /bsd /bsd.old (古いカーネルのバックアップをとる) # cp bsd /bsd (新しいカーネルを上書きコピーする) # reboot
これも先ほどと同様に、i386 の部分をお使いのアーキテクチャに置き換えてください。 もし、システムが新しいカーネルで起動しない場合は、bsd.old という名前の古いカーネルを 使用して再起動することで、元の状態に復帰することができます。
次のようにして、システムバイナリの再構築を行います。
# rm -rf /usr/obj/* # cd /usr/src # make obj # cd /usr/src/etc && env DESTDIR=/ make distrib-dirs # cd /usr/src # make build
この作業にはしばらく時間がかかるでしょう。