
Linux不是因为受了魔法才出现在计算机上的;而是有人需要把它装在那儿。虽然Linux发行版本正在迅速变得功能更加完善和界面更加友好,但是软件配置管理仍然是系统管理领域内的一项重要工作。除了安装现成的系统,还必须如今越来越多的厂商都在提供预先配置好的Linux系统,但还是不可避免地会在某种情况下需要您自己安装Linux。同样,您几乎一定要做某些调整,来为满足您本地环境的特殊需求而做任何调整。系统管理员一般必须要执行下面所有的任务:
自动批量安装操作系统Linux;
自动执行成批的安装;
完成系统的本地化;
给系统打补丁且保持系统的更新;
管理附加的软件包。
配置现成的发行版本或者软件包,以求符合自己的需要(以及本地安全规定、文件存放和网络拓扑的需要),这个过程往往称为“本地化”。本章研讨的一些技术和应用有助于减少安装软件的痛楚,让这些工作收放自如。
2311.1
Linux基本安装
目前的各种Linux发行版本都提供很直观的基本安装步骤。您可以从光盘或者软盘启动,回答几个问题,告诉安装程序要把哪些软件包拷贝到硬盘上。大多数Linux发行版本还有不错的安装指南。
|
|
企业版的Red Hat http://www.redhat.com/docs/manuals/ 这个地址找到。 |
|
|
Fedora有自己的建档项目,但是因为当前的Fedora发布还保持着和Red Hat Enterprise Linux密切的联系,所以Fedora的志愿者们似乎还不情愿花时间复制现有的RHEL文档。在寻找Fedora问题的答案时,Red Hat手册通常是一个很好的起点。 |
|
|
盒装销售的SU |
|
|
Debian的安装手册在这个地址能找到:www.debian.org/releases/stable/installmanual。 |
|
|
Ubuntu以wiki(维基)形式很好地总结了的安装选项,地址为:http://wiki.ubuntu. com/Installation。 |
如果您必须要一次安装多台计算机,那么您会发现自己很快就达到了交互式安装的极限。首先,这样做效率不是太高。(您还能重复性地从安装时成百上千的软件包中确切地选出一组软件包吗?)对于这类问题,可以用一个本地化复查表把选错的机会减少到最小,但即便是这样的方法也不能避免一定选对。交互式的安装也费时费力。
23.2
自动安装
如果您曾经要一次安装多台计算机,那么您会发现自己很快就达到了交互式安装的极限。首先,这样做效率不是太高。比如说,您还能确切地记住安装了哪些软件包吗?这类问题可以用一个本地化复查表(参见23.3.8节)来避开,但即便是有一张复查表也不能解决所有的问题。
交互式的安装费时费力。即使您能负担得起雇人手工安装1000台机器,可那些钱该有更好的用场才对。
我们举例的发行版本所采用的安装程序都是脚本,所以另一种做法是做一张软盘或者光盘,里面包含您想要的配置。这种办法解决了效率问题,但是它仍然不能很好地扩展。如果您要安装数百台机器,那么做数百张配置软盘来用也是极其沉闷的工作。
通过网络自动安装也是可能的,对于有着数百乃至数千系统要升级的站点来说,这通常是最方便的方法。我们所举的所有发行版本都能够以这种方式安装,但是在平稳地进行自动安装之前,确实要对现成的系统做些配置。
Red Hat的Kickstart和SuSE的YaST(两者都是用脚本处理发行版本标准安装程序的高级方法)都能支持自动的网络安装。还有几种开放源代码的开发项目致力于做出第三方的网络安装程序,SystemImager就是一个例子。本章将详细讨论这些系统。
了解更多的信息。另外还可以考虑使用第三方的安装程序,比如SystemImager(参见23.2.7节)。
2311.21.1
从网络引导PC
从网络引导系统的做法可以不必从硬盘、软盘或者CD-ROM光盘,而是完全通过网络来引导一台计算机。这对于安装来说极为方便这对于安装来说很方便,因为它意味着您可以坐在桌子旁边,不必走到机器那里插入CD-ROM光盘或者软盘,就可以从网络上引导位于别处的一台机器。遗憾的是,大多数发行版本所支持的网络技术都要从软盘或者CD-ROM光盘来引导系统,然后让其他步骤通过网络来完成。
Etherboot计划(etherboot.sourceforge.net)为支持从网络引导的常用NIC(译者注:代表Network
Interface Card,网卡)开发了开放源代码的引导PROM。不过,因为大多数人在他们的办公室里都没有EEPROM写入设备,所以这种解决方法的实际效用还不清楚。一项用于从网络引导基于Intel的系统的开放新标准——PXE正在得到多方面的支持。
专门制造UNIX计算机的制造商长期以来一直都支持网络启动,但是直到最近,这项特性才成为PC上的标准。在研究定制型的引导PROM多年之后,Intel公司已经制订出PXE(Pre-boot eXecution Enironment)标准,以此给予用户很大的便利。虽然PXE还不完善,但是不好的标准(一般)比没有标准强。
PXE(Preboot Execution Environment)的作用就像是在网卡上ROM里的一个小小操作系统。它通过一个标准API把自己的网络功能提供给系统BIOS。有了PXE和BIOS两者的合作,就有可能在任何有PXE的PC上,让一个引导加载程序不需要给每个网卡提供专门的驱动程序,就能通过网络启动Linux是一种有点儿复杂的标准,它融入并扩展了DHCP来为PC提供网络引导功能。Intel正在积极地推动PXE,它似乎在逐步占据市场。大多数新型PC都支持它。虽然PXE不太完善,但聊胜于无吧。
PXE协议的对外(网络)部分很直观易懂(,和其他体系结构上采用的网络引导过程类似)。一台主机广播一则设置了PXE选项的DHCP“发现”请求,然后一台DHCP服务器或者代理服务器用一个包含有PXE选项的DHCP包来响应它(引导服务器的名字和引导文件的名字)。客户机通过TFTP下载它的引导文件(或者也可以采用多播TFTP),然后执行这个引导文件。参见12.9节了解有关DHCP的更多知识。
虽然PXE规范不能完全向后兼容普通的DHCP,但在实际中,许多现代的DHCP服务器能够提供PXE引导服务。哪怕是不直接支持PXE协议的服务器也能够借助一种代理机制来同它交互。
不同的发行版本内部对PXE支持的程度也不相同。但这是一个发展活跃的领域,基于PXE功能的系统正在变得越来越普遍。介绍PXE的文档从很多地方都能得到。目前有几种基于PXE网络引导的系统正处于开发之中,包括PXELinux(Syslinux的一种扩展;参见syslinux.hackerdojo.com/pxe.php)和PXEGRUB(针对GRUB引导加载程序的一种扩展;参见www.gnu.org)。Intel也提供了Linux的PXE软件包:
http://www.intel.com/ial/wfm/index.htm。
2311.1.2 为Linux设置PXE
现在有几种基于PXE的网络引导系统,但是目前效果最好的是H. Peter Anvin的PXELINUX,这是他的通用引导加载程序SYSLINUX的一部分。从syslinux.zytor.com可以得到这个软件。我们举例的Linux发行版本所带的ISC(Internet
Software Consortium,Internet软件联盟)DHCP服务器都支持PXE。如果您正使用的是另一种DHCP服务器,则要安装Intel的PXE软件包中提供的代理。
PXELINUX提供了一个引导文件,用户把这个文件安装到服务器的tftpboot目录下,当PXE起作用的时候,就会被下载到正在启动的PC上。这台PC接着执行这个引导文件,从服务器下载它的配置。下载的配置规定了该使用哪个内核。这一系列的步骤不用外部干涉就能完成,如果愿意,用户也可以建立一个自己定制的引导菜单。
PXELINUX使用PXE API下载,因此在引导过程中始终不受硬件影响。它也不仅限于引导Linux—它还能引导其他操作系统,如果使用MEMDISK内核,甚至还能引导软盘映像。MEMDISK也是SYSLINUX软件包的一部分。
在服务器端一定要使用ISC(Internet Systems Consortium)的DHCP服务器。如果使用了不一样的服务器,那就必须配置额外的DHCP选项,或者使用服务器的配置文件里的数字表示。
|
|
Red
Hat Enterprise Linux 3 System Administration Guide的第14章内容全都讲的是PXE和网络引导。 http://www. |
遗憾的是,当前的Linux发行版本除了提供服务器端DHCP支持之外,都没有集成PXE。它们甚至也没有对让Linux作为一台客户机使用PXE提供多少支持;安装程序一般不直接支持PXE。在我们本章所介绍的安装程序中,只有SystemImager懂得PXE。
然而,网络引导技术是用于大型安装的正确方法,您不必坐等软件发行商把它们的功能整合起来。从许多来源都可以得到介绍PXE的文档。从www.linuxdoc.org获得的Remote
Boot HOWTO是一个良好的出发点。
|
|
运行命令system-config-netboot,RHEL对应的免费版本Fedora就能让用户访问图形界面的网络引导配置系统。 |
RHEL’s
free cousin Fedora lets you access the graphical netboot configuration systemby
running the command system-config-netboot.
|
|
SUSE没有带任何PXE软件包,但您可以借用Red Hat的PXE软件包。可以很容易让YaST配合PXE使用,虽然SUSE并未正式支持这种配置。 |
|
|
Debian的安装程序也可以毫无问题地从网络引导,只要从www.debian.org/ devel/ debian-installer下载网络引导所用的内核映像即可。 |
|
|
在编写本书英文版的时候,Ubuntu 6.06版的正式安装手册还没有完成。不过,您可以在doc.ubuntu.com找到一份草稿。指导安装该发行版本的wiki网页地址为:https:// wiki.ubuntu.com/Installation/Netboot。请参考其中的Installation/Netboot和Installation/ LocalNet两个专题的内容。 |
2311.21.3
非PC的网络引导
PXE是Intel公司的一个产品,它受到限制,它只限于能在IA-32和IA-64的硬件上使用。其他体系结构有它们自己的网络引导方法(几乎都比PXE更完善)。对于网络引导来说,Linux的范围已经超出了Intel的体系结构,许多“专用于”UNIX的网络引导系统现在都可以选择从网络引导Linux,而不是它们原本适用的操作系统,情况的发展出现了有趣的颠倒现象。讨论各种体系结构之间的诸多不同的确超出了本书的范畴,但是web上的各种资源能够提供帮助。
讨论各种体系结构之间的诸多不同的确超出了本书的范畴,但是网络上的各种资源能够提供帮助。
SPARC机器和大多数PowerPC计算机都使用Open
Firmware(开放性的固件),用它从网络启动很容易(键入boot net)。UltraLinux
FAQ(www.ultralinux.org)有一份介绍如何在SPARC处理器上通过网络启动Linux的指南。Alpha机器一般使用SRM控制台软件来引导Linux,SRM HOWTO介绍了如何使用这些功能。SPARC机器和PowerPC机器都使用Open
Firmware,它很容易从网络引导(键入boot net)。UltraLinux
FAQ(www.ultralinux.org)有一份很有帮助的指导,介绍在SPARC处理器上从网络引导Linux。对于Mac、RS/6000和其他基于PowerPC的机器来说,网络引导的过程则特定于硬件和所用的引导加载程序网络引导的过程则取决于硬件和所用的引导加载程序,所以要查看引导加载程序的文档。AMD64机器和它们的“兄弟”—x86 PC一样,也使用PXE。
2311.21.4
Kickstart:Red HatRHEL和Fedora的自动安装程序
Kickstart是Red Hat用于执行自动安装的工具叫做Kickstart。Kickstart是Red Hat标准安装程序Anaconda的脚本化接口,它取决于它随Red Hat发行版本和RPM软件包的不同而不同。Kickstart同SystemImager以及其他原始映像(raw image)复制程序不同复制程序不一样,它不但灵活,而且相当智能,能自动检测到系统的硬件。
如果您需要做大量的本地化工作,您可以把需要做的任何改动作为安装后执行脚本的一部分。虽然这种做法可行,但安装后执行的脚本会变得又大又不易维护。另一种做法是做一个RPM软件包,其中包含您的本地定制信息。我们建议采用RPM的路子,它可以方便版本的升级,易于日后的更新,而且提供了依赖性支持以及软件打包系统具有的其他好处。参考2311.35节了解有关软件打包的更多信息。
如果您想要对Red Hat直接采用的方式做重大改动,那么您或许会发现Kickstart不是满足您需要的最优选择。在这种情况下,用一种像SystemImager那样的安装工具可能会更好。
一、建立Kickstart配置文件
Kickstart的行为是由一个配置文件来控制的,它一般叫做ks.cfg。这个文件的格式直观易懂。如果您偏爱可视化,那么Red Hat
Enterprise Linux带有一个方便的GUI工具,叫做redhat-config- ksconfigkickstart,在Fedoar上叫system-config-kickstart,它它能让您用通过点击的方式配置ks.cfg[4]。
ks.cfg文件也相当容易用程序来生成。例如,假定您想要在服务器和客户机上安装不同的两组软件包,而且您也需要处理为多个办事处定制的稍有不同的安装。您就可以编写一个Perl的小脚本,它使用一组主控参数为服务器和每个办事处的客户机生成一个配置文件。改动补足的软件包就变成了一件改变这个Perl脚本的事儿脚本的事情,而不是改变每个config文件的事儿文件的事情。甚至还有一些情况需要您为每台主机都生成一个专门的配置文件。在这种情况下,您肯定想自动生成这些文件。
The Red Hat Enterprise Linux System Administration Guide的第2部分里有一份很好的Kickstart(包括所有可用选项的一份清单)手册。它可以从下面的地址获得:http://www.redhat.com/docs/manuals。
关于Kickstart的The Official
Red Hat Linux Customization Guide Red Hat 7.2的《The Official Red Hat Linux Customization Guide》里有一份很好的Kickstart(包括所有可用选项的一份清单)手册:
http://www.redhat.com/docs/manuals/linux/RHL-7.2-Manual/custom-guide。
关于配置文件要注意一点:如果您犯了一个错误,莫名其妙的 Python对此所莫名其妙的响应所包含的诊断信息可能包含响应的诊断信息里可能包含也可能不包含可以能指出错误之处的一则隐藏消息。使用redhat-config-kickstart或者system-config-kickstart此时使用ksconfig更简单,的主要优点之一就是它肯定能它应该生成一个至少在语法上是有效的配置文件(虽然在我们试用它的时候,它给我们的分区命令不能用)。
Kickstart配置文件依次由3部分组成。第一部分是命令段,它指定诸如语言、键盘和时区这样的选项。这一部分也能用url选项指定发行版本的来源(在下面的例子里,来源是叫做installserver的主机)。
下面是一个命令段的完整例子:

