分类: BSD
2008-04-06 19:31:54
FreeBSD基本系统的安装
作为一个服务器管理员,经常性的服务器软件更新是必不可少的。FreeBSD提供了非常便捷的升级方式——cvsup,它可以从FreeBSD中央cvsup服务器,或某个cvsup镜像上获取FreeBSD的部分或全部源代码,而且,它只下载那些修改过的源代码,并且可以根据需要选择适合你的版本(使用-STABLE可以提供较好的稳定性以及操作系统的最新特性,多数管理员都会选择这个;使用-RELEASE能够获得成熟产品的品质,尽管话是这样说,但实际上选择这一分支的人很少;使用-CURRENT的用户主要是参与FreeBSD开发的人员,这个分支包含了所有即将进入-STABLE分支的新特性,但不要指望这个分支能够提供必要的稳定性保证,也不要指望它能够带来很好的性能,但所有的安全问题都是首先在这个分支内修正的。本文将在后面详细介绍这些)。
一旦最初的内核配置完成,它就会立即启动,并根据配置文件启动sysinstall(我们将看到一个标准的文字模式配置界面,这有点类似于早期Visual Basic For MS-DOS编写的应用程序的界面。选择Standard进入标准的FreeBSD安装过程。首先是对磁盘进行分区。
FreeBSD对于磁盘的管理和Windows有比较大的差别。一个磁盘上通常有一个Partition就够了,而一个Partition又可以分成若干个slice,并加以标记(label)。实际上,FreeBSD的slice基本上可以等同于Windows的磁盘分区,或卷的概念。
为了保证与FreeBSD共存的系统能够启动,默认情况下FreeBSD会保留一部分磁盘空间(64 cyl)。对于单一操作系统的计算机来说,这是完全没有必要的。分区时按Shift+F可以选择不使用这个特性,不过这种情况下,除了彻底毁掉这套FreeBSD之外,恐怕就没有其他方法能够从这块硬盘上引导其他操作系统了。为了完全使用磁盘空间,我选择了不保留预留空间。
随后是在这个Partition上创建slice。和Linux的情况类似,FreeBSD也使用单独的交换区。这种设计可以避免碎片,也防止了对文件系统的影响,性能较好。通常情况下交换分区是内存的2-2.5倍,这足以应付日常的突发事件。
/var用于保存那些不在集群中共享的文件,/tmp用来保存临时文件,而/usr用来保存那些需要在集群中同步的文件。/就不用说了,它保存的是启动系统需要的文件。
通常给/分配的空间是128MB,/tmp和/var各256MB,剩下的都分给/usr。不过也有例外,如果打算做一个大型的邮件系统,则/var要大一些(通常邮件系统依赖/var来保存邮件)。当然,各个slice可以mount到不同的地方(例如,你可以把曾经的/usr变成/var),不过最开始配置好可以减少很多麻烦。
当然,偷懒的方法也是有的。在没有slice,或没有完全配完slice的情况下按A,系统会给出一组(或对剩下的label)默认的配置。如果你打算单纯提供Web+数据库这样的服务,完全可以直接接受这组配置。
从FreeBSD 4.x开始,ufs支持了一个叫做SoftUpdates的技术。SoftUpdates的主要设计目标是提高文件系统性能。除了/所在的slice之外,所有的ufs slice都应打开SoftUpdates,这样对于提高系统整体性能很有好处。(/虽然也是ufs slice,但打开SoftUpdates会造成系统不稳定——FreeBSD文档如此警告,而笔者确实也吃过这个亏。不过,由于/的内容不需要经常变化,不打开SoftUpdates和打开了SoftUpdates几乎没有性能上的差别) 。SoftUpdates可以随时通过tunefs(来打开或关闭。在label(程序中,打开SoftUpdates的标志是文件系统显示为ufs+s。
之后是选择安装介质和要装的Distribution。它提供了几组常见的情况。Minium安装最小系统,包括一些基本的Unix程序。Developer包括了一些开发工具;X-Developer和Kernel-Developer分别是X和内核开发人员用的。此外还有可选的ports,它可以帮助我们来安装应用程序。
我通常使用的是Custom(定制安装),不安装源代码、ports(因为这些可以从cvsup同步得到最新的,安装一遍浪费时间),只安装XFree86(主要是为了运行cvsup,因为编译不需要X的cvsup需要很长时间,而且很多其他的东西,如php要用到的gd等等,需要XFree86的库文件的支持)、基本系统以及一部分库文件。当然,您也可以根据需要选择安装其他组件。
完成之后系统就开始安装了。注意,一旦安装开始,所有前面做的分区、建立文件系统等操作就结结实实地写到了硬盘上,再没有反悔的机会了。如果您的硬盘上包含重要数据,那么请在这之前备份。
根据计算机速度的不同,这个过程可能持续10分钟到数小时不等。在此过程中,除了光盘或硬盘出问题之外,基本上不会出现节外生枝的情况。按Alt+F2可以切换到用于调试sysinstall(的控制台,Alt+F4可以切换到一个命令行控制台,这些都是调试FreeBSD安装过程,或应付紧急情况的,通常用不到。
全部系统文件安装完成之后,sysinstall(会给出一个祝贺画面。同时,它也告诉你如何在以后运行sysinstall(进行其他操作,如配置等等。实际上,在FreeBSD中sysinstall(基本上相当于Windows控制面板的作用。
随后可以根据自己的情况配置网络、设置时区、显示字体、XWindow等等,并且创建新的用户(FreeBSD中的内建管理员叫做root,但由于它拥有一切特权,因此完全靠它来做日常工作有时会不太方便,笔者自己就曾不慎以root身分删除了modules,然后战战兢兢地重新编译内核)。
FreeBSD安装盘上还提供了一些packages。这些packages是预先遍一号的应用程序。对于一台拥有很好的Internet连接的、速度足够快的机器来说,并不需要安装packages(KDE和X除外,编译它们各需要花上一天一夜的功夫)。这台机器速度还称不上“足够快”,所以我安装了cvsup,它在devel中。
到目前为止,我们已经安装了FreeBSD的基本系统。由于FreeBSD基本系统中包括很多库文件,并且,这些库文件可能已经被发现存在问题,因此现在立刻安装应用程序或服务(如Apache等等)是不合适的。此后我们将讲解FreeBSD的在线升级(cvsup)、应用程序的安装,以及优化。