红联Linux门户
Linux帮助

freebsd安装与配置

发布时间:2006-10-17 10:11:55来源:红联作者:asiaec
  Unix给人的印象一向是比较专业,难以安装,但是FreeBSD的表现却并非如此。这是因为FreeBSD 主要支持最流行的个人计算机平台,由于多平台问题不是主要考虑对象,FreeBSD的开发者就集中精力建立了一整套适用于个人计算机的高级安装与配置工具 ── Sysinstall。因此与其他Unix系统不同(包括NetBSD和 FreeBSD),FreeBSD的安装过程相对简单和容易理解,只需要安装软盘或安装光盘启动安装程序,就能顺利完成安装FreeBSD的任务。
  FreeBSD的安装程序支持最流行的网络安装和光盘安装方式,也支持传统的磁带和软盘等其他几种安装方式,支持大多数的流行硬件以及这些硬件的标准配置,并能对系统进行基本配置,如主机名、键盘和屏幕字体、网络设置等。
  但是通常个人计算机上最常使用的还是微软的Windows 9x系列的操作系统,使用者常常习惯用来自于DO S的一些概念来分析系统,这些概念与Unix对同样事物的理解方式有所不同。而FreeBSD是一个完整的Unix操作系统,因此要求使用者要使用Unix的方式去了解个人计算机系统的各个方面。正如一个没有任何DOS/Window s基本概念的使用者,无法正确安装DOS/Windows一样,一个没有任何Unix的基本概念的使用者,也无法正确安装FreeBSD。
?安装之前的准备
  安装之前应该了解要安装FreeBSD的计算机硬件配置和Unix的一些基本概念,以及FreeBSD软件的载体 ── 安装介质。这些信息能帮助用户了解这台计算机是否适合安装FreeBSD,是否具备安装FreeBSD的条件。绝大多数情况下使用安装光盘(或软盘)直接进行安装,就能完成安装任务,但了解更多的信息可以帮助安装者处理在特定条件下发生的安装问题。所以建议读者不要忽略安装的准备阶段,充分了解自己要安装的系统的硬件和FreeBSD中的常用概念,可以避免安装过程中出现问题。
?硬件设备
  个人计算机上的硬件种类千差万别,对于用于不同目的的系统,应该会选用不同的硬件。有些硬件对FreeBSD 系统比较重要,如硬盘和网络设备,而有些硬件不太重要,属于可选配置,如用于多媒体系统的声卡等。要安装FreeBS D系统,必须保证这台计算机中包括最基本的硬件设备,如用于安装系统的硬盘,读取要FreeBSD安装介质的设备:软盘驱动器、光盘驱动器或网络等。
  然而也有特定配置的FreeBSD系统,可以仅使用软盘启动和运行,或者是无盘的网络工作站。这些系统用于特定目的,如用作专用防火墙设备或X终端。这些特殊配置的FreeBSD系统不使用标准的安装方式。
1.FreeBSD支持的硬件
  标准的FreeBSD最小能够安装在一台只有5MB内存,40MB硬盘,使用Intel 80386芯片的机器上。事实上运行FreeBSD只需4MB就足够了,只是FreeBSD的安装程序要将软盘上的数据首先展开到内存中的MFS文件系统中(相当于虚拟磁盘),因此要求至少5MB的存储空间。如果要求系统能运行X Window图形界面,那么就应该至少有8MB内存,250MB硬盘。
  FreeBSD在这种低配置的计算机中仍然能完成相当多的任务,然而处理器的速度和内存的大小也限制了它的任务处理能力,显然更高配置的计算机能表现出更出色的性能,完成更复杂的处理任务。例如,安装软件需要额外的硬盘空间,而复杂的软件会要求更大的内存和处理器速度提供支持。通常太低配置的计算机对于用作个人工作站并不适合,但其处理能力也能满足完成某些处理专有任务的特定用途方面。例如用作拨号访问Internet的网关,一台软盘启动的386也就能满足其56Kbps流量的处理要求。
  不同的工作用途,对硬件的要求也不相同,也应该选用不同种类的硬件。如果用作个人工作站或专用X终端,至少应该拥有大屏幕、高清晰的图形显示器。如果是用作支持数百人同时访问的Internet服务器,就必须考虑使用最高级P entium II处理器,SCSI硬盘以及大量的内存。将FreeBSD系统用作软件路由器、防火墙或网桥设备时,就应该根据网络结构和数据流量采用高性能的网卡,例如采用ATM网卡或千兆以太网卡。
  FreeBSD支持ISA、EISA和PCI总线的硬件设备,包括标准的IDE/EIDE硬盘驱动器,各种S CSI控制器,IDE和SCSI界面的磁带驱动器和光驱,其他的一些ATAPI界面的光驱,标准串口、并口,各种类型的鼠标,与SoundBlaster兼容的声卡,VGA兼容的显示卡等个人计算机上使用的大部分硬件。只有一些太古老的,或者使用很少的硬件,或者生产厂家不愿公开其技术资料的硬件,FreeBSD不能提供支持。对于这样的情况,就必须更换硬件设备才能安装FreeBSD。同时也必须注意到,由于FreeBSD下的硬件支持并不是由硬件厂商提供支持的,而是由FreeBSD开发者根据硬件厂商提供的资料开发的。因此当一种新设备出现之后,并不会立即出现FreeB SD下的驱动程序,而需要一定的滞后时间。
  字符模式下,只需要标准VGA显示设备就可以了,但在X Window下,显示卡的VGA兼容方式只能提供1 6色及640x480的分辨率,而大多数显示卡能显示更高的分辨率及更丰富的色彩,这需要显示卡的驱动程序提供支持,这种支持是由X Server来完成的,因此对不同种类显示卡的支持应该检查X Free86的硬件支持列表。
  在每个FreeBSD安装介质中,都包括一个该版本的FreeBSD支持硬件的列表文件──HARDWARE .TXT,也可以到FreeBSD的往页中获得各个版本的硬件支持列表文件。然后可以对比这个文件中的硬件列表,来判断自己计算机上的硬件是否满足安装FreeBSD的要求。在订购计算机硬件时,也可以参考这个文件的内容来选择购买F reeBSD支持的硬件。
  但是,FreeBSD支持的硬件并不一定是FreeBSD的标准安装程序支持的硬件,由于要在安装软盘中不可能包括所有硬件的驱动程序,而只放置了对安装系统所必要的一些驱动程序。有的硬件设备对于系统安装来讲用处不大,如声卡等多媒体设备,那么其驱动程序就不包括在安装软盘和标准内核中。支持这些硬件便需要重新定制FreeBSD内核,安装盘支持的硬件也在HAREWARE.TXT中进行了描述。
  当前计算机硬件发展速度非常迅猛,当前Intel平台的计算机完全能满足不同用途FreeBSD的要求。然而由于硬件发展很迅速,新型硬件不断出现,就使得这些硬件从出现到被FreeBSD支持,需要经过一段时间。如果某些硬件在最新的release版本中不支持,可以查看FreeBSD-current分支是否支持该硬件,因为-curr ent分支通常包括更多新硬件的驱动。
2.硬件资源及配置
  个人计算机的硬件由主板和多个的板卡组成,每种硬件必须占用不同的硬件资源。这些资源包括端口号(ports ),中断请求号(IRQ),直接内存访问通道号(DRQ),输入/输出存储器地址(I/O memory),硬件使用的资源不能够相互冲突,否则冲突的硬件就无法正常工作,甚至会影响整个系统的正常运转。
  在个人计算机中,硬件资源的分配遵循一定的习惯,这样在使用的板卡数量较少时就不会形成冲突。但是在硬件较多时,缺省配置就不一定十分合适。为了避免硬件冲突,就需要对板卡使用的资源进行设置。而不同的板卡,采用三种不同的资源设置方式:
