快捷搜索:

FreeBSD服务器的安装与优化(上)(2)

更新FreeBSD

完成了安装、设置设置设备摆设摆设,FreeBSD基础上就算装完了。不过,今朝为止没有哪个通用操作系统能够包管“bug-free”,FreeBSD也一样。在从新启动之后,我们必要做一些调剂;并且,经由过程从新设置设置设备摆设摆设内核,我们可以获得一个更小、更快的操作系统。

第一步要做的是同步源代码。FreeBSD是一套开放源代码的操作系统,它的整个源代码都可以经由过程cvsup与中央cvsup办事器,或它的某个镜像同步。

cvsup是一个可选的package,同样的,它也可以从ports里面安装(/usr/ports/devel/cvsup和/usr/ports/devel/cvsup-nogui)。斟酌到许多利用法度榜样都依附X的库文件,在前面安装的部分我安装了它,并且直接安装了cvsup的package。不过,假如你有足够的耐心去一个一个地make必要的ports,那么先安装ports collection,然后make cvsup-nogui也是一个不错的主见,只管这必要对照长的光阴。

创建一个用于cvsup(1)的supfile,命名为stable-supfile:

(default host中选定的cvsup办事器——ftp.bjpu.edu.cn对造访的IP进行了限定,笔者只在北京工业大年夜黉舍内应用过,是以假如您无法连接这个办事器,请考试测验www.cn.freebsd.org,或cvsup.freebsd.org)

*default host=ftp.bjpu.edu.cn

*default base=/usr

*default prefix=/usr

*default release=cvs tag=RELENG_4

*default delete use-rel-suffix

src-all

ports-all tag=.

随后履行

cvsup -g -L 2 stable-supfile

这里必要轻细解释一下FreeBSD的几种版本。

FreeBSD包括3类分支:-RELEASE,-STABLE和-CURRENT。FreeBSD 3.x、4.x和5.0是今朝受到掩护的版本,假如你等候稳定运行,那么,可以选择的最新版本将是FreeBSD 4.6-STABLE(假如你是在4.6.2-RELEASE发行之后更新的,那么它实际上比4.6.2-RELEASE新,并且,它正式的CVS tag是RELENG_4,即FreeBSD 4-STABLE)。

那么,三类分支有什么差别呢?

FreeBSD的开拓是异常生动的。系统中可能会随时引入一些新的特点。最新的代码是在-CURRENT分支中引入的。-CURRENT的改动异常频繁,天天都可能稀有百处改动。应用-CURRENT分支的FreeBSD必要耐心和勇气,由于你的系统随时可能崩溃(跟着FreeBSD 5.0开拓尾声的靠近,这种征象已经越来越少),make world也可能空手而归(没有人包管-CURRENT分支能够正常编译),此外,这个分支的机能也不好(由于调试的缘故原由,这个分支引入了大年夜量的调试选项,这意味着运行速率不会太快)。当然,正像它的名字那样,-CURRENT分支的版本也是最新的5.0,而且,统统FreeBSD的差错和破绽的修正都是首先在-CURRENT分支引入的。今朝,-CURRENT分支硕果仅存的只有FreeBSD 5-CURRENT(指定cvs tag时写“.”),这个分支包括了FreeBSD 5.0开拓的最新进展。

FreeBSD 5中将引入大年夜量的新特点,包括核心级线程(今朝FreeBSD中的线程支持仅限于用户级线程,这在多处置惩罚器的情况下机能不敷好,当然,今朝应用fork()来支持的多进程线程模拟能够供给类似核心级线程的功能,但并不是所有的法度榜样员都知道若何应用fork)、完备的Soft Updates(这一变更将供给更好的文件系统机能,同时供给更好的稳定性),等等。假如你有快速的Internet连接,一台或一些空余的机械(当然,不是临盆用的办事器),并且盼望为FreeBSD的开拓生发火供献,或者你关心操作系统的最新成长,那么,-CURRENT分支是最好的选择。

此外,因为-CURRENT分支机能不好、稳定性不敷等这些毛病,对付临盆的办事器来说,平日运行的应该是FreeBSD-STABLE。犹如它的名字那样,FreeBSD-STABLE的目的是“稳定地运行”。-CURRENT分支中的代码,在颠末一段光阴(平日是7到90天,但安然更新属于特例,平日会在几个小时)的验证之后,相符版本前提(有些新特点只能用于FreeBSD 5.0)的代码会被FreeBSD-STABLE接受,这个操作称作MFC(Merge From -CURRENT,不是Microsoft Foundation Classes:P)。

假如你相符下面的前提,那么RELEASE分支可能比-STABLE分支更得当你

你应用的软件对付操作系统的变更异常敏感,比如,它只能FreeBSD 4.5,而无法在4.6上运行;同时,你不盘算采纳它的更新版本,或者它的作者回绝更新

操作系统的更新对付你来说没有任何意义,比如,你盘算把FreeBSD算作一个相对固定的嵌入式操作系统来应用,例如,作为防火墙的一部分

更新会对你造成困扰,操作系统的绝大年夜多半新特点对付你来说除了增添烦恼之外,不能带来任何其他器械。

-并且,相符以下的整个前提-

你天天不雅察FreeBSD,以及应用的整个软件的安然看护布告

你的Internet连接对照通行

今朝我本人掩护的所有主机,除了作为防火墙的那台之外,应用的都是FreeBSD-STABLE。

一旦同步完源代码,就应该对全部系统进行更新。假如你没有天天不雅察安然看护布告的习气,那就应该关心一下cvsup到底更新了哪些代码。nectar是今朝FreeBSD的Security Officer。假如你发明他一会儿更新了许多代码,那么对你来说急速make world和kernel很可能是必需的。

为了更新全部系统,在/usr/src中履行

make world

以及

make kernel KERNCONF=内核设置设置设备摆设摆设文件名

当然,也可以连起来履行:

make world kernel KERNCONF=内核设置设置设备摆设摆设文件名

假如你的谋略机运行速率较慢,那么,对付基础系统的更新(相称于不包括库的一次world),可以用

make most

替代make world,但make world是一个不错的主见,由于它能够包管对C运行情况的改变利用到所有的法度榜样中,假如修正的不是动态连接的C函数库,那么make world可以包管代码的同等性。

您可能还会对下面的文章感兴趣: