第2章 安装与配置Unix给人的印象一向是比较专业,难以安装,但是FreeBSD的表现却并非如此。这是因为FreeBSD主要支持最流行的个人计算机平台,由于多平台问题不是主要考虑对象,FreeBSD的开发者就集中精力建立了一整套适用于个人计算机的高级安装与配置工具 ── Sysinstall。因此与其他Unix系统不同(包括NetBSD和FreeBSD),FreeBSD的安装过程相对简单和容易理解,只需要安装软盘或安装光盘启动安装程序,就能顺利完成安装FreeBSD的任务。
FreeBSD的安装程序支持最流行的网络安装和光盘安装方式,也支持传统的磁带和软盘等其他几种安装方式,支持大多数的流行硬件以及这些硬件的标准配置,并能对系统进行基本配置,如主机名、键盘和屏幕字体、网络设置等。
但是通常个人计算机上最常使用的还是微软的Windows 9x系列的操作系统,使用者常常习惯用来自于DOS的一些概念来分析系统,这些概念与Unix对同样事物的理解方式有所不同。而FreeBSD是一个完整的Unix操作系统,因此要求使用者要使用Unix的方式去了解个人计算机系统的各个方面。正如一个没有任何DOS/Windows基本概念的使用者,无法正确安装DOS/Windows一样,一个没有任何Unix的基本概念的使用者,也无法正确安装FreeBSD。
安装之前的准备
安装之前应该了解要安装FreeBSD的计算机硬件配置和Unix的一些基本概念,以及FreeBSD软件的载体 ── 安装介质。这些信息能帮助用户了解这台计算机是否适合安装FreeBSD,是否具备安装FreeBSD的条件。绝大多数情况下使用安装光盘(或软盘)直接进行安装,就能完成安装任务,但了解更多的信息可以帮助安装者处理在特定条件下发生的安装问题。所以建议读者不要忽略安装的准备阶段,充分了解自己要安装的系统的硬件和FreeBSD中的常用概念,可以避免安装过程中出现问题。
硬件设备
个人计算机上的硬件种类千差万别,对于用于不同目的的系统,应该会选用不同的硬件。有些硬件对FreeBSD系统比较重要,如硬盘和网络设备,而有些硬件不太重要,属于可选配置,如用于多媒体系统的声卡等。要安装FreeBSD系统,必须保证这台计算机中包括最基本的硬件设备,如用于安装系统的硬盘,读取要FreeBSD安装介质的设备:软盘驱动器、光盘驱动器或网络等。
然而也有特定配置的FreeBSD系统,可以仅使用软盘启动和运行,或者是无盘的网络工作站。这些系统用于特定目的,如用作专用防火墙设备或X终端。这些特殊配置的FreeBSD系统不使用标准的安装方式。
FreeBSD支持的硬件
标准的FreeBSD最小能够安装在一台只有5MB内存,40MB硬盘,使用Intel 80386芯片的机器上。事实上运行FreeBSD只需4MB就足够了,只是FreeBSD的安装程序要将软盘上的数据首先展开到内存中的MFS文件系统中(相当于虚拟磁盘),因此要求至少5MB的存储空间。如果要求系统能运行X Window图形界面,那么就应该至少有8MB内存,250MB硬盘。
FreeBSD在这种低配置的计算机中仍然能完成相当多的任务,然而处理器的速度和内存的大小也限制了它的任务处理能力,显然更高配置的计算机能表现出更出色的性能,完成更复杂的处理任务。例如,安装软件需要额外的硬盘空间,而复杂的软件会要求更大的内存和处理器速度提供支持。通常太低配置的计算机对于用作个人工作站并不适合,但其处理能力也能满足完成某些处理专有任务的特定用途方面。例如用作拨号访问Internet的网关,一台软盘启动的386也就能满足其56Kbps流量的处理要求。
不同的工作用途,对硬件的要求也不相同,也应该选用不同种类的硬件。如果用作个人工作站或专用X终端,至少应该拥有大屏幕、高清晰的图形显示器。如果是用作支持数百人同时访问的Internet服务器,就必须考虑使用最高级Pentium II处理器,SCSI硬盘以及大量的内存。将FreeBSD系统用作软件路由器、防火墙或网桥设备时,就应该根据网络结构和数据流量采用高性能的网卡,例如采用ATM网卡或千兆以太网卡。
FreeBSD支持ISA、EISA和PCI总线的硬件设备,包括标准的IDE/EIDE硬盘驱动器,各种SCSI控制器,IDE和SCSI界面的磁带驱动器和光驱,其他的一些ATAPI界面的光驱,标准串口、并口,各种类型的鼠标,与SoundBlaster兼容的声卡,VGA兼容的显示卡等个人计算机上使用的大部分硬件。只有一些太古老的,或者使用很少的硬件,或者生产厂家不愿公开其技术资料的硬件,FreeBSD不能提供支持。对于这样的情况,就必须更换硬件设备才能安装FreeBSD。同时也必须注意到,由于FreeBSD下的硬件支持并不是由硬件厂商提供支持的,而是由FreeBSD开发者根据硬件厂商提供的资料开发的。因此当一种新设备出现之后,并不会立即出现FreeBSD下的驱动程序,而需要一定的滞后时间。
字符模式下,只需要标准VGA显示设备就可以了,但在X Window下,显示卡的VGA兼容方式只能提供16色及640x480的分辨率,而大多数显示卡能显示更高的分辨率及更丰富的色彩,这需要显示卡的驱动程序提供支持,这种支持是由X Server来完成的,因此对不同种类显示卡的支持应该检查X Free86的硬件支持列表。
在每个FreeBSD安装介质中,都包括一个该版本的FreeBSD支持硬件的列表文件──HARDWARE.TXT,也可以到FreeBSD的往页中获得各个版本的硬件支持列表文件。然后可以对比这个文件中的硬件列表,来判断自己计算机上的硬件是否满足安装FreeBSD的要求。在订购计算机硬件时,也可以参考这个文件的内容来选择购买FreeBSD支持的硬件。
但是,FreeBSD支持的硬件并不一定是FreeBSD的标准安装程序支持的硬件,由于要在安装软盘中不可能包括所有硬件的驱动程序,而只放置了对安装系统所必要的一些驱动程序。有的硬件设备对于系统安装来讲用处不大,如声卡等多媒体设备,那么其驱动程序就不包括在安装软盘和标准内核中。支持这些硬件便需要重新定制FreeBSD内核,安装盘支持的硬件也在HAREWARE.TXT中进行了描述。
当前计算机硬件发展速度非常迅猛,当前Intel平台的计算机完全能满足不同用途FreeBSD的要求。然而由于硬件发展很迅速,新型硬件不断出现,就使得这些硬件从出现到被FreeBSD支持,需要经过一段时间。如果某些硬件在最新的release版本中不支持,可以查看FreeBSD-current分支是否支持该硬件,因为-current分支通常包括更多新硬件的驱动。
硬件资源及配置
个人计算机的硬件由主板和多个的板卡组成,每种硬件必须占用不同的硬件资源。这些资源包括端口号(ports),中断请求号(IRQ),直接内存访问通道号(DRQ),输入/输出存储器地址(I/O memory),硬件使用的资源不能够相互冲突,否则冲突的硬件就无法正常工作,甚至会影响整个系统的正常运转。
在个人计算机中,硬件资源的分配遵循一定的习惯,这样在使用的板卡数量较少时就不会形成冲突。但是在硬件较多时,缺省配置就不一定十分合适。为了避免硬件冲突,就需要对板卡使用的资源进行设置。而不同的板卡,采用三种不同的资源设置方式:
跳线或DIP开关,板卡上有几个不同的跳线,选择不同的跳线方式使板卡使用不同的硬件资源;
软件设置,板卡厂商附送设置软件(一般是DOS程序),能够对板卡使用的资源进行设置。有的板卡还提供驱动程序,可以自动探测空余的资源,并重新更改板卡使用的资源设置,这种能通过软件驱动改变资源设置的板卡被称为无跳线板卡(Jumpless)。只是其提供的驱动基本都是DOS/Windows驱动;
即插即用(PNP, Plug & Play),板卡遵循PNP标准由系统分配空余资源;
对于这三种不同的硬件类型,更改板卡资源配置的方式也不同,对于前两种方式的板卡,可以直接更改跳线或DIP开关,或者在DOS下使用设置软件来设置它占用的资源。即使是Jumpless的板卡,由于硬件厂商提供的驱动只是DOS/Windows驱动,因此只能使用其缺省资源设置而不能利用其自动探测的优势,当然设置程序可以帮助更改其缺省的资源设置。
而对于Plug and Play的ISA板卡,问题较为复杂,因为PNP板卡要求系统为其分配资源设置。有些板卡的设置软件,可以设置这个板卡不使用Plug and Play方式,而直接指定占用的硬件资源。这样就将PNP类型的板卡用作软件设置的板卡,由安装者来保证没有硬件设置冲突存在,这是一种思路简单的解决办法。
如果使用Plug and Play的方式为板卡分配资源,可以选择两种不同的分配方式,一种是由BIOS设置硬件的资源,BIOS在自检时就分配资源给PNP卡,然后当操作系统启动时根据这个设置分配板卡占用的资源。另一种方式完全由操作系统分配PNP卡占用的资源,BIOS不给PNP卡分配硬件资源。
FreeBSD能够支持Plug and Play,但是由于ISA总线的PNP卡通常是某种标准ISA板卡的兼容产品,驱动程序不会自动分配资源,因此就需要在UserConfig中进行手工设置或调整,PCI PNP卡就不存在这个问题。为了避免烦琐的手工调整,可以使用BIOS给Play and Play板卡分配初始资源,如果必要再手工调整设置。支持PNP卡的主板BIOS中通常有一个Plus & Play OS选项(或类似描述词句),这个选项用于决定是否为PNP板卡分配资源,应该将该选项关闭(选择 “Disable” , “No” , “non-Win95” 等),让BIOS为板卡分配初始资源。
通过更改硬件的设置,来解决硬件冲突问题。此后将这些硬件配置信息记录下来,用来解决安装过程中的问题。即使计算机上不存在硬件冲突问题,记录下这些配置信息也是非常有用的。可以通过查看各个硬件的手册或硬件提供的设置软件来了解这些硬件的配置情况,如果计算机上已经安装有操作系统,可以使用这个操作系统上的软件来辅助了解硬件的配置信息,例如DOS下的MSD,Windows 95下控制面板中的系统选项等,这些软件中将显示出当前计算机已经配置过的硬件信息。
对于PNP卡,由于系统资源是计算机启动后才获得的,因此使用DOS/Windows下的软件能更快捷的获得必要的信息。虽然PNP中资源是动态分配的,但是这个值仍然能起到非常有用的参考作用,尤其对于使用BIOS来分配资源的板卡,这个资源设置就更有意义一些。
安装介质
为了安装FreeBSD,必须还要有FreeBSD系统的安装介质,FreeBSD支持的安装介质有以下几种:
CD-Rom
由于光驱已经成为个人计算机的标准配置,因此使用FreeBSD的安装光盘来安装FreeBSD是最容易也最常见的安装方式。并且当个人计算机系统支持CD-Rom启动时,就可以直接使用光驱来安装FreeBSD,而不需要启动软盘的帮助。使用CD-Rom做安装介质要求计算机配有FreeBSD可以识别的光盘驱动器。
网络服务器
安装文件位于网络服务器上,安装程序通过ftp或者nfs,远程访问网络安装服务的相应服务器上,获得安装所需的各个文件。网络安装要求系统必须连接到网络上,而且网络的传输速度也要比较稳定才合适。被安装的计算机必须具有网卡或广域网接口,以支持网络。
磁带
这是一种较老式的安装方法,但十分有效。如果有tar格式的安装磁带,安装过程十分简单。使用这种安装方式,计算机必须拥有一台磁带机。
软盘
也是一种较古老的安装介质,除非条件限制,很少有人有耐心使用软盘作安装介质,因为这需要太多的软盘,并且软盘是不可信赖的存储介质,很难保证复制的软盘没有错误。FreeBSD之所以支持这种方式,是因为软盘驱动器是个人计算机的标准配置,这使得FreeBSD能够在最恶劣的特殊条件下也能进行安装。
硬盘
将FreeBSD的安装文件预先拷贝到计算机系统中已有的硬盘分区中,该分区的类型可以是DOS分区或者FreeBSD分区。这要求计算机中有足够的硬盘空间并已有格式化后的分区。这种方式是前面几种方式的折中方式,如果网络不稳定,或者光盘质量有问题,或者要保留安装介质以便再次安装,都可以先复制必需的内容到硬盘上。
安装介质中的内容
无论哪种安装介质,其中都是存储了要构建一个FreeBSD系统所需要的系统软件,由于CD-Rom和Internet越来越普及,CD-Rom和网络安装方式是最常用的方法。这里就以FreeBSD的安装光盘为例,简单介绍FreeBSD安装介质上的主要内容。
FreeBSD使用的安装光盘是标准的ISO 9660格式的光盘,这种格式缺省只支持8.3格式的文件名(8个字符的基本文件名,3个字符的扩展名,不区分大小写),由于Unix下的文件名比较长,且区分大小写,因此FreeBSD及其他Unix通常使用Rock Ridge方式对文件名进行映射,在每个目录下使用一个文件TRANS.TBL记录8.3格式的文件名与Unix使用的长文件名之间的对应关系。
FreeBSD安装光盘中的内容可分为三类:
第一类为安装说明文件,这些文件位于安装介质中的根目录下:
ABOUT.TXT: 关于FreeBSD的简单信息 HARDWARE.TXT: FreeBSD支持的硬件列表 INSTALL.TXT: 介绍如何安装FreeBSD的说明 README.TXT: 介绍安装介质上其他文件,应该首先阅读 RELNOTES.TXT: 发行这个版本的FreeBSD系统时的一些通知 LAYOUT.TXT: FreeBSD安装系统的文件分布的说明 UPGRADE.TXT: 进行升级FreeBSD的一些注意事项
第二类是进行安装时能用到的DOS工具程序,主要用于制作启动软盘。
tools目录: 准备安装所需要的DOS工具程序,包括制作启动软盘的DOS程序,以及帮助整理硬盘的 工具,从DOS下启动FreeBSD的程序等。 floppies目录: 包含安装软盘、启动软盘、系统修正软盘的镜象文件的目录 第三部分就是FreeBSD系统的安装文件
XF86333目录: 包含XFree86软件的目录,其中版本号会随着系统升级而提升到更新的版本 bin目录: 系统基本文件的安装目录,这是安装FreeBSD所需的必备目录 catpages目录: 格式化后的普通文本方式的系统手册 compat1x、 compat20、 compat21 和compat22目录: 包含与以前各个版本的FreeBSD相兼容的库 des目录: 由于美国法律的限制,包含DES算法的软件未经许可不能出口到美国和加拿大之外, 因此FreeBSD缺省使用MD5算法以避开这个问题,这个目录中包含与des算法的相关软件,以便需要这个 算法的使用者可以从北美之外的Internet上获得并安装。 dict目录: 系统字典安装目录 doc目录: 系统文档安装目录 games目录: 包含一些Unix小游戏 info目录: GNU info文档的安装目录 manpages目录: 系统手册的安装目录 packages目录: 包含最常用的软件 ports目录: Ports Collection的源代码 proflibs目录: 系统运行库 src目录: 系统源代码的目录 这些安装文件可分为三类,一类是系统软件,用于构建基本的FreeBSD系统。这些软件存储在安装介质下的bin, des, dict, doc, games, info, manpages,catpages, compat1x, compat20, compat21, XF86333和proflibs目录中。为了便于管理,这些文件使用tar和gzip进行打包压缩,其中前六个目录下的文件被分割为大小为240,640字节的文件,这样在需要的时候,可以拷贝到软盘上进行安装。然而并不是所有的内容都必须安装,可根据不同的安装选项,有选择的安装不同目录下的不同内容,只有bin目录下的系统软件才是必须的。
另一类是可选软件,如果说基本系统是骨架,那么应用软件就是血肉。没有应用软件,一台FreeBSD系统就不能充分发挥它的全部功能。FreeBSD使用Ports Collection的机制来管理应用软件