o跳线或DIP开关,板卡上有几个不同的跳线,选择不同的跳线方式使板卡使用不同的硬件资源;
o软件设置,板卡厂商附送设置软件(一般是DOS程序),能够对板卡使用的资源进行设置。有的板卡还提供驱动程序,可以自动探测空余的资源,并重新更改板卡使用的资源设置,这种能通过软件驱动改变资源设置的板卡被称为无跳线板卡( Jumpless)。只是其提供的驱动基本都是DOS/Windows驱动;
o即插即用(PNP, Plug & Play),板卡遵循PNP标准由系统分配空余资源;
  对于这三种不同的硬件类型,更改板卡资源配置的方式也不同,对于前两种方式的板卡,可以直接更改跳线或DIP 开关,或者在DOS下使用设置软件来设置它占用的资源。即使是Jumpless的板卡,由于硬件厂商提供的驱动只是D OS/Windows驱动,因此只能使用其缺省资源设置而不能利用其自动探测的优势,当然设置程序可以帮助更改其缺省的资源设置。
  而对于Plug and Play的ISA板卡,问题较为复杂,因为PNP板卡要求系统为其分配资源设置。有些板卡的设置软件,可以设置这个板卡不使用Plug and Play方式,而直接指定占用的硬件资源。这样就将PN P类型的板卡用作软件设置的板卡,由安装者来保证没有硬件设置冲突存在,这是一种思路简单的解决办法。
  如果使用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支持的安装介质有以下几种:
oCD-Rom
  由于光驱已经成为个人计算机的标准配置,因此使用FreeBSD的安装光盘来安装FreeBSD是最容易也最常见的安装方式。并且当个人计算机系统支持CD-Rom启动时,就可以直接使用光驱来安装FreeBSD,而不需要启动软盘的帮助。使用CD-Rom做安装介质要求计算机配有FreeBSD可以识别的光盘驱动器。
o网络服务器
  安装文件位于网络服务器上,安装程序通过ftp或者nfs,远程访问网络安装服务的相应服务器上,获得安装所需的各个文件。网络安装要求系统必须连接到网络上,而且网络的传输速度也要比较稳定才合适。被安装的计算机必须具有网卡或广域网接口,以支持网络。
o磁带
  这是一种较老式的安装方法,但十分有效。如果有tar格式的安装磁带,安装过程十分简单。使用这种安装方式,计算机必须拥有一台磁带机。
o软盘
  也是一种较古老的安装介质,除非条件限制,很少有人有耐心使用软盘作安装介质,因为这需要太多的软盘,并且软盘是不可信赖的存储介质,很难保证复制的软盘没有错误。FreeBSD之所以支持这种方式,是因为软盘驱动器是个人计算机的标准配置,这使得FreeBSD能够在最恶劣的特殊条件下也能进行安装。
o硬盘
  将FreeBSD的安装文件预先拷贝到计算机系统中已有的硬盘分区中,该分区的类型可以是DOS分区或者 FreeBSD分区。这要求计算机中有足够的硬盘空间并已有格式化后的分区。这种方式是前面几种方式的折中方式,如果网络不稳定,或者光盘质量有问题,或者要保留安装介质以便再次安装,都可以先复制必需的内容到硬盘上。
o安装介质中的内容
  无论哪种安装介质,其中都是存储了要构建一个FreeBSD系统所需要的系统软件,由于CD-Rom和Internet 越来越普及,CD-Rom和网络安装方式是最常用的方法。这里就以FreeBSD的安装光盘为例,简单介绍 FreeBSD安装介质上的主要内容。
  FreeBSD使用的安装光盘是标准的ISO 9660格式的光盘,这种格式缺省只支持8.3格式的文件名( 8个字符的基本文件名,3个字符的扩展名,不区分大小写),由于Unix下的文件名比较长,且区分大小写,因此Fre eBSD及其他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系统。这些软件存储在安装介质下的b in, des, dict, doc, games, info, manpages,catpages, com pat1x, compat20, compat21, XF86333和proflibs目录中。为了便于管理,这些文件使用tar和gzip进行打包压缩,其中前六个目录下的文件被分割为大小为240,640字节的文件,这样在需要的时候,可以拷贝到软盘上进行安装。然而并不是所有的内容都必须安装,可根据不同的安装选项,有选择的安装不同目录下的不同内容,只有bin目录下的系统软件才是必须的。
  另一类是可选软件,如果说基本系统是骨架,那么应用软件就是血肉。没有应用软件,一台FreeBSD系统就不能充分发挥它的全部功能。FreeBSD使用Ports Collection的机制来管理应用软件,将应用软件移植到FreeBSD下,每个移植的软件被预编译为一个个的二进制软件包,称为Package,存储在安装介质的pack ages目录下,因此二进制软件包的管理机制又称为Packages Collection。由于空间的限制,安装光盘上并不能包含所有软件的二进制形式的Packages,但在FreeBSD的ftp站点上提供了所有最新的软件包。
  此外就是系统的源代码,包括内核的源代码、各个程序的源代码以及Ports Collection的源代码。一个正常的FreeBSD系统至少应该安装内核的源代码,以便根据自己计算机的实际情况来定制内核。这些安装文件位于 src和ports目录下。
  要根据不同情况和条件,来选择不同安装介质。如果计算机系统具备网络界面并与Internet的连接快速且稳定,那么就可以使用网络安装方式,这仅仅需要制作启动软盘(如果计算机上已经安装有DOS,甚至可以连启动软盘都不需要了),以启动FreeBSD和安装过程。如果购买了FreeBSD的安装光盘,就可以选用光盘安装方式等等。
  当前由于硬件发展非常迅速,因此光驱对于个人计算机已经是标准配置,因此使用光盘作安装介质应该是最为方便的首选安装方式。
?准备硬盘和软盘
  在IBM兼容的个人计算机上使用的硬盘控制器有以下种类:
o最古老类型的ST-506以及ESDI,当前已经很少人使用这些驱动器,但是FreeBSD的wd驱动程序仍然支持它们;
oIDE和增强型IDE(EIDE),是当前最流行的个人计算机硬盘控制器,每台计算机能接两个控制器,每个控制器可以接两个设备(硬盘或光驱),分别为这个控制器上的主设备和从设备。FreeBSD的wd驱动程序支持EIDE,wd驱动程序探测到的第一个IDE控制器的主硬盘为wd0,第一个IDE控制器的从硬盘为wd1,第二个IDE驱动器的主硬盘为wd2,从硬盘为wd3;
oSCSI控制器,由于SCSI控制卡承担了大量的处理任务,降低了中央处理器的负载,更适合用做服务器和高性能工作站的磁盘驱动器。早期的SCSI控制器能接7个设备,而Wide SCSI控制器可以接15个设备。SCSI板卡种类繁多,对不同的SCSI控制器,FreeBSD需要使用不同的驱动程序来进行支持。与IDE驱动器相同,SCSI硬盘驱动器也按检测到的顺序排列或在内核中规定的顺序,从da0向后,依次类推。
  在FreeBSD 2.2.x版本中使用的SCSI驱动程序为与3.x版本不同,旧版本驱动程序使用的SCSI 硬盘设备名为sd0等。
