21.2. FreeBSD-CURRENT 对 FreeBSD-STABLE

FreeBSD有两个发展分支:FreeBSD-CURRENT 和 FreeBSD-STABLE。 这部分将对每个做些说明,并且讲述你的系统如何与各自的树一同保持最新。先讨论FreeBSD-CURRENT ,然后是FreeBSD-STABLE.

21.2.1. 与FreeBSD保持当前(Current)

在你读此的时候,脑中一定要记得:FreeBSD-CURRENT 是FreeBSD发展的``尖端(bleeding edge)''。FreeBSD-CURRENT用户要有较高的技术能力,并且应该有能力自已解决困难的系统问题。如果你是个FreeBSD新手,那么在安装之前最好三思。

21.2.1.1. FreeBSD-CURRENT是什么?

FreeBSD-CURRENT 是FreeBSD 的发展前沿。包括了在下一个官方发行的软件中可能存在,也可能不存在的发展、实验性变化、传统机制。由于许多FreeBSD开发者每天编译FreeBSD-CURRENT源代码,有时这些代码会是不能编译的。虽然这些问题会很快解决,但不管是FreeBSD-CURRENT引起的破坏还是急切的泛涵性(greatly desired functionality)都将是在你获取源代码的的时候值得注意的!

21.2.1.2. 谁需要FreeBSD-CURRENT?

FreeBSD-CURRENT 适合下边三种主要兴趣团体:

  1. FreeBSD团体的成员:积极工作在源码树的某部分的人和为保持``current''为绝对需求(absolute requirement)的人。

  2. FreeBSD团体的成员:为促使FreeBSD-CURRENT保持尽可能的健全而愿花时间去解决问题的积极的测试员;以及那些愿意提出关于FreeBSD变化和总体方向的建设性建议并且提供补丁实现它们的人们。

  3. 那些只是想关注或为了参考目的使用当前(current)源码的人们(如,为了阅读,而不是执行)。这些人也偶尔做做注释或贡献代码。

21.2.1.3. FreeBSD-CURRENT 不是什么?

  1. 因为你听说里边有些新而酷(cool)的功能,而且你想在首先在你的天地(block)里拥有它,所以紧紧跟随、不放过预先发行的每一个字节。由于是系统中第一个使用新功能的人,也就意味着在系统里产生新问题的你是第一个。

  2. 修复错漏的快捷方式。任何FreeBSD-CURRENT的既定版本在修复已知错漏的同时又可能会产生新的错漏。

  3. 无所不在的``官方支持''。我们尽最大努力在3个``合法的'' FreeBSD-CURRENT组之一真诚给人们提供帮助,但是我们没有时间提供技术支持。这并不是因为我们是那种不喜欢帮助人解困的无耻之徒(如果我们是的话,就不会制作FreeBSD了)。我们不能每天简单地回复上百的消息,而且我们继续发展FreeBSD! 在改善FreeBSD和回复大量关于实验代码的问题之间如果要做个选择的话,开发人员会选择前者。

21.2.1.4. 使用FreeBSD-CURRENT

  1. 加入freebsd-currentcvs-all 列表。这个不仅仅是个好主意,而且很重要。如果你不去freebsd-current,你就不会看到人们所做的关于系统当前状态的说明,这样你就有可能在别人已经发现并解决了的一大堆问题面前难倒。更重要的是你会错过一些重要的公告---对于你的系统安全可能是至关重要的。

    cvs-all列表允许你看到每个变化的提交记录,因为这些记录与其它相关信息是同步的。

    要加入这些列表,或其它可能的列表,请访问http://lists.FreeBSD.org/mailman/listinfo ,并且点击你想订阅的列项。关于其它步骤的说明那里有提供。

  2. 从FreeBSD 镜像站点获取源码。你有两种方式选择:

    1. 与称作standard-supfilesupfile一起使用cvsup,这个可以从/usr/share/examples/cvsup得到。这是最被推荐的方式,因为它允许你一次获取整个集合,以后就只取更改过的部分。许多人从cron运行cvsup,以保持他们的源码自动更新。你须要定制上边的supfile样本,并且配置cvsup以适应你的环境。

    2. 使用工具CTM。如果你的连接性能不太好(高价连接或只能通过电子邮件存取),CTM 是个选择。但这也颇有争议并且常常得到到坏文件。因此很少使用它,这也注定了不能长期用它来工作。对于使用9600 bps或更快连接的人,我们推荐使用CVSup

  3. 如果你获取源码是用于运行,而不只是看看,那么就获取整个FreeBSD-CURRENT,不要选部分。这样做的原因是源码的大部分都依赖于其他部分,要是你试着只编译其中一部分的话,保证你会陷入麻烦。

    在编译FreeBSD-CURRENT之前,请仔细阅读/usr/src里的Makefile文件。尽管是部分的升级过程,你至少也要首先安装新的内核和重建系统。阅读FreeBSD-CURRENT 邮件列表邮件列表和/usr/src/UPDATING,会让你在其它循序渐进的过程中保持最新,这对于我们向下一个发行版转移是很有必要的。

  4. 热心一点! 如果你正运行FreeBSD-CURRENT,我们很想知道你关于它的一些想法,尤其是关于错漏修复或增进的建议。非常欢迎带有代码的建议!

