- 论坛徽章:
- 1
|
tnnd5.0憋了这么久终于出了,费劲,憋的大家直上火!!!
鉴于很多不了解FreeBSD特点朋友盲目追求新版本,可能给他们留下一些对于FreeBSD的不好的印象,决定翻译freebsd.org上面的Early Adopter's Guide to FreeBSD 5.0-RELEASE《FreeBSD 5.0先锋指南》(原谅我把Early Adopter译成先锋,这是我想的出最恰当的词了),来帮助英语不好的同志了解5.0的基本知识
FreeBSD 5.0先锋指南
FreeBSD发行工程小组
Copyright ? 2002, 2003 by The FreeBSD Release Engineering Team
1.介绍
FreeBSD5.0标志着FreeBSD在经过了两年的沉寂之后第一个新的主要版本。除了一些新特性以外,这个版本还包括了很多对基础架构进行的重大改进。伴随着这些升级,也给系统带来了大量的新的、未经测试过的代码。与现有的4.x release版本相比较,5.0也许在稳定性、性能、随机功能性方面有很大的退步。
为此,发行工程小组<re@freebsd.org>;不鼓励大家盲目地从旧版本升级到5.0。尤其是对一些保守的用户,我们推荐您在近一段时期继续使用4.x-release(比如4.7-release,或是即将推出的4.8-release)。我们认为这些用户最是当的升级到5.x的时间是在5-stable分支建立之后,这将会是在发行5.1-release到5.2-release左右的时间。
(FreeBSD 5.0也受到“先有鸡还是先有蛋”的问题地困扰。整体计划的目标是制造出一个尽可能稳定和可靠的5.0-RELEASE。稳定性与可靠性需要广泛的测试,特别是系统的那些新特性。然而大量的用户测试系统,从实际的角度来讲就是要先编译并发布一个发行版)
这篇文章主要内容是FreeBSD 5.0-RELEASE在安装和运行方面的一些问题。我们可以从FreeBSD发行过程简要的总览开始。我们将在那些不警觉的用户可能出现问题的地方阐述一些FreeBSD 5.0值得注意的新特性。为这些用户是否保留原有的4-STABLE发行版,我们给出了对于这个开发分支的短期到中期的计划。最后我们阐述了一些从现有4.X系统升级到5.0中需要注意的问题。
2. FreeBSD发行过程总览
FreeBSD使用了一个依赖于多个开发分支的源代码库的开发模型。主要分支叫做“CURRENT”,这个是和CVS库里面的HEAD标记相关联的。最新的特性被最先提交到这个分支;虽然这意味着在CURRENT上将能看到最新的功能,但是同时也意味着偶尔遭遇新特性加入和出错中带来的一些破坏。
主要的FreeBSD发行版本都是从一些STABLE分支制作出来的。新特性只有经过了在CURRENT分支里面的大量的测试之后才会被加入到这里。在同一时间里只有一个STABLE分支在动态更新;这个分支与“4-STABLE”相关联,并且所有的FreeBSD 4.X发行版都是基于这个分支。这个分支在CVS库中的标记为RELENG_4。
FreeBSD 5.0将基于CURRENT分支。这将是两年以来这个分支的第一个发行版本(上一个是在2000年3月的FreeBSD 4.0)
在FreeBSD 5.0发行之后的不长的时间之后,一个“5-STABLE”的分之将会在CVS库中和RELENG_5一起建立。过去的两个稳定分支(3-STABLE和4-STABLE)都是在他们各自的.0(读做道特O)(分别是3.0和4.0)版本发布之后。事后的经验表明,这样做在新分支被建立之后未能给无论是CURRENT或是新STABLE分支充分的时间去完善。
因此,发行工程小组将会在新版本达到相对稳定的状态后在CVS库中建立5-STABLE分支。在这之前5.X系列将会出现多种发行版本;我们估计5-STABLE分支将会在5.1-RELEASE或是5.2-RELEASE发布之后建立
更多关于FreeBSD发行工程进程的信息可以从发行工程的网页上和FreeBSD发行工程文档中找到
3. 新特性
FreeBSD 5.0的一个最大的吸引人之处在于他的各种各样的新特性。这些新特性和新功能总体上包括一些大的结构上的改进,这些改进是不可能加入到FreeBSD 4-STABLE开发分支里面去的。(相比较的是一些自带的增强,例如一些新的设备驱动或是用户工具,已经移植到里面去了)以下是一些简要的,并非完整的列表:
SMPng: 对SMP(对称多处理器)计算机的“下一代”支持(正在开发中)现在内核已经部分支持多处理器同时运行了。
KSE: 内核计划实体允许一个单独进程拥有多个内核级线程,与Scheduler Activation相似。
新的架构: 支持sparc64和ia64架构,此外还有i386,pc98和alpha
GCC: 新的编译工具使用的是GCC3.2.1
MAC: 对扩展的支持,可调入的强制访问策略
GEOM: 对磁盘I/O请求的灵活的传输架构。一个实验性质的磁盘加密工具正在GEOM基础上进行开发
FFS: FFS文件系统现在已经支持后台的fsck(8)操作(提供更快的崩溃恢复)和系统快照
UFS2: 加入新的UFS2磁盘格式,支持扩展的预文件属性和更大的文件大小
Cardbus: 支持Cardbus设备
更为详细的对比列表可以从FreeBSD 5.0的Releasenote中找到
4. 早期版本的退步
伴随着一些新特性加入FreeBSD 5.0也许会引起一些问题,或者至少是将导致不希望看到的结果。为什么这么说呢,因为很多新特性还处于开发阶段。下面是部分困难的列表:
很多特性还没有完成,在上面的列表中的SMPng和KSE都包括在内。
因为对内核的数据结构和ABIs/APIs的改进,第三方的二进制设备驱动将需要在FreeBSD 5.0下进行调整。而且在5-STABLE被建立之前有一些小的ABI/API仍然可能改变
一些FreeBSD的基本系统功能被转移到了Ports Collection机制中去了。比如Perl,UUCP和绝大部分游戏(不是所有的)。当然这些程序仍然支持,移走他们也许会带来一些困扰
很多ports和packages不能在FreeBSD 5.0下进行编译或是正常运行,然而却能正常的在FreeBSD 4-STABLE下运行。总体上讲这些问题可能是由于更换了编译工具或是对头文件的清理造成的
因为FreeBSD 5.0是两年以来CURRENT分支第一个发行版本,很多新特性是第一次暴露在大家的视野里。很多这些特性(比如SMPng)对内核有很大的影响
在这些新特性中仍然有很多帮助寻找问题的除错和诊断代码在里面,这也许会导致5.0速度比4-STABLE要慢
特性只有在-CURRENT分支中经过了“缓冲时间”之后才会加入到4-STABLE开发分支。FreeBSD 5.0未能从-STABLE分支中得到稳定化的影响(与此相似的5-STABLE开发分支将会在5.1-RELEASE或是5.2-RELEASE之后的某时建立)
文档(比如FreeBSD手册和FAQ(经常被问到的问题))也许还不能及时反映出FreeBSD 5.0做出的改进
因为很多的退步影响到系统的稳定性,发行工程小组推荐大部分的保守站点和用户,继续使用4-STABLE分支直到5.x系列更加的完善
5. 4-STABLE分支的计划
FreeBSD 5.0的发行并不意味着4-STABLE分支的结束。在这个分支上还将会有至少一个发行版本,将会命名为4.8-RELEASE,现在的计划是在2003年的三月一日发行。
在写这篇文章的的时候,发行工程小组还没有在4-STABLE上的确定的未来计划(4.8之后)。可是4.9-RELEASE甚至4.10-RELEASE都有可能出现。在这个分之上更多的未来发行版将取决于很多因素。最主要的因素是5-STABLE分支的出现和稳定性。如果CURRENT没有稳定到建立5-STABLE的程度,这也许会需要并允许更多的4-STABLE分支的发行版本出现。当4-STABLE分支最后一个声明发行版出现的时候,新特性可能已经根据开发者的判断和现有的发行工程策略被整合进去了。
另外,发行工程小组还会考虑到用户对未来4-STABLE发行版本的需要,不过这些需要还需要经过对发行工程资源的综合考虑(比如在人事,计算资源和镜像空间等等方面)
安全工作小组<security-officer@FreeBSD.org>;将会继续一贯地以他们的安全政策对4-STABLE的发行版本提供支持,这些政策可以在FreeBSD网站的安全页面找到。 总而言之,那一个分支的最新的发行版将被支持,会在根据安全忠告和安全漏洞的基础上作出判断。根据这个原则,小组将会选择支持那一个版本
6. 升级的注意事项
对于那些现在使用FreeBSD系统的用户,这个部分提供了一些把FreeBSD 4.x系统升级到5.x的过程中需要注意的一些问题。对于任何的FreeBSD升级,阅读该版本的发行文档和错误文档都是至关重要的,同样的使用源码升级时需要阅读src/UPDATING
6.1 二进制升级
也许最直接的升级方法就是“备份所有东西,重新格式化,重新安装,并且恢复所有东西”。这样消除了不兼容的或是已不在使用的执行文件或是配置文件对新系统污染造成的问题。
现阶段,sysinstall(8)中的二进制软件升级的选项未能对各个主要版本的升级进行广泛的测试。所以使用这个功能是不被推荐的。在特殊的情况下,二进制升级会留下一些在FreeBSD 4.x运行的但是不能在5.0上运行的文件。这些废弃的文件也许会产生一些问题。
在i386和pc98平台上,在4-STABLE上面有一个UserConfig工具允许在使用安装媒介引导的时候对ISA设备进行配置。在FreeBSD 5.0下面,这个功能已经已经被device.hints(5)机制替代了(这个允许您对于不同的接口,定义相同的参数)
基于软盘介质的二进制安装也许需要下载第三个,新的内核里包括附加的设备的软盘镜像。这个drivers.flp软盘镜像可以在与常用的kern.flp和mfsroot.flp软盘镜像的相同位置找到
在i386架构上的光盘介质的安装使用一种叫做“无模拟”的引导软件。这个软件能够有更强的功能,如使用GENERIC(标准内核)而不是软盘镜像里面的精简内核。任何能够引导微软Windows NT 4安装光盘的系统都能够引导FreeBSD 5.0的光盘。
6.2 源码升级
阅读src/UPDATING是绝对必要的。相应的部分叫做“从4.x-stable升级到current”,这里包括一步一步的升级过程。这个过程必须严格的按照说明进行,不能够随便的缩减。
6.3 一般注意事项
Perl已经从基础系统中被删除了,您需要安装的话应该用编译好的安装包或者从Ports机制中进行安装。把Perl作为基础系统的一部分编译对于编译升级产生了一定的困难。基础系统工具使用到Perl的地方已经被重新改写了(如果仍需要应用)或是删除了(如果失去作用)。sysinstall(8)工具中将在主要的安装方式中加入Perl软件包,所以大部分的用户将不会注意到这个变化。
另一个问题是在5.x上面运行4.x的可执行文件,这需要安装compat4x分发。同样,使用旧的ports也许也是一样
如果是在一台已有4-STABLE的系统上安装或者是升级的话,一个极其重要的工作是需要清理在/usr/include内旧的头文件。在进行二进制安装或是installworld操作之前,需要重命名或者移动这个目录到另一个地方。如果不进行这个步骤,也许会产生一些混淆(尤其是C++的程序),因为编译器会使用当前的头文件和废弃的头文件的混合体。
7 总结
虽然FreeBSD 5.0包括了很多新鲜的、令人激动的新特性,但这并不代表着它现在适合所有的用户使用。在本文档中,我们首先叙述了发行工程的一些背景,5.x系列一些值得大家注意的新特性和早期版本的一些缺陷。最后我们提供了对于4-STABLE开发分支未来的一些计划和对于那些先锋使用者在升级过程中需要一些提示。
quakelee(赵新)翻译
2003年1月20日 |
|