4.硬盘分区方式及命名
  在个人计算机中,每个硬盘可以分为四个磁盘分区,其分区信息存储在该硬盘前部的分区表中,而每个分区可以由不同的操作系统进行管理。常见的分区分为基本分区和扩展分区,又根据使用的不同文件组织格式,可以分为DOS的FAT分区,FreeBSD的UFS分区、NT的NTFS分区,Linux的EXT2FS分区等。
  一个硬盘上可以划分一个扩展分区,扩展分区与基本分区不同,它实际上不直接在上面存储实际数据,而是在上面再划分逻辑分区,这样又可以划分四个逻辑分区。使用DOS/Windows操作系统的计算机必须拥有一个使用DOS的F AT文件系统的基本分区,这个将对应于DOS下的C盘,然后将其他空间划分到扩展分区中,在扩展分区中再划分DOS逻辑分区,相应的FAT分区依次对应于D盘、E盘等。当其他的操作系统使用硬盘时,这个操作系统应该单独占用一个分区,在这个分区上使用自己的文件组织格式。
  DOS只能使用C、D等盘符来标志FAT格式的磁盘分区,它不能标识其他文件组织格式的磁盘分区,如果一个硬盘上没有FAT格式的磁盘分区,那么就不会存在C盘、D盘等。然而其他更强大的操作系统通常能识别多种文件组织格式,通常按照分区在分区表中的顺序来标识他们。例如FreeBSD将记录在分区表上的分区,分别称作wd0s1,wd0s 2,wd0s3,wd0s4,wd0为第一个IDE硬盘,使用s1标识第一个分区等。如果某个分区(例如第二个分区w d0s2)为扩展分区,那么其上面的逻辑分区,其顺序就从5算起,为wd0s5,wd0s6,wd0s7,wd0s8 。因此一个磁盘上最多只能有8个不同的分区同时存在。
  然而毕竟扩展分区上的逻辑分区和基本分区还有所差别,因此不是所有类型的文件组织方式都可以适合在逻辑分区中使用。FAT、NTFS和EXT2FS类型可以被在逻辑分区上使用,但是FreeBSD使用的UFS不能被逻辑分区使用,只能是在基本分区中使用UFS文件组织格式。这是由于FreeBSD是一个完全独立的操作系统,使用的分区方式继承自BSD Unix,早在个人计算机出现之前,BSD就已经形成了自己的管理硬盘和分区的方式了。
  BSD Unix传统的使用硬盘方式是独占整个硬盘,只有文件系统或交换空间而没有分区的概念,也不使用硬盘的分区表来保存分区信息,因此也不存在基本或扩展分区。BSD使用Slice来表示硬盘上的一个部分,一个Slice 是硬盘的一个部分,它可以是一个文件系统也可以是一个交换空间。Slice的概念与个人计算机传统使用的Partit ion(分区)概念类似,因此也可以使用分区来称呼它。BSD方式的管理方法能管理多达8个Slice,BSD按字母顺序依次命名他们为wd0a,wd0b等。按习惯用法,wd0a用于根文件系统 “/” ,wd0b用于交换空间,w d0c用于表示整个硬盘空间,wd0e用于/usr文件系统等。
  然而FreeBSD毕竟是运行在个人计算机平台上的操作系统,其他操作系统使用Partition,而Fre eBSD使用Slice,就必须采用一种折中的方式,使得FreeBSD能和其他操作系统相互协作,处理磁盘分区。F reeBSD的磁盘管理方式就是一种兼容的硬盘使用方式。每个FreeBSD系统将占用一个独立的UFS基本分区,这个分区与其他操作系统使用分区的方式相同。在基本分区内再使用BSD的Slice方式进行管理,这种方式就类似于DO S在扩展分区内分割逻辑分区的方式。
  假设FreeBSD使用了第三个分区wd0s3,则在这个分区内划分的相应Slice就被称为wd0s3a, wd0s3b等,其中wd0s3a缺省被用做根文件系统等。这时仍然可以使用传统的名字wd0a来称呼wd0s3a,使用wd0b称呼wd0s3b,以与BSD传统方式兼容的方式称呼这些Slice,但条件是wd0s3应该是wd0硬盘上第一个UFS类型的基本分区(或唯一的UFS基本分区),wd0盘上的其他UFS分区中的Slice就只能使用全称了。由于Slice和Partition都是用于分隔磁盘(或分区),以更方便的利用磁盘空间,为了简捷,可以将在 UFS基本分区中划分的Slice,如wd0s3a,称作wd0s3分区的子分区。
  下面为DOS和FreeBSD(多操作系统并存)下常用硬盘分割的方式。
5.准备硬盘
  如果不是在新系统中安装FreeBSD,安装系统之前需要备份相应硬盘上的重要数据。因为安装过程将直接操作硬盘,对硬盘进行分区和格式化(在Unix下称为建立文件系统),虽然在一定条件下安装者能够不破坏原有的数据,但是有可能由于某次误操作,导致重要数据的无法恢复。因此建议对该计算机上的所有硬盘数据做一次完整备份。这些数据的备份任务要使用计算机已经安装好的操作系统来完成。
  然后需要确定将系统安装在何处,FreeBSD必须独占一个基本分区,要保留出自由空间就行了。硬盘上的自由空间包括两个含义,一是分区表中的位置上的空间,四个分区表没有占满,另一个是硬盘空间,现有的分区没有占满所有的硬盘。然而,安装程序也能删除现有分区,并重新分割硬盘。
  如果是在一个新硬盘上安装FreeBSD系统,但又打算以后还安装DOS等其他操作系统,最好使用DOS程序 fdisk.exe先划分出一个基本分区。这个分区的大小都没有什么意义,它只是用来给FreeBSD安装程序提示B IOS的硬盘数据映射方式的,否则FreeBSD安装程序就不考虑BIOS的映射方式。由于这个分区只起到提示作用,可以在安装过程中删除,重新按照原有的考虑分割硬盘。如果没有这样的分区,FreeBSD安装程序中的硬盘映射数据可能和BIOS中的设置不一致,当然安装者可以进入BIOS,记录下硬盘的柱面、磁道和扇区映射数据,在安装过程中手工更改映射数据设置。
  硬盘映射数据不一致的问题,来源于个人计算机BIOS与Unix对硬盘的理解不同。个人计算机使用柱面、磁道和扇区的概念来理解硬盘上数据的位置,而Unix只将硬盘等存储设备理解为分为一个个块的简单线形设备。这就导致Fr eeBSD中的Slice和BIOS中的Partition划分时的不同。如果计算机上只有FreeBSD一种系统独占硬盘,FreeBSD只需要知道每个Slice的大小就行了,按块读取数据,不会出现任何问题。但如果与另一种操作系统共享硬盘,那么就必须首先确定相应的Partition位置,这就受到BIOS的限制。一旦FreeBSD对柱面、磁道和扇区理解与BIOS设置的不同,必然就发生不能找到分区的正确位置问题。
  一般情况下,找不到分区位置的情况不会发生,因为FreeBSD系统能够侦测到硬盘的数据。但是个人计算机上的BIOS会对柱面、磁道和扇区数据重新进行映射,导致BIOS以与硬盘本身并不一致的方式来分割硬盘上的Parti tion。因此对于在一个新硬盘上安装FreeBSD,BIOS又对磁盘数据进行了重新映射的情况下,就需要记录下B IOS映射的数据用于纠正可能出现的映射数据问题。BIOS对硬盘数据进行映射发生于两种情况下,一种情况为使用SC SI硬盘时,SCSI硬盘本身使用线性地址,而BIOS必须要求柱面、磁道和扇区的概念,因而BIOS就对SCSI硬盘进行映射。另一种情况是对EIDE硬盘,由于个人计算机BIOS的设计问题(系统调用仅支持1024柱面的限制),支持大硬盘的BIOS也要将EIDE硬盘重新映射为合法的硬盘数据(使用LBA或其他映射方式)。因此即使在安装系统之后,如果随意更改BIOS中的硬盘映射方式,就会使得分区的位置被映射到一个错误的位置上,发生启动错误。
  FreeBSD本身并不使用任何BIOS调用来处理硬盘存取,而是使用自己内部的硬盘驱动程序。因此,只要启动程序将控制权交给FreeBSD系统之后,BIOS中的硬盘映射方式就没有意义了。但是,启动系统的任务是由BIO S或使用BIOS调用的启动管理程序来完成的,BIOS必须能找到操作系统的启动部分才能载入相应的操作系统。这样就有两种有趣的情况发生,第一种情况下,虽然BIOS的映射数据可能被改动了,但是改动之后的数据中操作系统分区的初始位置没有变化,这样BIOS仍然能载入操作系统的启动部分,来启动FreeBSD。这种情况最常发生在让FreeBS D系统独占整个硬盘的情况时,这样操作系统的启动就基本不受BIOS的映射数据的影响了,这种情况就是传统的BSD的硬盘管理模式,硬盘中不存在Partition。
  另一个情况发生在FreeBSD分区的位置在1024柱面之后,由于BIOS的1024柱面限制,它不能引导 1024柱面之后的分区。因此给FreeBSD留的空间要位于1024柱面之内,才能使安装后的FreeBSD系统能够正常启动。在系统启动之后,FreeBSD就不再使用BIOS进行任何操作,则此时就可以处理1024柱面之后的硬盘了。在这种情况下,BIOS的硬盘映射能起到帮助作用,因为如果BIOS使用了LBA或其他方式重新映射了硬盘数据,每个硬盘分区就将保留在1024柱面之内,就不存在这个问题了。因此,如果大硬盘使用的是LBA等模式,就不存在启动问题,如果BIOS没有映射硬盘数据,就要注意分区的位置,以便系统能正确启动。但是,在硬盘上已有分区的情况下,不应该调整硬盘的映射数据,因为这将丢失已有的分区数据。
  因此如何处理分割分区就需要安装者仔细考虑。对于一个新系统,可以选择让FreeBSD独占整个硬盘或者保留一个小的DOS分区。让FreeBSD独占整个硬盘的好处是硬盘不受BIOS的影响,因此这个硬盘可以立即安装到其他 FreeBSD系统下,而不需要考虑不同BIOS的不同映射方式。但是保留一个小DOS基本分区也存在相当多的好处,因为Intel平台下的多数硬件配置和诊断程序为DOS程序,将这些配置程序保留在DOS分区内,便于更改硬件配置和诊断故障。具体如何选择依赖于安装者的考虑,一般建议保留一个DOS分区。
  对于在已安装有操作系统的硬盘上安装FreeBSD系统,处理分区就更需要小心。大多数预装DOS/Wind ows的个人计算机通常使用DOS基本分区和扩展分区占满了整个硬盘空间,没有空余的自由硬盘空间留给FreeBSD 。因此就需要将一个分区留给FreeBSD,就需要在安装之前把这个分区中的数据都进行备份。此外还需注意如果是要将扩展分区留给FreeBSD,就必须将整个扩展分区留给FreeBSD,FreeBSD不能在扩展分区中的某个逻辑分区上安装。如果使用者想保留已有分区和数据,情况就比较复杂了,有一些软件能够在不损失数据的条件下,更改已有分区大小,这样就能从现存分区中挤出空余空间来安装FreeBSD,这些软件有自由软件FIPS(在安装光盘中提供),商业软件PartitionMagic等。
  FIPS能够将FAT类型的DOS基本分区分割为两个分区,第一个分区保留原有数据,而可以使用FIPS分出的第二个分区安装FreeBSD。然而这种操作直接操作硬盘,具有非常大的危险性,如果操作失误,很可能导致分区错误及数据丢失。建议在FIPS操作之前,备份硬盘上的重要数据。此外,还应该首先使用磁盘整理工具来整理磁盘上的文件。长期使用计算机,使硬盘上的文件被零零碎碎的放在硬盘的不同位置上,因此必须将所有的文件都移动到硬盘的前面,以减少错误发生的可能性。微软的Defrag工具以及其他第三方厂商的工具,如Norton SpeedDisk,都提供了这个能力。
  Defrag程序不移动系统和隐藏文件,因此对于可能位于磁盘后部的系统和隐藏文件,必须在运行Defrag 之前使用微软的attrib命令去除这些属性(包括Windows的交换文件),由于有这些属性的DOS系统文件IO .sys和MSDOS.sys总是位于磁盘的前部,因此不需要对它们进行处理。运行Defrag不能使用 “Defr ag File Only” (只整理文件碎片)选项,因为该选项并不把所有的文件都移动到硬盘前部。
  运行了Defrag之后,最好使用Scandisk来检查一下是否存在磁盘错误,如果一切正常,并且分区表还没有占满(总计不到四个分区),就可以运行FIPS来分割DOS基本分区了。FIPS执行程序位于安装介质下tool s目录中,由于FIPS是一个DOS程序,直接访问硬盘,因此应该在DOS模式运行它。它在运行时能将原有分区表保存到软盘上,命名为RESTORRB.000(如果多次运行FIPS,文件名将依次增加为RESTORRB.00x),可以使用随FIPS一起提供的RESTORRB来恢复原有分区数据。