21.2.2. 保持FreeBSD的稳定

21.2.2.1. FreeBSD-STABLE是什么?

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

21.2.2.2. 谁需要FreeBSD-STABLE?

如果你对跟踪FreeBSD的发展或想做点贡献感兴趣的话,尤其是与下一个FreeBSD的``目标(point)''发行版相关的,那么你就应该考虑跟从FreeBSD-STABLE了。/para>

同时在FreeBSD-STABLE的分支中也有安全修复,你不跟踪FreeBSD-STABLE去做这些。对FreeBSD的每一个安全建议说明了如何修复因发行而引起的问题 [1],只是为了安全原因而跟踪整个发展分支,有可能引起其它意相不到的变化。

尽管我们尽力确保FreeBSD-STABLE在什么时候能编译和运行,但这是不可保证的。另外,虽然在包括进FreeBSD-STABLE之前,这些代码是在FreeBSD-CURRENT中开发过的,更多的人使用FreeBSD-STABLE也胜过FreeBSD-CURRENT,但在FreeBSD-STABLE中找到些错漏和死角问题也是不可避免的,有时在FreeBSD-STABLE中发现问题并不象在FreeBSD-CURRENT里那么明显。

正因为这些原因,我们并推荐你们盲目跟随FreeBSD-STABLE;并且没有完全地在你的环境里测试你的代码就不要把你的工作服务器升级到FreeBSD-STABLE,这点也很重要。

如果你还没有能力去这样做,那么我们推荐你运行最新发行的FreeBSD,并且使用二进制更新机制(binary update mechanism )进行版本转移。

21.2.2.3. 使用FreeBSD-STABLE

  1. 加入freebsd-stable 列表。让你随时了解可能出现在FreeBSD-STABLE里的“build依赖性”或其它需要特别注意的问题。当开发员正在考虑某些有争议的修复或更新时,他们就会在这个邮件列表里发表声明,给用户机会回应,看他们对于提出的变化是否还有什么问题。

    cvs-all列表允许你看到每一个变化的提交记录条目,这些变化是随着由可能的副作用引起的任何相关信息而产生的。

    要加入这些列表或其他可用的,访问http://lists.FreeBSD.org/mailman/listinfo 并点击你希望订阅的列表。关于其它步骤的说明可以在那里看到。

  2. 如果安装一个新的系统又想它尽可能稳定的话,你可以仅仅从ftp://snapshots.jp.FreeBSD.org/pub/FreeBSD/snapshots/获取最新的分支快照并象其它发行版一样安装它。或者你可以从镜像站点安装最新的FreeBSD-STABLE 发行版,并按照下边的说明升级你的系统到最新的FreeBSD-STABLE源码。

    如果你已经在运行以前的FreeBSD发行版,并希望通过源码方式升级,那么你可能轻易的从FreeBSD 镜像站点完成。有两种方式:

    1. 与称作standard-supfilesupfile一起使用cvsup,这个可以从/usr/share/examples/cvsup得到。这是最被推荐的方式,因为它允许你一次获取整个集合,以后就只取更改过的部分。许多人从cron运行cvsup,以保持他们的源码自动更新。你须要定制上边的supfile样本,并且配置cvsup以适应你的环境。

    2. 使用工具CTM。如果你的连接性能不太好(高价连接或只能通过电子邮件存取),CTM 是个选择。但这也颇有争议并且常常得到到坏文件。因此很少使用它,这也注定了不能长期用它来工作。对于使用9600 bps或更快连接的人,我们推荐使用CVSup

  3. 本质上说,如果你需要快速存取源码并且不计较通信宽带的话,可以使用cvsupftp。否则,就使用CTM

  4. 在编译FreeBSD-STABLE之前,请仔细阅读/usr/src里的Makefile。你至少应该安装一个新的内核并重建系统,首先做为升级过程的一部分。阅读FreeBSD-STABLE 邮件列表邮件列表和/usr/src/UPDATING,可能让你在其它循序渐进的过程中保持更新,这在我们向下一发行版转移时是很有必要的。

Notes

[1]

这个并不十分正确。我们不能继续永远地支持老的FreeBSD发行版。完整的老版本FreeBSD当前的安全问题描述,请查看http://www.FreeBSD.org/security/.