升级FreeBSD
让我们假设你刚购买了FreeBSD4.5CD。几天以后,FreeBSD4.6就发布了。倒霉!
不必烦恼:FreeBSD有一个基于CVS的升级系统。你可以选择使用匿名CVS或者CVSup。前者比较容易使用,而后者更有效率。通过这些工具,你可以获得新的原码树(Source Tree),并且同步(Synchronize)它。
下面,你必须使用make buildworld命令编译所有新代码。如何进行编译在FreeBSD Handbook里已经十分详细的进行了阐述(译注:FreeBSD Handbook 1.73版中关于升级系统的部分Zer4tul已经完成了翻译工作,正在进行校对)。最重要的一点是它使你拥有一个紧跟升级步伐的崭新的系统。
但是,并不仅仅如此。跟通常情况一样,自由软件(Free Software)的弱点很快就会被发现,并且很快被修复。跟其它商业操作系统一个漏洞可以很久不被修复不同,自由软件社区的人们会以最快速度为你提供补丁。很明显,你的工作就是检查系统中有什么地方需要补丁。FreeBSD的Web站点上有一个安全公告区(Security Section)提供各发行版的安全公告。你可以从那里下载.asc文件(文本文件)来获得你所需要知道的信息:关于系统问题的系统问题的描述和解决的方法。其它Web站点为你提供的也是这些信息。比如linuxsecurity,CERT等。
这并不是说你必须升级你的系统。
更新FreeBSD
你并不想花过多的时间在了解系统漏洞上,是么?和其它免费Unix系统一样,FreeBSD为你提供了补丁。你可以直接获取这些补丁并且使用它们。对于Linux用户来说,最大的不同就是你并非抓取一个修改过的包,而是一个补丁原码。这就是说你必须在打补丁之后重新编译内核,当然,这就意味着你的机器已经装上补丁了。在Linux下也可以这样,但是人们通常是下载修正过后的包,例如rpm包,至少对于应用程序是这样,有时也下载被打过补丁的内核rpm包。
Linux和FreeBSD最大的不同是内核。FreeBSD是基于BSD4.4,并且没有不像Linux一样有不同的内核版本。这就是说,它的内核都是稳定版本,当然,它也受益于可加载模块。缺点就是如果你想让你的系统尽可能安全的话,你必须比在Linux下更频繁的编译内核。
无论如何,相比Linux的体系,我更喜欢这样的方式,但这仅仅是我个人的意见。我并不认为三个不同的内核版本同时进行可以带来很好的稳定性。应用程序必须从一个版本的内核“移植”到另外一个版本,特别是在安全方面。另外一个例子就是系统包:三个不同的内核版本,三个不同的软件组合!当然还有其它问题。
我极为尊敬那些参与这个伟大工程的人们,但是这是否就是正确的方法呢?改进通常是必要的,但是这是否代表我们随时随刻都必须更改所有东西呢?不必担心!
很明显,你也可以编译一个更符合你要求的内核……并且在那时,就跟在Linux下一样。完成这项工作的方法在FreeBSD Handbook中已经很详细的阐明了,因此,让我们转入其它话题。