命令段中的指令指定了一系列分区以及它们的大小。您还可以指定其中一个分区能够扩大填满磁盘上剩下的全部空间。
roorpw选项设置新机器的root口令。默认以明文指定这个口令,这会带来安全问题。您可以使用--iscrypted标志来指定一个经过加密过的口令;不过,这种方式不支持MD5口令。
Kickstart默认使用图形方式,这种方式不能用于无人照看的安装。在这个例子开头的关键字text解决了这个问题。
rootpw选项设置新机器的root口令。默认以明文指定这个口令,这会带来安全问题。您可以使用--iscrypted标志来指定一个加密过的口令,不过,这种方式不支持MD5口令。
clearpart和part指令指定了一系列分区以及它们的大小。您还可以指定其中一个分区能够扩大填满磁盘上剩下的全部空间。这个功能能够很方便地接受硬盘容量不同的系统。
Kickstart默认使用图形方式,这种方式不能用于无人照看的安装。在这个例子开头的关键字text解决了这个问题。
第二部分列出了要安装的软件包,这一段的开头是一条%packages指令。软件包的清单可以包含单个软件包、像@ GNOME这样的软件集合、或者是表示全部安装的记号@ Everything。在选择单个软件包的时候,只需指出软件包的名字,不必带版本或者.rpm扩展名。下面是一个例子:

