23.5. 追踪开发分支

FreeBSD 有两个开发分支: FreeBSD-CURRENT 和 FreeBSD-STABLE 。 本节将简介它们, 并介绍如何让它们保持最新。 我们将先讨论 FreeBSD-CURRENT , 然后再是 FreeBSD-STABLE 。

23.5.1. 使用最新的 FreeBSD CURRENT

FreeBSD-CURRENT 是 FreeBSD 的开发的 最前沿 。 FreeBSD-CURRENT 用户需要有较高的技术能力, 并应具有自己解决复杂系统问题的能力。 如果您是 FreeBSD 新手, 推荐使用 FreeBSD-STABLE 。

23.5.1.1. 什么是 FreeBSD-CURRENT ?

FreeBSD-CURRENT 是由 FreeBSD 的最新源代码构建的。 包含了可能出现或也可能不出现在下一个正式发行版里的仍在开发阶段、 实验性质的修改, 过渡性机制。 尽管每天都有许多 FreeBSD 开发者编译 FreeBSD-CURRENT 源代码, 但有时这些代码仍有可能不能通过编译。 虽然这些问题通常很快会得到解决, 但 FreeBSD-CURRENT 带来的是破坏或功能改善, 这很可能完全取决于您获取源代码的时机。

23.5.1.2. 谁需要 FreeBSD-CURRENT ?

FreeBSD-CURRENT 主要适合以下三类人:

  1. FreeBSD 社区成员: 积极工作在源代码树的某部分的人和视保持 最新 版本为绝对需求的人。

  2. FreeBSD 社区成员: 愿花时间去解决问题, 促使 FreeBSD-CURRENT 保持尽可能的稳定的。 以及提出有关 FreeBSD 改进和建设性建议的并提供补丁实现它们的人。

  3. 只是关注或参考目的的人。 这些人也偶尔做做注释或贡献代码。

23.5.1.3. FreeBSD-CURRENT 不能 什么?

  1. 追求新功能, 获得下一个正式发行版的新功能。 预发行功能还没有经过完整测试, 最有可能包含 bug 。

  2. 快速修复 bug 。因为在修复 bug 的同时又可能产生新的 bug 。

  3. 无所不在的 官方支持

23.5.1.4. 使用 FreeBSD-CURRENT

  1. 订阅 freebsd-currentsvn-src-head 邮件列表。 这不仅仅是建议, 而是 必须 的。 以便用户了解当前系统状态, 并接收可能对系统的持续健康运行有至关重要影响的公告信息。

    svn-src-head 邮件列表允许您查看每个变化的提交记录, 因为这些提交记录记录了变更内容以及可能的产生的副作用的相关信息。

    需要订阅这些邮件列表, 请访问 http://lists.FreeBSD.org/mailman/listinfo , 并点击您想订阅的项目。 并按照说明进行操作。 为了跟踪整个源代码树的变更信息, 可以订阅 svn-src-all 邮件列表。

  2. 选择以下一种方式从 FreeBSD 镜像站 获取源代码:

    1. 使用 svn 签出所需的开发版或正式发行版分支的源代码。 它是访问 FreeBSD 开发库的首选方式。 -CURRENT 分支源代码可以选择一个 Subversion 镜像站head 分支检出。 受仓库大小影响, 推荐仅检出子分支树。

    2. 使用 CTM 工具。 如果您的网络性能不好, 如高价网络连接或只能通过电子邮件获取, 那么 CTM 将是一个很好的选择。 但它没有 Subversion 可靠。 因此, Subversion 依旧是所有已接入互联网的系统获取源代码首选方式。

  3. 如果您获取源码是用于运行, 而不只是阅读, 那么就应该获取 完整 FreeBSD-CURRENT 源代码, 而不是获取一部分。 源代码的各个部分会依赖于其他部分, 如果您仅试着编译其中一部分的话, 那么几乎可以肯定是会出问题的。

    在编译 FreeBSD-CURRENT 之前, 请仔细阅读 /usr/src/Makefile 文件。 作为的升级过程的一部分, 您至少也要首先了解 安装一个新的内核和重新编译 world 。 此外, 还必须多多阅读 FreeBSD-CURRENT 邮件列表 以及 /usr/src/UPDATING , 这样才能知道目前的进度以及下一版本会有什么新的进展。

  4. 热心一点! 如果您正运行着 FreeBSD-CURRENT , 我们很希望知道您关于它的一些想法, 尤其是关于 bug 修复或增进的建议。 非常欢迎附带补丁的建议!