6.准备软盘
  常用的启动FreeBSD安装程序方式主要有三种,光盘启动、DOS启动和软盘启动。如果计算机的不支持光盘启动,并且没有安装有DOS系统或没有DOS启动程序fbsdbot.exe和kernel文件,那么就需要使用启动软盘启动。
  在安装介质的floppies目录中保存有启动软盘的镜象文件boot.flp,使用者可以在其他计算机中的 DOS或者Unix下制作出这张软盘。然而,在新版本下这个镜象文件是2.88MB的高密度软盘镜象,必须要求计算机支持2.88MB的软盘驱动器才可以,因此一般不使用这个镜像文件,它更常用来作为启动光盘的启动盘镜像。系统也提供了两个1.44MB的普通磁盘镜象文件kern.flp和mfs.flp,其中kerm.flp为系统内核,mfs. flp为将被读到内存中MFS文件系统中的root文件系统,一般需要制作这两个软盘,用来启动安装系统。由于磁盘镜像要占满整个磁盘,因此对软盘要求很高,软盘中不能有坏块。如果制作的软盘不能正常启动,最大的原因就是使用了非10 0%完好的软盘,
  制作启动软盘必须使用一个现存Unix或DOS系统。
  在DOS下,使用程序rawrite.exe或fdimage.exe(tools目录下)来将一个软盘镜象文件复制到软盘中。可以使用它来制作启动软盘、fixit软盘等。
  E:\TOOLS:> FDIMAGE E:\FLOPPIES\KERN.FLP
  在FreeBSD或其他Unix中要使用dd命令制作启动软盘,然而要注意在不同的Unix下,软驱对应的设备文件名字是不同的,FreeBSD下为rfd0。
  当准备工作完成之后,安装FreeBSD实际是一个非常简单的过程,简单到将光盘插入计算机启动,回答几个问题,一切将很快完成。或者将启动软盘放入并启动,输入FreeBSD安装服务器的网址和路径。然而对于初次接触Fre eBSD的使用者,安装过程还可能有些陌生,下面将介绍安装系统和进行基本配置的过程。
?启动安装程序
  FreeBSD的安装程序不是DOS或者Windows程序,而是必须在FreeBSD下运行的FreeBSD 程序。如何从一台裸机或者DOS下进入FreeBSD的安装程序,是安装过程的第一步。
  有四种启动FreeBSD安装程序的方法:
  
?从现有FreeBSD中启动安装程序sysinstall,用于系统升级和配置;
  
?从CD-Rom中启动安装程序,要求计算机支持光盘启动;
  
?从DOS分区中启动,要求计算机已经安装有DOS系统;
  