在Kickstart配置文件的第三部分中,您可以指定要Kickstart执行的任何shell命令。可能有两组命令:用%pre引入在安装之前运行的命令,用%post引入在安装之后运行的命令。这两部分都会要求受限于系统能够解析主机名的能力,所以如果您想要访问网络,那么最稳妥的做法就是使用IP地址。此外,安装后运行命令是在一个chroot过的环境里运行的,所以它们都不能访问安装介质。
二、建立一个Kickstart服务器
Kickstart希望其文件的布局和它们在发行光盘CD上的布局一样。它要求它的软件包都保存在服务器上称为RedHat/RPMS或者Fedora/RPMS的目录下面。您可以随意向这个目录加入您自己的软件包。不过,这里有两个问题这里要注意两个问题。
首先,如果您告诉Kickstart安装所有的软件包(在ks.cfg文件里的%packages部分里用了一条@
Everything指令),它就在已经装完基础软件包之后按字母顺序安装附加的软件包。如果软件包所依赖的其他软件包没有在基础包之中,那么您可能要调用的软件包那么可能要把您的软件包叫做(类似zzmypackage.rpm这样的名字这样),以确保它在最后也安装了。
如果您不想安装全部的软件包,要么可以在ks.cfg文件中的%packages部分列出要补充的各个软件包,要么可以加上您自己的一个或者多个软件包集合。集合的清单由@ GNOME这样的指令项来指定,它代表一组预先定义好的软件包,其中的成员一一列举在服务器上的文件RedHat/base/comps或者Fedora/base/comps里。遗憾的是,comps文件的格式没有好的文档说明。软件包集合是以0或者1开头的行(数字表明这个集合是否是默认选中的)。一般而言,乱改标准的软件集合可不好。我们建议您不要动它们,保持Red Hat定义它们的原样,而在ks.cfg文件里明确地命名所有的追加的所有软件包。
三、把Kickstart指引到配置文件指向配置文件
一旦您已经建好了一个配置文件,可以有两种方法来让Kickstart使用它。Red Hat公认认可的方法是用一个Red Ha张t引导软盘或者CD-ROM光盘来引导,通过在开始的boot:提示处指定提示处输入linux
ks来要求进行Kickstart安装。如果您没有提供任何其他参数,那么系统就使用DHCP来确定它的网络地址。接着它就会知道DHCP引导服务器,得到引导文件选项,尝试以NFS安装引导服务器,使用引导文件选项的值作为它的Kickstart配置文件ks.cfg。如果没有指定引导文件,系统就查找一个称为/kickstart/hostipaddress-kickstart的文件。
另一种方法是,可以通过提供一条路径作为ks选项的参数,以其他方式通知Kickstart得到它的配置文件。这会有几种可能性。指令
boot: linux ks=http:server:/path
告诉Kickstart使用HTTP而不是NFS下载文件。使用ks=floppy告诉Kickstart在本地软盘驱动器里查找ks.cfg文件。
要完全不用引导介质,您需要进而使用PXE。参考2311.21.2节了解有关它的更多信息。
2311.12.5
AutoYaST:SuSESUSE的自动安装工具
|
|
YaST2是SUSE全能的安装和配置工具。它有一个很不错的GUI,在安装单个系统的时候很好用。较早的SUSE发行版本可以通过普通的YaST自动安装,但是结果并不能让所有人满意。SUSE 8引入了一个自动安装SUSE的工具,它叫做AutoYaST。在本书介绍的所有发行版本之中,它是功能最强的系统自动安装软件。从www.SUSE. com/~ug能够获得它的详细文档。 |
遗憾的是,当前的Linux发行版本除了提供服务器端DHCP支持之外,都没有集成PXE。它们甚至也没有对让Linux作为一台客户机使用PXE提供多少支持;安装程序一般不直接支持PXE。在我们本章所介绍的安装程序中,只有SystemImager懂得PXE。
然而,网络引导技术是用于大型安装的正确方法,您不必坐等软件发行商把它们的功能整合起来。从许多来源都可以得到介绍PXE的文档。从www.linuxdoc.org获得的Remote
Boot HOWTO是一个良好的出发点。
SUSE把自动安装过程分为3个阶段:准备、安装和配置。一开始的准备阶段是用AutoYaST模块来执行:
$ /sbin/yast2 autoyast
YaST是SuSE全能的安装和配置工具。它的安装部分或多或少可以等价于Red Hat上Anaconda/Kickstart的组合。和Kickstart一样,YaST通过安装RPM软件包来运行;它也可以用一个配置文件来自动执行。
这个模块帮助您指定您所要设置的细节。运行它的结果是产生了一个XML控制文件,这个文件告诉安装程序如何配置一个SUSE系统。在之前提到的网上文档里介绍了该文件的结构。在硬件检测方面,YaST要比Kickstart聪明一些,而且定制起来也更容易一些。从引导系统的角度来看,它没有Kickstart灵活,只支持NFS。在下面的地址有YaST的白皮书
http://www.suse.de/en/support/whitepapers/yast/index.html。
有两条捷径能加快配置过程的速度。AutoYaST模块可以读入Red Hat的Kickstart配置文件,帮助用户从“遗留的”老系统进行升级。如果您想要复制目前正在工作的机器的配置,那么有一个选项也能自动完成这项工作。
实际安装需要3项网络服务:
在要安装的机器的同网段内有一台DHCP服务器;
有一台SUSE安装服务器或者软件库;
有一台为安装提供配置信息的服务器。
这3台服务器中的最后一台能够根据选择,以HTTP、NFS或者TFTP提供配置文件。
在大多数基本安装里,您要为将要安装的每台机器做一个控制文件。AutoYaST使用客户机的IP地址来判断要使用哪个配置文件。如果您必须要安装一系列有轻微不同的系统,那么这种方法效率不高。
您可以通过使用一个规则系统,创建更为复杂的设置。根据系统的属性,如硬盘大小、主机号,或者是否有PCMCIA,针对目标系统匹配若干不同的控制文件。所有选出的文件要合并到一起,在出现冲突的时候,后面的控制文件则覆盖前面文件的内容。(一个控制文件不必非要规定一个系统的配置的所有方面,所以这样的合并才有意义。)
控制文件也能根据主机名或者IP地址范围规定机器的“分类”,而每一分类可能还有与之相关的另一从属控制文件。机器可以不属于任何分类,也可以属于一个或者多个分类,而它们的配置则由所有相关的分类控制文件合并而成。
幸好AutoYaST能够把多个控制文件的内容合并到一起,它的结构能做到以最小的冗余定义复制的设置。XML控制文件读起来有点麻烦,但是由任何常用的XML处理工具来处理和编辑这些文件则很简单。
11.1.6 Debian和Ubuntu的安装程序
|
|
Debian的安装程序(名字叫的也挺贴切,debian-installer)完全是为这个版本重新写的。现在它用起来是个相当有意思的工具。虽然Ubuntu(我们认为是明智地)保留了所有Debian化的命令名,但它也用这个安装程序。 |
遗憾的是,当前的Linux发行版本除了提供服务器端DHCP支持之外,都没有集成PXE。它们甚至也没有对让Linux作为一台客户机使用PXE提供多少支持;安装程序一般不直接支持PXE。在我们本章所介绍的安装程序中,只有SystemImager懂得PXE。
然而,网络引导技术是用于大型安装的正确方法,您不必坐等软件发行商把它们的功能整合起来。从许多来源都可以得到介绍PXE的文档。从www.linuxdoc.org获得的Remote
Boot HOWTO是一个良好的出发点。
它提供了使用YaST所需的大多数知识。您可能还会阅读“Automated Installation of Linux Systems Using YaST”一文,这是Dirk
Hohndel和Fabian Herschel在USENIX的LISA大会上所做的报告
http://www.usenix.org/events/lisa99/full_papers/hohndel/hohndel_html。
虽然YaST不直接支持PXE,但让它能同PXE配合运行,比起采用Kickstart的等价步骤来说,还是会相当容易一点儿的。要了解详情,可参考Anas Nashif在
http://www.suse.de/~nashif/autoyast1/html/index.html
就如何自动完成YaST安装给出的指导。
建立YaST服务器
SuSE的文档说明了如何通过把SuSE的CD复制到硬盘上并设置符号链接树,来建立一台基于NFS的YaST服务器。它们的确切含义是,YaST在一个叫做suse的目录下查找软件包的目录结构以及一个配置文件。如果您复制了这些内容,那么就没问题了。您还可以把自己的软件包加入到这个目录里。
建立YaST安装
YaST是借助层次结构的info(信息)文件来编写的。YaST服务器或者CD-ROM上的基本info文件可以被专为一类特殊机器所设计的info文件所覆盖。类型通过IP地址范围或者主机名的模式来指定;例如,*.cs.colorado.edu。接下来,类型文件也可以被特定于主机的文件所覆盖。YaST能够使用DHCP来确定像主机的IP地址这样的参数。如果用到了DHCP,那么甚至不需要特定于主机的info文件来设置网络参数。
根据正式的说明,YaST只支持从软盘或者CD-ROM光盘引导。不过,您可以安装PXELinux,使用在SuSE的引导软盘上提供的initrd作为PXELinux的initrd,一起使用YaST和PXE。
使用引导软盘的一个问题是,标准的SuSE引导软盘对于配置网络接口不是非常聪明。从理论上说,在info文件中加入一条适当的insmod命令(比如insmod
3c59x)来标出网卡所用的模块有助于解决这个问题。另外,您可以可以为引导软盘构造一个您自己的内核,把必要的网络设备(和磁盘设备)都包含进来。参考第12章了解构造内核的更多知识(这很容易!)。
info文件在安装服务器和引导软盘上都是在suse/setup/descr/info中。在NFS服务器上info文件里的配置默认配置,而把特定于主机的调整信息放在特定于主机的info文件里。
下面是一个主机info文件的例子:
![]()

