发信人: sungang(笨刚)
整理人: sungang(2003-09-16 11:09:08), 站内信件
|
2.2.2 系统安装程序
在内核载入之后,内核就启动初始化进程init启动操作系统,然后就运行系统安装程序。FreeBSD的系统安装程序的名字是Sysinstall,它是一个位于安装盘上的FreeBSD的执行程序,用于系统的安装和配置,是一个非常有用的安装和维护工具程序。
即使在系统安装完毕之后,这个程序还可以被用于管理和维护系统。在一个安装好的FreeBSD系统中,这个程序被放在/stand目录下,就可以使用/stand/sysinstall命令来再次启动这个管理工具。
1) 主菜单
系统安装时将自动进入sysinstall开始安装系统的过程,在个人计算机的屏幕上(控制台),安装程序表现为全屏幕的彩色安装菜单,然而也可以在标准字符终端上启动Sysinstall程序,根据字符终端的类型其外观也略有不同,下图为Sysinstall主菜单。
这里使用的样例图片均为3.0-release中的选项,新版本中只不过调整了菜单选项的顺序,增加了一些功能性的菜单选项,而设置的内容和操作的方式则是一样的。从这一点,可以看出FreeBSD具备的特点,它是一种稳定的、持续发展的系统,而不是经常变动的、不稳定的、追求外在表现的系统。
Sysinstall程序是一个对话框方式的菜单程序,不同于Windows系统中安装程序常用的 “Wizard” 引导方式的安装形式,菜单形式能提供安装者更大的选择自由,但需要安装者对需要用到的选项有一定的了解。
菜单的操作方法非常简单,一般使用上下方向键来选择不同的选项,使用Enter确认,使用Tab在Sysinstall中的不同按钮上切换,而使用Space键选择或不选择某个检查框选项等等。
选项 “Usage” 介绍了Sysinstall的使用方法。
选项 “Doc” 用来浏览安装介质上的文档,可以在安装系统时实时阅读安装介质上的README.TXT、HARDWARE.TXT、INSTALL.TXT、COPYRIGT.TXT、RELNOTES.TXT等文档,安装系统之后,也可以阅读/usr/share/doc目录下的HTML格式的使用手册和问题解答。
选项 “Keymap” 提供了更改键盘规格的机会,这个选项对于一些欧洲用户比较有用,因为它们使用的是非英文键盘。
选项 “Options” 用来更改Sysinstall本身使用的某些参数,用于确定安装过程的行为,如NFS的相关参数用于NFS网络安装方式时访问NFS服务器,FTP相关参数用于设置FTP网络安装方式等,因而只有在使用相应的安装过程的时候,才需要根据服务器的设置更改这些选项,一般情况下不必改动。某些时候,例如使用非标准的安装光盘,或者需要使用老版本的sysinstall升级新版本的系统,才需要改变这些安装选项。
最为重要的选项是选择安装的方式,可供选择的安装方式有 “Novice” , “Express” 和 “Custom” 三种不同的安装方式。Novice方式适合初次安装FreeBSD的使用者使用,它引导安装者按照安装过程的每一步进行安装,并且每一个步骤都使用对话框进行操作提示,类似于一个安装引导程序。Express方式与Novice使用同样的安装流程,但省略了提示,因此较为快捷,适合熟练的安装者。而Custom方式没有引导过程,而是提供一个菜单,安装者可以不按照次序来处理安装过程的每个步骤,这样就提供了更多的选择机会。
三种方式只是安装步骤方面的不同,而并无实质上的差别,每种安装方式均要进行以下几步操作:
● 硬盘分区
● 设置文件系统和交换分区
● 选择安装组件和安装介质
● 安装系统
● 系统初始设置
在Novice和Express方式中,将顺序进行以上的步骤,而Custom方式则列出对应以上每项工作的菜单,每完成一步都返回这个菜单等待安装者的下一步指示。这样安装者能按照自己的需要,安排进行相关操作,因此就有更大的自由度,但如果不熟悉安装程序的话,也许会遗漏一些必需的操作步骤。因此,一般情况下可以选择Novice选项,由sysinstall安排每一步的任务。
菜单选项 “Upgrade” ,用于系统升级时使用,这个升级过程将使用安装介质上的二进制文件覆盖原有系统上的文件。由于升级过程有可能破坏原有的FreeBSD系统,因此系统将提示安装者进行确认。尤其对于从2.2.x向3.x升级,由于应用程序的格式从a.out转向了ELF,因此升级还要保证兼容问题。相比较而言,使用源代码进行升级的方式更为安全和有效。
主菜单的 “Fixit” 选项将启动一个应急处理命令行界面,处理安装过程中出现的问题。或者当操作系统出现故障,不能正常启动的时候,使用它来启动一个紧急处理系统,进行故障修复。
启动应急处理界面需要一个Fixit光盘或软盘,正式发行光盘中的第二张就为Fixit光盘,或者可以制作Fixit软盘,它的磁盘镜象文件为resume.flp或fixit.flp。
第三个选项是在没有fixit光盘和fixit软盘的时候使用,它将在第四个虚拟控制台上启动一个应急交互Shell程序,进行各种系统操作(使用Alt-F4可以切换到这个虚拟控制台上)。如果由于没有Fixit盘上的应用程序,基本上很难进行修复操作,但某些情况下,例如安装进程进行了一半的时候,系统已经安装了部分应用程序,也可以使用这个选项执行有限的操作。
主菜单中的 “Configure” 选项,用于对FreeBSD系统进行基本配置,这是Sysinstall中非常有用的一部分。通常Unix进行系统设置需要执行各种命令和修改配置文件,而Sysinstall在这里能提供了一个设置系统参数的友好界面。在这里就能完成设置一个能够正常运行的FreeBSD基本系统的操作,当然更复杂的设置还是要通过修改配置文件来完成的。
如果使用Novice或Express安装方式,系统将引导安装者逐步进行这个Configure菜单中的各项必需的配置任务,如果使用Custom方式进行安装,就需要手工执行这个选项中的各个功能。在FreeBSD正常运行之后,也能使用这个选项来维护系统、更改系统配置。
假如安装过程中更改了安装选项(Options),但想恢复缺省状态,或者打算使用某个定制的安装选项,就可以使用主菜单中的 “Load Config” 选项,从软盘中载入安装选项。对于大量安装同样配置的FreeBSD系统有一定的帮助。
主菜单的最后一个选项为 “Index” ,选择这个菜单项将弹出一个子菜单,子菜单中按照字母顺序列出了Sysinstall中的所有的功能。这个菜单项在系统安装时并没有实际的用处,但在系统安装之后使用sysinstall管理和维护系统时就非常有用。系统管理员不必一级一级寻找某个功能在Sysinstall多级菜单中的位置,而能依据其名字迅速找到所需要的功能。
无论安装者使用何种安装方式,所需进行的安装步骤是相同的,都要执行硬盘分区、建立文件系统、选择安装组件、执行安装以及安装之后的配置等任务。
对于新手来讲,还是应该选择Novice安装方式,以免遗漏需要执行的安装步骤。需要注意的是Novice方式中执行过程不能向后回溯,因而没有更正失误的机会,一旦出现失误就必须退回第一步,重新执行。因此最好小心操作,保证每个步骤都执行正确。
2) 硬盘分区
安装过程的第一步就是要指定将FreeBSD安装到何处,FreeBSD需要占用一个单独的基本分区。因此就需要进入Fdisk对硬盘进行分区处理,这个工具中可以完成维护硬盘分区的各项操作,包括指定活动分区,增加和删除分区等功能。
如果计算机中有多个硬盘存在,Sysinstall中的Fdisk程序将首先询问安装者要处理的哪个硬盘,使用空格键选中所有需要进行处理的硬盘,然后使用Enter确认,就能依次对各个硬盘进行分区操作。
如果要将系统安装到非启动硬盘上(例如wd1),那么也需要在系统的启动硬盘(wd0)上安装启动管理软件Boot Manager(或其他种类启动管理软件,那些软件需要独立的安装过程),否则无法启动非启动硬盘上的系统。
★ 硬盘映射方式
在Fdisk中显示的前两行为它报告的硬盘信息,包括硬盘的名字,以及柱面、磁头和扇区等硬盘参数。柱面、磁头和扇区这些磁盘映射方式参数对于划分分区非常重要,必须保证Fdisk中的这些数据和BIOS中的数据一致,以使Fdisk划分出的分区被BIOS识别。
在硬盘上已经有分区存在的情况下,Fdisk可以从已有分区中找到这些硬盘映射参数,通常就和BIOS相一致,这样就避免它划分的分区与已有分区冲突。例如本例中非空硬盘wd1的硬盘数据为782柱面,128磁头,63扇区,实际是BIOS使用LBA方式映射过的数据,Fdisk从已有的DOS分区中检测得到的。
如果硬盘中没有分区,是一个新磁盘,那么FreeBSD就直接从硬盘驱动器上探测真实的硬盘参数,而不是映射过的逻辑参数,因此当BIOS重新映射硬盘参数时,就有可能使FreeBSD探测的真实参数与BIOS的映射参数不一致。这个不一致主要是导致不同操作系统的分区重叠和启动引导问题,不会影响数据的存储,这样当硬盘仅用于FreeBSD系统而不需要与其他操作系统共享硬盘时,就可以不理会硬盘参数。
当发现这些映射信息与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系统,每次重新安装都会不加任何提示重写主引导区,将引导程序恢复为标准引导程序。
3) 创建文件系统和交换空间
在硬盘分区之后,安装者将进入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系统,然后就可以向选定的分区上安装操作系统软件本身了。
4) 选择安装组件
由于操作系统本身由不同的部分组成,不同的使用者可以根据自己的需要进行选择,因此,安装程序将显示出一个Distributions 选择菜单,提示不同种类的使用者选择自己需要的系统组件。
对于一个完整的系统,所有的这些内容都十分有用。如果不是为了节约硬盘空间的原因,应该选择All全部安装。但全部安装就需要相当多的磁盘空间,一般情况下为了节约磁盘空间,可以选择不同的安装选项。但即使要安装一个精简的FreeBSD系统,仍然建议安装内核源代码,这样才能按照机器的具体硬件来定制一个更高效的内核。因此至少应该选择Kern-Developer选项,此外也可以选择多个部分,例如同时选择Kern-Developer和X-User,或者使用定制方式(Custom),使组件的选择更为灵活。
当选择了Custom之后,则Sysintall将显示出所有可选择安装组件的详细列表,供安装者选择需要的组件。
在Custom菜单下,可以逐项选择要安装的组件,为了方便起见,可以在上一级菜单中先选择好某类组件,然后再在这里略加修改。
FreeBSD还将询问是否安装Ports Collection的源码,Ports Collection是用于帮助用户编译、安装、维护应用程序的一个非常有效的工具。它是FreeBSD系统的一部分,是FreeBSD的诸多开发者将应用软件移植到FreeBSD上的努力,比起预编译好的Packages,它更为灵活。因此最好安装Ports Collection,以方便以后定制应用软件。
5) 选择Xfree86
如果要想使用图形界面,就应该选用的XFree86相关的安装组件。由于XFree86也是由多个部分组成,也可以选择各个部分进行安装,以节约磁盘空间。
需要注意的是,目前FreeBSD系统中缺省附带的是Xfree86的3.3.x版本,而最新的Xfree86版本为4.x,FreeBSD当前对Xfree86 4.x的支持是通过额外的软件包的形式支持的。
XFree86中包括基本组件Basic,X Server组件,字体组件。一般情况下应该进入各个组件内部,在缺省设置的基础上修改选择的内容。最重要的选择是Server菜单中的选项,应该选择适合自己显示设备的X Server。
在X Server的选择菜单中,除了选择自己显示卡对应的X Server以外,还应该选择VGA16的X Server,这用于运行XFree86的设置程序XF86Setup。如果不能十分确定自己显示卡的类型,可以多选择几种X Server,等设置X Windows时再确定哪个X Server适合自己的显示设备。
当选择好Basic、Fonts和Servers中的选项之后,就可以使用Exit菜单退出这个菜单选项,进入真正的复制系统的安装过程。
6) 安装系统文件
在安装程序Sysinstall正式复制系统文件之前,安装程序将询问安装介质位于何处。不同的安装介质通常需要不同的参数配置。
通常,网络安装方式需要更多的配置参数,(包括NFS或两种ftp方式),因为这需要首先配置网络界面、配置服务器的IP地址及安装文件所在的目录。DOS和现存文件系统安装介质,需要输入保存安装文件的目录等参数。其他的安装方式要简单一些,几乎不需要额外的参数配置。
这个菜单内还有一个Options选项,主要用于设置使用NFS和FTP时候的相关连接选项,以便安装能顺利进行。当完成安装介质的确认之后,就开始拷贝文件,安装系统了。
由于系统中有多个虚拟控制台,在安装程序的拷贝过程中,可以使用Alt-F2切换到第二个虚拟控制台上观察sysinstall程序的输出信息,使用Alt-F4切换到第四个虚拟控制台上,这里启动了一个shell,可以接受安装者的输入指令,这使安装者可以在必要的时候,干预安装过程或处理可能的问题(缺省情况下没有任何命令可供安装者执行,必须在安装系统之前使用Fixit光盘或软盘,才能提供可执行的命令)。正常情况下并不需要这些额外的工作,使用Alt-F1回到sysinstall安装界面,等上约20分钟(具体时间将依赖具体机器的硬件的性能和选择的安装组件的多少),基本系统将安装完毕。
|
|