?从启动软盘启动,需要制作一张启动软盘;
  使用启动软盘(boot disk)的方法,使计算机从软盘重新启动,进入FreeBSD系统和安装程序,对于系统要求最少,并可以从一个裸机上安装FreeBSD系统,因此是比较常用的方式。如果使用了光盘作安装介质,并且计算机的BIOS支持光盘直接启动,最简单的启动方式是光盘直接启动,这样就不需要制作启动软盘。
  当前大部分计算机的BIOS支持光盘直接启动,这样就只需要在启动时进入系统BIOS的Setup程序,更改启动顺序为光盘优先,然后存储退出即可。不同的BIOS版本,进入Setup和更改启动顺序的方法不同。对于常用的 AWARD BIOS,在启动系统自检时按Del键进入Setup程序,更改启动顺序为CDROM,A,C,这样就使用 IDE光驱启动,或者设为SCSI,A,C并且设置SCSI控制卡的启动设备ID为光驱ID,来使用SCSI光驱启动(需要SCSI控制卡支持光驱启动)。
  然而,最标准的启动安装程序的方式还是软盘启动,这就需要按照前面叙述的步骤制作启动软盘,将软盘插入A驱,并更改启动顺序为软盘优先。这样万一计算机的BIOS不支持光驱启动或者使用了其他种类的安装介质,均能够正常启动安装进程。
  使用DOS程序fbsdboot.exe,可以可以直接从DOS下启动FreeBSD系统。由于fbsdboot 只能在标准的DOS模式下运行,因此就不能在Windows下执行,因此Windows需要先退出到DOS。并且某些TSR程序也会影响引导过程。fbsdboot仅仅是一种启动方式,仍然需要其他安装介质,如光盘等,以放置 FreeBSD的安装文件。从DOS下启动FreeBSD除了fbsdboot.exe之外,还需要FreeBSD的某个内核文件kernel,依赖于这个内核文件,fbsdboot启动FreeBSD系统的安装界面,或者进入系统中已经安装好的FreeBSD系统。
  E:TOOLS> fbsdboot -D e: oolskernel.inst
  fbsdboot.exe缺省使用c:kernel作为内核文件,如果需要使用其他内核文件,就需要使用- D参数,并指定内核文件的路径。fbsdboot不但能用于进入安装系统,还能够在DOS下启动正常的FreeBSD 系统,这就使得在FreeBSD启动过程出现问题时,仍然能够进入FreeBSD系统。fbsdboot由于是在DOS 下启动的,因此一些硬件的行为就与加电启动时略有不同,因此最好还是通过软盘启动的方式进入FreeBSD系统, fbsdboot只用作一种备份启动方式。
  当使用启动软盘或其他介质启动之后(使用软盘启动时需要根据提示插入第二张root软盘),首先将启动 FreeBSD的bootstrap程序,屏幕将显示一些FreeBSD bootstrap信息,然后安装程序将提示使用者配置内核参数。这个过程主要用于设置FreeBSD内核中的各个驱动程序使用的资源值,必须将这些资源设置修改为与具体硬件实际使用的资源值相一致,FreeBSD才能正常检测并使用这些硬件设备。这种可以在系统启动时更改硬件参数设置的机制称为UserConfig,FreeBSD使用UserConfig提供了更大程度的灵活性。
  Skip kernel configuration and continue with installation
  Start kernel configuration in full-screen visual mode
  Start kernel configuration in CLI mode
  使用者可以使用上下箭头键来在三种不同的方式下进行选择,第一项表示忽略配置过程,这表示使用者计算机硬件的配置参数与FreeBSD通用内核的缺省配置基本一致,不需要更改内核设置,这是因为一般情况下计算机重要硬件使用的资源设置都是非常标准的设置。当然使用者也可以选择下面的选项,对资源的设置参数进行更改或确认的操作。其中第二项是使用比较方便的全屏幕操作方式更改设置参数,这适合一般情况。第三个选项是使用命令行的操作方式更改系统参数,能够用来设置比较复杂的参数,包括一些在全屏幕方式下无法设置的参数,如ISA PNP卡的资源分配和设置。命令行方式的硬件资源设置方式只适合对FreeBSD了解较深的使用者。
  FreeBSD的内核(kernel)中包含各种硬件的驱动程序,负责构建操作系统和硬件之间的通道。在启动之后,系统首先将内核程序装载到内存中,然后由内核负责探测各种硬件。每种硬件驱动程序都将最常使用的资源值作为了它的缺省配置,在编译的时候写入了内核程序内部,只有通过UserConfig才能进行更改。当使用UserConfi g来更改硬件的资源设置的时候,前面准备过程中记录的硬件配置信息就十分有用了,可以参考这些信息来设置正确的硬件占用的资源。
  FreeBSD就使用这些最常使用的资源配置做参数去判断系统中是否存在这种硬件,如果探测到了,才使用这些资源激活这个硬件驱动程序。因此如果硬件的资源设定与FreeBSD核心配置的参数不相符,硬件探测就会失败。这时就需要更改内核的配置数据与板卡设置相同,才能正确探测到该硬件。
  对于要更改内核的配置参数的情况,一般可以选用第二个选项,使用全屏幕的操作方式进行系统参数的更改工作。
  进入UserConfig的全屏幕界面之后,整个屏幕被分为三个部分。上部为Active Drivers部分,表示内核中激活的设备驱动程序,这些硬件将在启动时进行检测,中部为Inactive Drivers部分,表示内核中存在的驱动程序,但却被屏蔽了,因此在启动时就不检测这些硬件。下部是操作提示区域,用于提示操作命令和输入具体的参数设置。
  Active Drivers中的Conflicts表示在所有要检测硬件的配置中存在多少个资源冲突,由于不是所有的硬件都存在并真正占用这些资源,因此不必理会这个冲突现象。系统内核按照硬件检测的顺序(这在内核编译时就已经确定了),如果第一个硬件的确存在,占用了资源,那么其他与它的配置相冲突的硬件就应该不会存在于这个资源上了,因此就被系统略过而不探测这个硬件了,除非是已经指明可以共享这个资源的硬件。Dev对应的列为驱动程序的名字,IRQ 和Port对应的列为相应的硬件参数。
  Collapsed表示该项表示这是一组相关的硬件,可以将光标移动到这个选项上并使用Enter键打开这组硬件,显示组内的具体硬件,例如上图中的Network类中就存在两个网络设备ed0和ed1。选择相应的设备之后,可以使用Delete键将这个硬件移入Inactive Drivers部分(在Inactive Drivers中选择相应的设备,进行同样的操作可以将其放入Active Drivers中),也可以使用Enter打开硬件的配置参数,进行更改操作,此时就在下面的第三部分中提示各个硬件参数,如IRQ、port等,并允许用户输入新的设置值。
  在UserConfig中,有些设备,如PCI设备,不能被放入Iactive Drivers部分被屏蔽,然而这并不影响系统探测。
  将硬件的配置参数进行了重新配置之后,要使用Q键来退出UserConfig,然后内核将会按照新配置侦测硬件。内核侦测硬件的时候,将探测结果显示到屏幕上。这些信息能够告诉使用者是否配置的硬件被正确的探测到,该硬件占用的系统资源以及该硬件的其他信息。但是自动探测不可能完全正确,因为很多硬件虽然声称相互兼容,但事实上仍存在细微的差别。万一出现问题,就要求使用者针对硬件配置参数的差异,在UserConfig中按照计算机的配置修改内核配置。为了避免问题,可以使用排除法,将自己计算机中不存在的设备都先屏蔽了,以免出现偶然的错误。
?硬件探测问题
  使用者的计算机可能配置有很多种硬件,有可能在第一次启动时没有将所有的硬件全部配置正确,这并不是一个重要的问题,因为有的硬件不影响安装过程,可以在安装好系统以后,再使用UserConfig或重新编译内核来配置硬件参数。但是有些硬件对于系统安装非常重要,必须被正确探测到,否则就无法继续安装过程,如要安装系统的硬盘驱动器、用于读取安装光盘的光驱、使用网络安装时的网卡等。这时就需要在启动时进入UserConfig更改内核设置,而从硬件的文档或者从Windows的控制面板获得的硬件信息就十分重要了。
  编译操作系统内核对于Windows用户也许是不可想象,但对于FreeBSD的使用者来说,是非常普通和标准的做法。并且编译内核决不是什么难事,FreeBSD提供了十分方便的方法让使用者来定制自己的内核。
  硬盘:不管使用何种安装介质,内核必须将目标硬盘探测出,否则无法继续安装。因此使用者必须清楚自己计算机使用的是何种硬盘驱动器。由于IDE驱动器使用的资源比较标准,也都使用wd这一种驱动程序,一般都能被正确探测到。而 SCSI驱动器则由于存在不同的标准和制造厂家,使用的驱动程序也各不相同,如果计算机上的SCSI控制卡兼容性不强,就有可能出现检测错误。这有可能是厂商设定的资源设置与常用设置不同造成的,就需要用户使用UserConfig重新配置。为了增加系统检测的速度和减少错误发生的几率,可以在UserConfig中尽量屏蔽不必要的驱动程序,仅留下正确的驱动并配置了正确的资源。
  CD-Rom:如果安装介质是光盘,则内核必须要探测到光盘驱动器。探测光盘驱动器首先要探测到合适的IDE 或者SCSI控制器,这与探测硬盘要求一致。如果使用的光驱不是IDE或SCSI控制器接口的,而是另外的ATAPI 接口方式,就需要查看通用内核的硬件支持列表,看看内核是否支持这种光驱,并根据相关文档配置内核参数支持这种控制器。由于这些老式光驱的控制器常常是和声卡作在一起,设置起来比较困难,并且FreeBSD系统也不支持所有种类的老型号光驱,幸好当前非IDE或SCSI接口的光驱型号已经基本淘汰了。因此最好的解决方法是安装一台新的IDE或SCSI 接口的光盘驱动器。
  IDE光驱可能会发生的另一个安装问题是光驱的主/从问题(Master/Slave),通常在一个IDE控制器上能串接两个IDE设备,一个要设为主设备,另一个要设为从设备。在仅有一个设备时,将该设备设为从设备是不正确的,设备不应该正常工作。但是在DOS/Windows下直接使用光驱驱动程序访问光盘,这就使得某些光驱在第二个控制器上仅接一个IDE光驱,并且光驱也设为从设备时,仍然能够正常工作。但是FreeBSD下不是这样,必须严格按照主从方式进行设置,否则就不能正确探测到光盘驱动器。此外,光驱出错时也应检查有没有插入光盘,以及光驱是否能够读取插入的光盘。
  网卡:网卡由于种类繁多,并且厂商彼此存在兼容性问题,因此必须考虑不同类型的网卡在缺省资源设置方面的不同。某些时候网卡设备会出现设备超时(Device timeout)故障,一个可能的原因是总线接口的网卡没有终结,另一个原因是硬件IRQ参数配置错误。
  此外还需要为网卡选择正确的驱动程序,当前网络设备的发展快速,而FreeBSD对新型网卡提供支持则需要一定的时间。例如,3COM 905B型网卡在FreeBSD 2.2.6中还没有提供支持,但到FreeBSD 2. 2.8之后就能很好的支持。因此,必须经常查看FreeBSD支持的硬件列表,以获得对新型硬件的驱动程序。
  配置硬件的另一些问题是避免资源冲突,有些硬件本身设计的就存在问题,不能正确更改其资源设置,此时可以让与它冲突的其他硬件避开使用相应资源。另外,一些设计得比较糟糕的设备,如果系统对它占用的端口进行了不正当的探测操作,就可能造成系统死机。这也是为什么尽量减少要探测的设备,并且不能在所有的资源上对硬件进行地毯式全面探测的原因之一,因此也不应该随便改动硬件探测的顺序。很多情况下发生这些冲突等问题,常常是因为使用了兼容性不好的硬件或配置了不太适合的硬件参数造成的。所以使用者应利用自己对系统硬件的了解,减少系统探测的硬件数量和设置正确的资源。
