从OpenBSD 2.7开始, OpenBSD提供了一个包含重要补丁和修正的源代码树(也就是勘误表上的内容加上不值得在勘误表上标出的一些明显或简单的修正)并且你可以通过 CVS 获取它, 另外还提供当前版 -current 的源代码。因此, 用户可以有三个选择 :
像一个常规的原则, 所有 勘误表 的内容将在发布后48小时内并入补丁分支. 发行版的补丁可能也会同样并入, 取决于一些条件:
值得指出的是稳定版 -stable所指的稳定仅仅是OpenBSD的API和操作不变化, 并非指系统的总可靠性。事实上, 如果事情像我们期望的那样, -current 风格 的OpenBSD, 将演变成下一个 -release, 可靠性有一个新的提升, 安全性或总体质量超越了原先的发行版或稳定版。
获取OpenBSD一个特定版本的补丁分支, 你可以在一个原有的源代码树 (从 FTP 或者 CD 上获得)的基础上进行代码更新或者从一个 AnonCVS 服务器上全新下载。 关于如何获取补丁分支和保持源代码最新在 AnonCVS 文档.的Getting Started 这节中进行了描述。注意补丁分支不支持跨版本升级, 例如从4.2升级到4.3, 只能在同一个发行版本的内进行更新。
不要指望从源代码将一个发行版变成另外一个, 如果你想进行版本升级, 请参阅升级指南;同样, 你也不能降级, 例如从当前版退回到稳定版, 因为有库文件的版本问题或其它的变动。
一旦你通过 anoncvs 获得了源代码树, 你必须重新构建系统。 以下是步骤:
从稳定版构建默认的内核:
# 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 # make install (安全地安装新内核) # reboot
和上面一样, 用你的平台名称替换 i386 。如果你的系统无法从新内核启动, 你可以简单地退回, 使用老内核启动, 老内核被改名为 obsd 。
重新构建系统的二进制文件:
# rm -rf /usr/obj/* # cd /usr/src # make obj # cd /usr/src/etc && env DESTDIR=/ make distrib-dirs # cd /usr/src # make build
这需要花一些时间...
如果你打算将许多计算机更新到稳定版 -stable, 你也许希望制作一个自己的发行版, 创建标准安装组件, 然后你可以用自己的发行版在相同的平台上进行简单快捷的安装。