23.5.2. 使用最新的 FreeBSD Stable

23.5.2.1. 什么是 FreeBSD-STABLE ?

FreeBSD-STABLE 是我们的开发分支, 我们的正式发行版就由此发展而来。 这个分支会以不同速度变化, 并且假定这些是第一次进入 FreeBSD-CURRENT 进行测试。 然而, 这 仍然 是个开发分支, 意味着在一定的时候, FreeBSD-STABLE 源代码可能或不可能满足一些特殊的要求。 它只不过是另一个工程发展途径, 并不是终端用户的资源。

23.5.2.2. 谁需要 FreeBSD-STABLE ?

如果您有兴趣追随 FreeBSD 的开发过程或为其做点贡献, 尤其是和下一个 非计划 的 FreeBSD 发行版有关时, 您应该考虑使用 FreeBSD-STABLE 。

尽管安全更新也会进入 FreeBSD-STABLE 分支, 但您并不需要因此 必须 使用 FreeBSD-STABLE 。 每一个 FreeBSD 安全公告都会介绍如何修复受此问题影响的尚未停止支持的正式发行版上的问题 [6]

尽管我们尽力确保 FreeBSD-STABLE 分支能在任何时候都能正确编译和运行, 但没人可以保证它永远不出问题。 此外, 代码进入 FreeBSD-STABLE 之前都会经过 FreeBSD-CURRENT 的测试, 但 FreeBSD-CURRENT 用户总是比 FreeBSD-STABLE 用户少些。 有些 FreeBSD-CURRENT 上并没有暴露出来的问题可能在经过 FreeBSD-STABLE 测试的过程中才暴露出来。

基于这些原因,我们 不推荐 您盲目追随 FreeBSD-STABLE , 在尚未进行完整的开发或测试之前, 千万不能将生产服务器更新至 FreeBSD-STABLE 。

如果您没有更多时间和精力的话, 那推荐您使用最新的 FreeBSD 正式发行版, 并使用二进制更新机制来完成版本间的升级与迁移。

23.5.2.3. 使用 FreeBSD-STABLE

  1. 订阅 freebsd-stable 邮件列表。 他可以让您随时了解 FreeBSD-STABLE 的软件编译依赖以及其他需要特别注意的问题。 对于那些有争议的修复或更新, 开发者就会在这个邮件列表里发表声明, 听取用户意见。

    订阅您所关心的分支的 svn 提交日志。 比如您关心 9-STABLE 分支, 可以订阅 svn-src-stable-9 这个邮件列表。 这个邮件列表会记录每一个提交日志信息, 包括变更原因, 及可能出现的问题等等。

    需要订阅这些邮件列表, 请访问 http://lists.FreeBSD.org/mailman/listinfo , 并点击您想订阅的项目。 并按照说明进行操作。 为了跟踪整个源代码树的变更信息, 可以订阅 svn-src-all 邮件列表。

  2. 如果您需要全新安装一个 FreeBSD-STABLE 每月编译快照版本, 请参阅 快照 页面, 以了解更多信息。 另外您也可以从 FreeBSD-STABLE 发行版的 镜像站 安装最新版本, 并按照其中的说明更新 FreeBSD-STABLE 源代码。

    有几种方法可以通过 FreeBSD 镜像站 将系统升级为最新版 FreeBSD :

    1. 使用 svn签出所需的开发版或正式发行版分支的源代码。 它是访问 FreeBSD 开发库的首选种方法。 最新开发版分支使用 head 分支名, 其他版本形式请参考 项目发布页面 。 主要形式有: stable/9releng/9.2 等。 可用的 URL 地址可以在 Subversion 可用的基本系统 Subversion 镜像站 上找到。 受仓库大小影响, 推荐仅检出子分支树。

    2. 考虑使用 CTM 如果您的没有快速互联网网络。

  3. 在编译 FreeBSD-STABLE 之前, 请仔细阅读 /usr/src/Makefile 文件。 作为的升级过程的一部分, 您至少也要首先了解 安装一个新的内核和重新编译 world 。 此外, 还必须多多阅读 FreeBSD-CURRENT 邮件列表 以及 /usr/src/UPDATING , 这样才能知道目前的进度以及下一版本会有什么新的进展。



[6] 更多有关当前旧 FreeBSD 正式发行版的支持策略, 请参阅 http://www.FreeBSD.org/security/

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.