这些参数中的每一个都可以用DHCP来配置。Server和Serverdir是由DHCP 的bootserver和bootpath选项来指定的。
还有指定交互式程度的安装参数,但是它们并不一致。有些使用2代表非交互式,有些使用1,而有些使用0。下面的配置片断展示了如何关闭所有的交互活动。

告诉YaST使用DHCP设置:
![]()
YaST借助AUTO_INSTALL选项了解要安装哪些软件包。这个选项的参数是“选择文件”的路径,这个文件是要安装的软件包的一份清单。选择文件的格式其实就是一个列表;在Toinstall行之后加上您的软件包。如果您的路径以$I:开头,那么YaST就使用这个安装路径。例如,为了安装(SuSE提供的)文件Minimal.sel中列出的全部软件:
AUTO_INSTALL $I:suse/setup/descr/Minimal.sel
PRE_INSTALL和POST_INSTALL选项指定了在AUTO_INSTALL之前或者之后要安装的软件包的选择文件。PRE_SCRIPT和POST_SCRIPT选项告诉YaST在安装之前或者之后要运行的脚本。
info文件的最后一部分让您在新构建系统的rc.config文件开关服务;在这个领域中,YaST要比Kickstart出色得多。每个RC_CONFIG_0行都指定一个变量名和它的值。
所有的RC_CONFIG_0行将用来构造rc.config文件。参见2.5.3节了解有关rc.config的更多信息。
例如,要named在引导新安装系统的时候启动,可以把
RC_CONFIG_0 START_NAMED
yes