?安装系统
  在内核载入内存之后,内核就启动初始化进程init启动系统,系统启动完毕之后就运行安装程序Sysinstall 。Sysinstall是一个位于安装盘上的FreeBSD的执行程序,是一个非常有用的安装和维护工具程序。即使在系统安装完毕之后,这个程序还可以被用于管理和维护系统。在一个安装好的FreeBSD系统中,这个程序被放在 /stand目录下,就可以使用/stand/sysinstall命令来再次启动这个管理工具。
1.安装程序Sysinstall
  系统安装时将自动进入sysinstall开始安装系统的过程,在个人计算机的屏幕上(控制台),安装程序表现为全屏幕的彩色安装菜单,然而也可以在标准字符终端上启动Sysinstall程序,根据字符终端的类型其外观也略有不同,下图为Sysinstall主菜单。
  这里使用的菜单图片均为3.0-release中的选项,在3.1-release之后,对菜单选项的顺序进行了调整,以便更适合安装时使用的顺序。不同只在于菜单的顺序,而设置内容则是一样的。
  Sysinstall程序是一个对话框方式的菜单程序,不同于Windows系统中安装程序常用的 “ Wizard” 引导方式的安装形式,菜单形式能提供安装者更大的选择自由,但需要安装者对需要用到的选项有一定的了解。其主菜单提供了12个选项提供选择,可供安装者进行选择。
  选项 “Usage“ 给出了Sysinstall的使用方法,一般可以使用上下方向键来选择不同的选项,使用Enter确认,使用Tab在Sysinstall中的不同按钮上切换,而使用 Space键选择或不选择某个检查框选项。
  选项 “Doc“ 给出了在正式安装系统之前浏览安装介质上的文档的机会,当然安装之前也可以直接查看安装介质中文档。这个选项主要用于对裸机直接进行安装的使用者,或者熟练用户临时查看一些安装信息时使用的。下图为Doc选项中的可以选择查看的文档内容。
  通过这个菜单中的选项,可以在安装系统时实时阅读安装介质上的README.TXT、HARDWARE.TXT 、INSTALL.TXT、COPYRIGT.TXT、RELNOTES.TXT等文档,以及在安装系统之后,创建 Sysinstall的快捷方式,阅读/usr/share/doc目录下的HTML格式的使用手册和问题解答。对于裸机安装,阅读相关文档的功能十分有用,但在安装好系统之后就没有必要通过Sysinstall来阅读手册了。
  选项 “Keymap“ 提供了更改键盘规格的机会,这个选项对于一些欧洲用户比较有用,因为它们使用的是非英文键盘。对于使用101标准键盘或104键标准键盘的使用者不需要更改。指定一个键盘规格文件之后,可以通过更改这个文件来定制自己的键盘映射方式,指定某些非标准的功能键。
  选项 “Options“ 提供了更改Sysinstall 本身使用的某些变量的机会,这些变量将由Sysinstall程序使用。这里的一些参数用于确定安装过程的行为,如NFS的相关参数用于NFS网络安装方式时访问NFS服务器,FTP相关参数用于设置FTP网络安装方式,因而只有在使用相应的安装过程的时候,才需要根据服务器的设置更改这些选项,一般情况下不必改动。还有一些参数是用于标识安装过程需要的程序和目录的位置的,例如Packeges Temp参数是用于设置安装和管理Packages的临时目录。
  上图显示了正在更改Editor的参数,FreeBSD缺省使用/usr/bin/ee做编辑器,这个编辑器是一个小巧的编辑工具。但很多人更喜欢功能更强的编辑器,那么可以在系统安装完毕之后,修改这个参数,设置为使用 vi或emacs(应该使用完整路径)。而在安装时不应改动这个配置,因为安装软盘中只是一个小系统,没有提供足够的应用程序。此外还可以设置浏览器等其他应用程序的位置,这些设置都是在系统安装之后,用于维护系统时使用的。
  可供选择的安装方式有 “Novice“ , “Express “ 和 “Custom“ 三种不同的安装方式。Novice方式适合初次安装FreeBSD的使用者使用,它引导安装者按照安装过程的每一步进行安装,并且每一个步骤都使用对话框进行操作提示,类似于一个安装引导程序。Express方式与Novice使用同样的安装流程,但省略了提示,因此较为快捷,适合熟练的安装者。而Custom方式没有引导过程,而是提供一个菜单,安装者可以不按照次序来处理安装过程的每个步骤,这样就提供了更多的选择机会。三种方式只是安装步骤方面的不同,而并无实质上的差别,每种安装方式均要进行以下几步操作:
?硬盘分区
?设置文件系统和交换分区
?选择安装组件和安装介质
?安装系统
?系统初始设置
  在Novice和Express方式中,将顺序进行以上的步骤,而Custom方式则列出对应以上每项工作的菜单,每完成一步都返回这个菜单等待安装者的下一步指示。这样安装者能按照自己的需要,安排进行相关操作,因此就有更大的自由度,但如果不熟悉安装程序的话,也许会遗漏一些必需的操作步骤。因此,一般情况下可以选择Novice选项,由sysinstall安排每一步的任务。
  主菜单的 “Fixit“ 选项将启动一个应急处理命令行界面,处理安装过程中出现的问题。
  启动应急处理界面需要一个Fixit光盘或软盘,Walnet Creek正式发行光盘中的第二张为Fixit 光盘,或者可以在现有DOS或FreeBSD系统下从安装介质上制作Fixit软盘,它的磁盘镜象文件为resume.flp 。当然Fixit软盘上提供的处理、诊断工具没有光盘上丰富。这个选项将提示安装者插入Fixit盘。然后使用第三个选项将在第四个虚拟控制台上启动一个应急交互Shell程序,进行各种系统操作(使用Alt-F4可以切换到这个虚拟控制台上)。如果没有Fixit盘,选择第三项也可以启动应急界面,但是由于没有Fixit盘上的应用程序,基本上无法进行操作,完成修复系统的任务。
  菜单选项 “Upgrade“ ,用于系统升级时使用,这个升级过程将使用安装介质上的二进制文件覆盖原有系统上的文件。由于升级过程有可能破坏原有的FreeBSD系统,因此系统将提示安装者进行确认。尤其对于从2.2.x向3.x升级,由于应用程序的格式从a.out转向了ELF,因此升级还要保证兼容问题。相比较而言,使用源代码进行升级的方式更为安全和有效。
  主菜单中的 “Configure“ 选项,用于对FreeBSD系统进行基本配置,这是Sysinstall中非常有用的一部分。通常Unix进行系统设置需要执行各种命令和修改配置文件,而 Sysinstall在这里能提供了一个设置系统参数的友好界面。在这里就能完成设置一个能够正常运行的FreeBSD 基本系统的操作,当然更复杂的设置还是要通过修改配置文件来完成的。
  如果使用Novice或Express安装方式,将引导安装者进行这个Configure菜单中的各项必需的配置任务,如果使用Custom方式进行安装,就需要手工执行这个选项中的各个功能。在FreeBSD正常运行之后,也能使用这个选项来维护系统、更改系统配置。
  假如安装过程中更改了安装选项(Options),但想恢复缺省状态,或者打算使用某个定制的安装选项,就可以使用主菜单中的 “Load Config” 选项,从软盘中载入安装选项。对于大量安装同样配置的FreeBSD系统有一定的帮助。
  主菜单的最后一个选项为 “Index” ,选择这个菜单项将弹出一个子菜单,子菜单中按照字母顺序列出了Sysinstall中的所有的功能。这个菜单项在系统安装时并没有实际的用处,但在系统安装之后使用sysinstall管理和维护系统时就非常有用。系统管理员不必一级一级寻找某个功能在Sysinstall 多级菜单中的位置,而能依据其名字迅速找到所需要的功能。
2.安装过程
  无论安装者使用何种安装方式,所需进行的安装步骤是相同的,对于新手来讲,还是应该选择Novice安装方式,以免遗漏需要执行的安装步骤。需要注意的是Novice方式中执行过程不能向后回溯,因而没有更正失误的机会。必须保证每个步骤都执行正确,否则就需要重新执行整个步骤。选择好安装方式之后,Sysinstall将引导安装者一步步进行每个步骤的安装任务。
?硬盘分区
  安装过程的第一步就是要指定将FreeBSD安装到何处,FreeBSD需要占用一个单独的基本分区。因此就需要进入Fdisk对硬盘进行分区处理,这个工具中可以完成维护硬盘分区的各项操作,包括指定活动分区,增加和删除分区等功能。
  如果计算机中有多个硬盘存在,Sysinstall中的Fdisk程序将首先询问安装者要处理的哪个硬盘,使用空格键选中所有需要进行处理的硬盘,然后使用Enter确认,就能依次对各个硬盘进行分区操作。注意,如果要将系统安装到非启动硬盘上(例如wd1),那么也需要在系统的启动硬盘(wd0)上安装启动管理软件Boot Manager (或其他种类启动管理软件,只是那些软件需要独立的安装过程),否则无法启动非启动硬盘上的系统。
  在Fdisk中显示的前两行为它报告的硬盘信息,包括硬盘的名字,以及柱面、磁头和扇区等硬盘参数。柱面、磁头和扇区参数对于在一个硬盘上划分多个分区的情况下非常重要,因为系统启动程序要依赖计算机的BIOS来找到FreeBSD 分区。因此必须保证Fdisk中的这些数据和BIOS中的数据一致,以使Fdisk划分出的分区被BIOS识别。缺省情况下,FreeBSD是直接从硬盘驱动器上探测这些硬盘参数的,因此当BIOS重新映射硬盘参数时,就有可能使FreeBSD探测的真实参数与BIOS的映射参数不一致。
  在硬盘上已经有分区存在的情况下,Fdisk可以从已有分区中找到硬盘参数,将硬盘参数更改为与划分已有分区时使用的硬盘参数相一致,以避免它划分的分区与已有分区冲突。这就是要迫使FreeBSD使用BIOS的映射参数,就可以预先划分一个硬盘分区的原因。例如本例中非空硬盘wd1的硬盘数据为782柱面,128磁头,63扇区,实际是经过BIOS使用LBA方式映射过的数据,Fdisk从已有的DOS分区中检测到。
  虽然重新映射硬盘参数,无论对于FreeBSD或BIOS,都不会影响数据的存储,但是使用硬盘的真实参数能避开不同计算机BIOS的不一致性。当硬盘仅用于FreeBSD系统而不需要划分分区时,就可以保持硬盘参数不作任何更改。因此只有对于空硬盘并希望在安装FreeBSD以后还要安装DOS分区的情况,才需要检查硬盘数据,当发现映射信息与BIOS不一致时,就需要使用G(Set BIOS Geometry)命令重新设置。
  即使安装了FreeBSD系统之后,当更改了BIOS中的硬盘映射方式的时候,同样也可能发生系统启动程序不能找到FreeBSD分区,载入FreeBSD系统的情况。
  硬盘信息下面的第二部分是各个分区的列表,每个分区包括它的起始位置(Offset),大小(Size),结束位置(End),分区的名字,类型,描述,子类型和标志等信息。其中分区中的第一项虽然标记为unused,也不能为其他分区所占用,因为这是系统主引导区(MBR)占据的空间,虽然主引导区只有一个扇区,然而按照分区习惯,每个分区必须从一个柱面的起始扇区开始,因此就会在引导区之后留下一些未使用的扇区。但这些空余空间可以被FreeBSD的启动管理程序Boot Manager或其他类似的启动管理程序所使用。
  分区工具的下部为可使用的命令提示。如果只打算安装启动管理程序Boot Manager而不打算对硬盘进行分区处理,可以直接使用Q键退出。如果要将整个硬盘都用作FreeBSD使用,可以使用A(Use Entire Disk )就可以将整个硬盘留给FreeBSD。当要将FreeBSD和其他操作系统共享硬盘时,就要具体使用不同的命令来划分分区了。
  命令C(Create Partition)在未使用的空间上创建分区(首先将光标移动到非使用的磁盘空间上),此后需要输入这个分区的大小,和UFS分区类型165,以划分出FreeBSD使用的UFS类型的分区。如果要创建其他系统使用的分区,需要输入其他类型号,如DOS使用的类型为6。在上面的例子中已经存在两个分区,一个基本 DOS分区和一个扩展分区(第一个部分为系统主引导区),最后剩余的未使用空间太小,已经不足以建立分区了,因此就需要先删除已有分区(D, Delete Slice),或改变原有分区类型(T, Change Type)的命令,直接将硬盘上已有的分区改变为UFS类型,分配给FreeBSD使用。
  当存在多个的分区时,可以使用S(Set Bootable)设置哪个分区是启动分区,用来告诉标准主引导程序启动该分区内操作系统,对于使用多操作系统引导管理程序的时候,如FreeBSD带的Boot Manager,就不需要进行这个设置。一般如果在安装FreeBSD之前已经安装了DOS/Windows系统的情况下,启动分区是 DOS的基本分区。
  在确信完成所有的分区操作,并没有任何错误之后,才能使用W(Write Changes)来将改变真正写入硬盘分区表,否则使用U(Undo All Changes),恢复到操作之前的状态。然后可以使用Q来退出分区工具。分区工具接下来将询问这个硬盘使用的启动引导方式,即如何启动这个硬盘上的FreeBSD或其他操作系统。
  当安装启动选项的时候,对于每个硬盘都有三个选择。第一种BootMgr是使用FreeBSD的Boot Manager 作为多操作系统启动管理程序,来选择启动不同磁盘及不同分区上的多个操作系统。系统将在启动时提示使用者使用功能键F1、F2等来启动对应分区的操作系统,Boot Manager将被安装到磁盘的主引导区及其后的自由空间内,对硬盘分区没有影响。可以在每个硬盘上都安装Boot Manager,这样就能从第一个磁盘上启动其他磁盘上的Boot Manager,然后再启动该非启动硬盘上的操作系统。安装Boot Manager,是在一台计算机上管理多个操作系统的很好选择,是将FreeBSD安装到非启动硬盘上的一种有效的启动方式。
  第二种选择为Standard,即使用标准的主引导区启动系统,这种方法由主引导区引导程序将控制权交给位于启动分区开始位置上的操作系统引导程序,然后再载入操作系统。因此这要求启动分区必须设置正确,需要在前面的操作中要将FreeBSD分区设置为启动分区。选择此项就将主引导区恢复为标准主引导区,相当于DOS下的fdisk /mbr命令。
  第三种None方式是不改变主引导区,也不安装任何系统引导程序。当使用其他种类的操作系统引导软件时,如 Linux LILO,避免更改主引导区而使得那些操作系统引导程序不能正常运行。因为此时主引导区被其他引导程序使用,不需要改变。而此时引导FreeBSD的任务就交给了其他引导软件。
  因为安装程序要更改主引导区,因此需要在BIOS中将主板中用于防病毒的主引导区写保护功能关掉。
  当要在一台计算机使用多个操作系统时,确定系统引导的方式是一个复杂的情况,因为这与要使用的其他操作系统有关,一般情况下都可以使用FreeBSD的Boot Manager对多操作系统进行管理。但也可以使用Linux LILO、Windows NT OS Loader、OS/2 Boot Manager来管理多操作系统。但是在多操作系统的条件下,每个操作系统中的一些操作都会重写主引导区,从而造成引导程序出现问题。尤其DOS/Windows 系统,每次重新安装都会不加任何提示重写主引导区,将引导程序恢复为标准引导程序。
?创建文件系统和交换空间
在硬盘分区之后,安装者将进入FreeBSD风格的文件系统管理工具Disklabel,用于管理文件系统和交换空间。这个工具将对UFS分区进行操作,将它们分割为不同的文件系统上或用作交换空间的部分。
  Disklabel整个屏幕也划分为三部分,上部显示要进行处理硬盘及和UFS分区,本例中为wd1和wd1s1 ,中部为文件系统和交换空间的列表,下部为使用到的各个命令。对于大多数情况时,wd1s1中还没有文件系统和交换空间存在的条件下,可以让disklabel来决定各个文件系统和交换空间的大小,这仅需要使用A(Auto Defaults for all)命令即可。如果已经有划分好的部分存在,可先使用D命令删除。即使安装者打算自己确定各个部分的大小,使用A来看看Disklabel的缺省设置情况也能起到参考作用。
  手工使用C(Create)命令分割磁盘时,首先决定是创建交换空间或文件系统。FreeBSD系统需要使用交换空间来提供比实际内存更大的虚拟内存空间,这样系统就能支持更多、更复杂的进程。交换空间的大小要根据具体需求而定,有些程序,如X11,GNU C++等,需要大量的内存,因此要配置较多的交换空间,一般交换空间不应小于系统的物理内存,用作服务器的系统需要更多的交换空间,但过多的交换空间又没有必要。可根据系统在最高负载下用户和同时运行进程的多少,在物理内存的1-2.5倍范围内调整交换分区的大小。
  在多个磁盘的情况下,可在不同的磁盘中设置多个交换空间,以均衡磁盘的负载。然而对于IDE接口的硬盘,在同一根电缆上连接的主从硬盘上分布交换空间没有意义,因为同一个驱动器上的两个硬盘不能并发存取。交换空间也应该尽量设置在高速硬盘上,如Ultra SCSI接口的硬盘,以提高系统的性能。
  对于用于文件系统的子分区,除了设定大小之外,还要设定它在文件系统中的安装位置,即将其安装到目录树的哪个位置上。虽然原则上仅使用一个安装到根目录的完整文件系统就能满足系统要求,但是由于文件系统中不同目录将用于不同目的,将其划分为不同部分,分别安装到目录树上,更有利于管理、维护,也增强了万一系统崩溃时,减低数据丢失的可能性。这是由于不同的子分区在物理上相互分隔,一个子分区写满或出现问题不影响其他文件系统上的内容。例如根目录所在的文件系统很少需要进行写操作,那么系统崩溃就不会影响这个文件系统中的系统数据,或者当某个进程产生了非常巨大的数据文件时,这个数据文件只能填满某个子分区,而不致于影响其他需要存取系统中其他分区的重要系统进程。因此,由于对于用作服务器的FreeBSD系统,应该使用多个文件系统以提升系统可靠性。
  通常应将文件系统划分为 “/” 文件系统, “/usr” 文件系统, “/var” 文件系统。 “/” 文件系统中只保留系统内核及其他非常重要的文件,当系统进入单用户模式也只安装这个文件系统,一般需要30-40M空间。 “/usr” 文件系统放置系统日常使用的文件,应该尽量大,甚至还会在这个目录之下再安装新的文件系统。 “ /var” 文件系统用于系统运行时的数据文件,根据不同系统的情形,所需要的大小也不一样,用户和提供的服务越多,越需要 “/var” 空间。
  如果要自己手工调整缺省设置,就要求安装者处理进行分割分区空间的全部细节。使用Create命令来完成创建每个子分区的任务,首先需要设置划分的子分区的大小,可以直接输入扇区数(512字节为单位)或更容易理解的用MB为单位(在数字之后加上MB单位),此后设置该子分区是用作文件系统(UFS类型)还是交换空间(Swap类型),如果要该分区用做文件系统,则系统会接着问该文件系统的安装(Mount)位置。
  在升级系统或其他情况下,硬盘或分区系统中已经有FreeBSD子分区存在,但这些子分区的安装位置信息已经丢失。此时可以使用M(Mount Pt),将现存子分区按照原来的安装状态,设置它的安装目录。此时可以使用T(Newfs Toggle),在对不对该子分区进行格式化(Newfs)的选项上进行转换,设置为不进行格式化就能保留上面的原有数据。
  当分区完成以后,使用W(Write)确认设置,使用Q(Finish)退出disklabel系统,然后就可以向选定的分区上安装操作系统软件本身了。
?选择安装组件
  由于操作系统本身由不同的部分组成,不同的使用者可以根据自己的需要进行选择,因此,安装程序将显示出一个 Distributions 选择菜单,提示不同种类的使用者选择自己需要的系统组件。
  对于一个完整的系统,所有的这些内容都十分有用。如果不是为了节约硬盘空间的原因,应该选择All全部安装。但全部安装就需要相当多的磁盘空间,一般情况下为了节约磁盘空间,可以选择不同的安装选项。但即使要安装一个精简的 FreeBSD系统,仍然建议安装内核源代码,这样才能按照机器的具体硬件来定制一个更高效的内核。因此至少应该选择 Kern-Developer选项,此外也可以选择多个部分,例如同时选择Kern-Developer和X-User ,或者使用定制方式(Custom),使组件的选择更为灵活。
  当选择了Custom之后,则Sysintall将显示出所有可选择安装组件的详细列表,供安装者选择需要的组件。
  在Custom菜单下,可以逐项选择要安装的组件,为了方便起见,可以在上一级菜单中先选择好某类组件,然后再在这里略加修改。
  注意,由于DES算法受美国法律的出口限制,需要进行审批,因此FreeBSD缺省使用的加密算法为MD5算法。DES算法只在某些特定的软件中是必须的,例如当使用NIS与其他使用DES算法的计算机共享口令文件时。
  如果需要安装DES组件,可以选择DES组件,名义上这个组件不是直接从美国出口,而是来自欧洲或其他非北美地方的,从形式上避免这个问题。此后的安装过程中FreeBSD还会使用一个对话框警告安装者,可以简单确认即可。
  FreeBSD还将询问是否安装Ports Collection的源码,Ports Collection 是用于帮助用户编译、安装、维护应用程序的一个非常有效的工具。它是FreeBSD系统的一部分,是FreeBSD的诸多开发者将应用软件移植到FreeBSD上的努力,比起预编译好的Packages,它更为灵活。因此最好安装Po rts Collection,以方便以后定制应用软件。
  如果要想使用图形界面,就应该选用的XFree86相关的安装组件。由于XFree86也是由多个部分组成,也可以选择各个部分进行安装,以节约磁盘空间。
  XFree86中包括基本组件Basic,不同的X Server组件,字体组件。一般情况下应该进入各个组件内部,在缺省设置的基础上修改选择的内容。Basic菜单下的设置一般不必改动,在Fonts菜单下可以选择增加中文字体。最重要的选择是Server菜单中的选项,应该选择适合自己显示设备的X Server。
  在X Server的选择菜单中,除了选择自己显示卡对应的X Server以外,还应该选择VGA16的X Server,这用于运行XFree86的设置程序XF86Setup。如果不能十分确定自己显示卡的类型,应该多选择几种X Server,等设置X Windows时再确定哪个X Server适合自己的显示设备。
  当选择好Basic、Fonts和Servers中的选项之后,就可以使用Exit菜单退出这个菜单选项,进入真正的复制系统的安装过程。
?安装系统文件
  在安装程序Sysinstall正式复制系统文件之前,安装程序将询问安装介质位于何处。
  最常用的方式是使用CDROM进行安装,这时不需要额外的配置。进行网络安装(NFS或两种ftp方式),则要求首先配置网络界面、远程服务器的IP地址及安装文件所在的目录。从DOS分区下安装要输入安装文件所在的DOS目录名,从现存文件系统下安装可以允许从已经安装的目录下(可以是NFS、UFS、MSDOS或CD9660系统)进行安装,此时需要先使用Fixit盘启动应急界面,预先安装上相应的安装介质。软盘和磁带安装方式也不需额外的配置。
  这个菜单内还有一个Options选项,可以启动Sysinstall主菜单中Options菜单,主要用于设置使用NFS和FTP时候的相关连接选项,以便安装能顺利进行。当完成安装介质的确认之后,就开始拷贝文件的安装过程了。
  由于系统中有多个虚拟控制台,在安装程序的拷贝过程中,可以使用Alt-F2切换到第二个虚拟控制台上观察 sysinstall程序的输出信息,使用Alt-F4切换到第四个虚拟控制台上,这里启动了一个shell,可以接受安装者的输入指令,这使安装者可以在必要的时候,干预安装过程或处理可能的问题(缺省情况下没有任何命令可供安装者执行,必须在安装系统之前使用Fixit光盘或软盘,才能提供可执行的命令)。正常情况下并不需要这些额外的工作,使用 Alt-F1回到sysinstall安装界面,等上约20分钟(具体时间将依赖具体机器的硬件和选择的安装组件),基本系统将安装完毕。
文章评论

共有 1 条评论

  1. love601 于 2006-10-17 20:22:23发表:

    多谢楼住分享了!!!我个人觉得还不够清晰哦!