kickstart 安装

第 9章 . kickstart 安装

9.1. kickstart 安装是什么?

许多系统管理员更倾向于使用自动化的安装方法来在他们的机器上安装红帽企业 Linux。为满足这种需要,Red Hat 开创了 kickstart 安装方法。使用 kickstart,系统管理员只需要创建一个包括对典型红帽企业 Linux 安装中所询问问题的所有回答的文件即可。

kickstart 文件可以被保留在单个服务器系统上,并可以被个体计算机在安装过程中读取。这种安装方法能够支持使用单个 kickstart 文件来在多台机器上安装红帽企业 Linux,从而成为网络和系统管理员的理想选择。

kickstart 让你自动化大部分红帽企业 Linux 的安装任务。

9.2. 如何执行 kickstart 安装

kickstart 安装可以使用本地光盘、本地硬盘驱动器、或通过 NFS、FTP、HTTP 来执行。

要使用 kickstart ,你必须:

  1. 创建一个 kickstart 文件。

  2. 创建一个带有 kickstart 文件的引导盘,或在网络上提供该文件。

  3. 筹备安装树。

  4. 开始 kickstart 安装。

本章详细解释了这些步骤。

9.3. 创建 kickstart 文件

kickstart 文件是一个简单的文本文件,包含一个项目列表,每个项目都用关键字标明。你可以通过编辑红帽企业 Linux 文档光盘中 RH-DOCS 目录里的 sample.ks 文件,或使用 Kickstart 配置器来创建它;或从头编写。红帽企业 Linux 安装程序还根据你在安装中的选择创建了一个 kickstart 文件的模板。它被写入文件 /root/anaconda-ks.cfg 中。你应该可以使用任何文本编辑器或能把文件保存为 ASCII 文本的文字处理器来编辑它。

首先,在你创建 kickstart 文件时留意下列问题:

  • 每节必须按顺序指定。除非特别申明,每节内的项目则不必按序排列。小节的顺序为:

    • 命令节 — 参阅第 9.4 节来获取 kickstart 选项的列表。你必须包括要求的选项。

    • %packages 节 — 详情请参阅第 9.5 节

    • %pre%post 节 — 这两节不必按顺序,也不是必需的。详情请参阅第 9.6 节第 9.7 节

  • 不必需的项目可以被省略。

  • 省略任何必需的项目会导致安装程序提示用户输入对这个项目的回答,就如同用户在典型的安装过程中被提示的一样。只有给予回答之后,安装才会继续自动进行(除非它又发现一个省略的项目)。

  • 以井号(“#”)开头的行被当作注释而忽略。

  • 对于 kickstart 升级,下列项目是必需的:

    • 语言

    • 语言支持

    • 安装方法

    • 设备的技术规范(若设备是执行安装所需的)

    • 键盘设置

    • upgrade 关键字

    • 引导装载程序配置

    若对升级指定了其它项目,那些项目将被忽略(注意,这包括软件包选择)。

9.4. kickstart 选项

下列选项可以被放置在 kickstart 文件中。如果你更喜欢使用图形化界面来创建 kickstart 文件,你可以使用 Kickstart 配置器应用程序。详情请参阅第10章

注记
 

如果某选项后面跟随了一个等号(=),它后面就必须指定一个值。在示例命令中,括号([])中的选项是命令的可选参数。

autopart(可选)

自动创建分区 — 大于等于1GB的根(/)分区,一个交换分区,和一个与体系相应的引导分区。默认分区的大小还可以使用 part 指令来重新定义。

autostep(可选)

interactive 相似,只不过它自动为你转到下一屏幕。它大多用于调试。

authauthconfig(必需)

为系统设置验证选项。它和 authconfig 命令相似,后者可以在安装后运行。按照默认设置,口令通常是加密的却并不是屏蔽的。

--enablemd5

每个用户口令都使用 md5 加密。

--enablenis

启用 NIS 支持。按照默认设置,--enablenis 使用它在网络上发现的任何域。几乎在所有情况下,域都应该使用 --nisdomain= 选项来手工设置。

--nisdomain=

用在 NIS 服务的 NIS 域名。

--nisserver=

用来提供 NIS 服务的服务器(默认通过广播)。

--useshadow--enableshadow

使用屏蔽口令。

--enableldap

启用 /etc/nsswitch.conf 中的 LDAP 支持,允许你的系统从 LDAP 目录中检索关于用户的信息(UID、主目录、shell 等等)。要使用该选项,你必须安装了 nss_ldap 软件包。你必须还得使用 --ldapserver=--ldapbasedn= 来指定服务器和基准 DN。

--enableldapauth

使用 LDAP 验证方法。它启用了 pam_ldap 模块和 LDAP 目录来验证及改变口令。要使用该选项,你必须安装了 nss_ldap 软件包。你必须还得使用 --ldapserver=--ldapbasedn= 来指定服务器和基准 DN。

--ldapserver=

如果你指定了 --enableldap--enableldapauth,则使用该选项来指定要使用的 LDAP 服务器的名称。该选项在 /etc/ldap.conf 文件中被设置。

--ldapbasedn=

如果你指定了 --enableldap--enableldapauth,则使用该选项来指定贮存用户信息的 LDAP 目录树中的 DN(识别名称)。它设置在 /etc/ldap.conf 文件中。

--enableldaptls

使用 TLS(传输层安全)查寻。该选项允许 LDAP 在验证前向 LDAP 服务器发送加密的用户名和口令。

--enablekrb5

使用 Kerberos 5 来验证用户。Kerberos 自身并不知道关于主目录、UID、或 shell 的信息。因此,如果你启用了 Kerberos,你将需要使该工作站了解这些用户帐号的信息,方法是使用 /usr/sbin/useradd 命令,或启用 LDAP、NIS、或 Hesiod。如果你要使用该选项,你必须装有 pam_krb5 软件包。

--krb5realm=

你的工作站所属的 Kerberos 5 领域。

--krb5kdc=

为领域请求提供服务的 KDC。如果你的领域内有多个 KDC,使用逗号(,)来分隔它们。

--krb5adminserver=

你的领域内还运行 kadmind 的 KDC。该服务器处理改变口令以及其它管理请求。如果你有不止一个 KDC,该服务器必须是主 KDC。

--enablehesiod

为查寻用户主目录、UID、和 shell 而启用 Hesiod 支持。关于如何在你的网络上设置和使用 Hesiod 的详情,请参阅 /usr/share/doc/glibc-2.x.x/README.hesiod 文件。它包括在 glibc 软件包中。Hesiod 是 DNS 的一个扩展,它使用 DNS 记录来贮存关于用户、组群以及其它项目的信息。

--hesiodlhs

Hesiod LHS(“左首,left-hand side”)选项,设置在 /etc/hesiod.conf 中。该选项被 Hesiod 库用来判定在查寻 DNS 信息时用来搜索的名称,与 LDAP 使用基准 DN 的意义相似。

--hesiodrhs

Hesiod RHS(“右首,right-hand side”)选项,设置在 /etc/hesiod.conf 文件中。该选项被 Hesiod 库用来判定在查寻 DNS 信息时用来搜索的名称,与 LDAP 使用基准 DN 的意义相似。

窍门
 

要查寻用户“jim”的信息,Hesiod 库查寻 jim.passwd<LHS><RHS>,它应该被解析成类似他的 passwd 项目的 TXT 记录(jim:*:501:501:Jungle Jim:/home/jim:/bin/bash)。组群的情况也是如此,只不过使用的是 jim.group<LHS><RHS>

要按号码来查寻用户和组群,指定“501.uid” 为“jim.passwd”的 CNAME,指定“501.gid”为“jim.group” 的 CNAME。注意,在库判定搜索名称时,LHS 和 RHS 的前面不放“点[.]”,因此 LHS 和 RHS 通常用点开头。

--enablesmbauth

使用 SMB 服务器(典型为 Samba 或 Windows 服务器)来验证用户。SMB 验证支持不知道关于主目录、UID、或 shell 的信息。因此,若你启用该选项,你将需要使该工作站了解这些用户帐号的信息,方法是使用 /usr/sbin/useradd 命令,或启用 LDAP、NIS、或 Hesiod。如果你要使用该选项,你必须装有 pam_smb 软件包。

--smbservers=

用来做 SMB 验证的服务器名称。要指定不止一个服务器,用逗号(,)来分隔它们。

--smbworkgroup=

SMB 服务器的工作组名称。

--enablecache

启用 nscd 服务。nscd 服务缓存关于用户、组群和各类其它信息。如果你选择要通过网络,使用 LDAP、NIS、或 hesiod 来传递关于用户和组群的信息,缓存就会特别有用。

bootloader(必需)

指定引导装载程序应该如何被安装,以及应该安装 LILO 还是 GRUB。安装和升级都需要这个选项。对升级而言,如果没有指定 --useLilo,而且 LILO 是当前的引导装载程序,引导装载程序就会被改为 GRUB。要在升级时保留 LILO,使用 bootloader --upgrade 选项。

--append=

指定内核参数。要指定多个参数,使用空格分隔它们。例如:

bootloader --location=mbr --append="hdd=ide-scsi ide=nodma"
--driveorder

指定在 BIOS 引导顺序中居首的驱动器。例如:

bootloader --driveorder=sda,hda
--location=

指定写入引导记录的位置。有效值如下:mbr(默认值);partition(在包含内核分区的第一个扇区上安装引导装载程序);或 none(不安装引导转载程序)。

--password=

如果使用 GRUB,使用这个选项来设置 GRUB 引导装载程序口令。它应该被用来限制对 GRUB shell 的使用,因为在那里你可以传递任意内核选项。

--md5pass=

若使用 GRUB,和 --password= 相似,只不过口令应该已经被加密。

--useLilo

使用 LILO 而非 GRUB 引导装载程序。

--linear

若使用 LILO,使用 linear LILO 选项;它的目的仅是后向兼容(现在默认使用 linear)。

--nolinear

若使用 LILO,使用 nolinear LILO 选项;linear 是默认。

--lba32

若使用 LILO,强制使用 lba32 模式而非自动检测。

--upgrade

升级现存的引导装载程序配置,保留其中原有的项目。该选项仅可用于升级。

clearpart(可选)

在创建新分区之前,从系统上删除分区。默认不会删除任何分区。

注记
 

如果使用了 clearpart 命令,那么 --onpart 命令就不能被用在逻辑分区上。

--all

删除系统上所有分区。

--drives=

指定要从中删除分区的驱动器。例如,以下命令删除主要 IDE 控制器上的前两个驱动器上的分区:

clearpart --drives hda,hdb
--initlabel

把磁盘卷标初始为你的体系的默认值(例如:x86 使用 msdos,Itanium 使用 gpt)。这个选项很有用,因为在安装了新硬盘驱动器后,安装程序就不会问你是否应初始磁盘卷标。

--linux

删除所有 Linux 分区。

--none(默认)

不要删除任何分区。

cmdline(可选)

在完全无互动性的命令行模式中执行安装。任何要求互动的提示都会在安装中暂停。这种模式在带有 x3270 控制台的 S/390 系统上有用。

device(可选)

在多数 PCI 系统上,安装程序会正确地自动探测到以太网卡和 SCSI 卡。然而,在较老的系统上和某些 PCI 系统上, kickstart 需要一点提示才能找到正确的设备。device 命令告诉安装程序来安装额外的模块,它的格式是:

device <type> <moduleName> --opts=<options>
<type>

使用 scsieth 来替换

<moduleName>

使用应该被安装的内核模块的名称来替换。

--opts=

传递给内核模块的选项。注意,如果把选项放在引号里,你可以传递多个选项。譬如:

--opts="aic152x=0x340 io=11"
driverdisk(可选)

驱动程序盘可以在 kickstart 安装中使用。你需要把驱动程序盘的内容复制到系统硬盘驱动器某分区的根目录中。然后,你需要使用 driverdisk 命令来告诉安装程序到哪里去寻找驱动程序盘。

driverdisk <partition> [--type=<fstype>]

另外,你也可以为驱动程序盘指定一个网络位置:

driverdisk --source=ftp://path/to/dd.img
driverdisk --source=http://path/to/dd.img
driverdisk --source=nfs:host:/path/to/img
<partition>

包含驱动程序盘的分区。

--type=

文件系统类型(如:vfat、ext2、ext3)。

firewall(可选)

防火墙选项可以在 kickstart 中配置。该配置和安装程序中的「防火墙配置」 屏幕相对应:

firewall --enabled|--disabled [--trust=] <device> [--port=]
--enabled

拒绝不是答复输出请求如 DNS 答复或 DHCP 请求的进入连接。如果需要使用在这个机器上运行的服务,你可以选择允许指定的服务穿过防火墙。

--disabled

不要配置任何 iptables 规则。

--trust=

在这里列出设备,如 eth0,会允许所有来自该设备的交通能穿过防火墙。要列出不止一个设备,使用 --trust eth0 --trust eth1。千万不要使用像 --trust eth0, eth1 这样用逗号分隔的格式。

<incoming>

使用以下服务中的一个或多个来替换,从而允许指定的服务穿过防火墙。

  • --ssh

  • --telnet

  • --smtp

  • --http

  • --ftp

--port=

你可以使用“端口:协议”的格式来指定允许穿过防火墙的端口。譬如,如果你想允许 IMAP 访问通过防火墙,你可以指定 imap:tcp。你还可以具体指定数字端口。譬如,要允许 UDP 分组在端口 1234 上通过,指定 1234:udp。要指定多个端口,用逗号分隔它们。

firstboot(可选)

决定设置代理是否在系统首次引导时被启动。若启用了,firstboot 软件包必须被安装。若没有指定,该选项就会被默认禁用。

--enable

设置代理在系统首次引导时被启动。

--disable

设置代理在系统首次引导时不被启动。

--reconfig

使设置代理在重新配置模式中能够在引导时被启动。这种模式除了默认的配置外,还启用了语言、鼠标、键盘、根口令、安全级别、时区、以及网络配置选项。

install(可选)

告诉系统重新安装而不是升级现有系统。这是默认模式。对安装而言,你必须从 cdromharddrivenfs、或 url(用于 ftp 或 http 安装)中指定一个安装类型。install 命令和安装方法命令必须在分开的行上。

cdrom

从系统上的第一个光盘驱动器中安装。

harddrive

从本地驱动器的红帽安装树中安装,它必须是 vfat 或 ext2。

  • --partition=

    要从中安装的分区(如 sdb2)。

  • --dir=

    包含安装树的 RedHat 目录的目录。

例如:

harddrive --partition=hdb2 --dir=/tmp/install-tree
nfs

从指定的 NFS 服务器安装。

  • --server=

    要从中安装的服务器(主机名或 IP)。

  • --dir=

    包含安装树的 RedHat 目录的目录。

例如:

nfs --server=nfsserver.example.com --dir=/tmp/install-tree
url

通过 FTP 或 HTTP 从远程服务器上的安装树中安装。

例如:

url --url http://<server>/<dir>

或:

url --url ftp://<username>:<password>@<server>/<dir>
interactive(可选)

在安装中使用 kickstart 文件中提供的信息,但是允许查看和修改给定值。你会看到安装程序中的每个屏幕,其中预填了 kickstart 文件中选定的值,你可以点击「下一步」来接受这些值,也可以改变这些值再点击「下一步」来继续。请参阅 autostep

keyboard(必需)

设置系统键盘类型。这里是 i386、Itanium、和 Alpha 机器上可用键盘的列表:

be-latin1, bg, br-abnt2, cf, cz-lat2, cz-us-qwertz, de,
de-latin1, de-latin1-nodeadkeys, dk, dk-latin1, dvorak, es, et,
fi, fi-latin1, fr, fr-latin0, fr-latin1, fr-pc, fr_CH, fr_CH-latin1,
gr, hu, hu101, is-latin1, it, it-ibm, it2, jp106, la-latin1, mk-utf,
no, no-latin1, pl, pt-latin1, ro_win, ru, ru-cp1251, ru-ms, ru1, ru2, 
ru_win, se-latin1, sg, sg-latin1, sk-qwerty, slovene, speakup, 
speakup-lt, sv-latin1, sg, sg-latin1, sk-querty, slovene, trq, ua, 
uk, us, us-acentos

文件 /usr/lib/python2.2/site-packages/rhpl/keyboard_models.py 中也包含了这个列表,它是 rhpl 软件包的一部分。

lang(必需)

设置安装中使用的语言。譬如,要把语言设为英语,kickstart 文件应该包括下面一行:

lang en_US

文件 /usr/share/redhat-config-language/locale-list 的每一行的第一列提供了有效的语言代号的列表,它是 redhat-config-languages 软件包的一部分。

langsupport(必需)

设置要在系统上安装的语言。它使用的语言代号和 lang 一样。

如果你只想安装一种语言,请指定它。譬如,要安装和使用法语 fr_FR

langsupport fr_FR
--default=

如果你想安装不止一种语言支持,你必须指定默认语言。

譬如,要安装英语和法语,并使用英语为默认语言:

langsupport --default=en_US fr_FR

如果你使用 --default,后面仅跟一种语言,那么,所有语言将会被安装,指定的语言为默认。

logvol(必需)

使用以下语法来为逻辑卷管理(LVM)创建逻辑卷:

logvol <mntpoint> --vgname=<name> --size=<size> --name=<name> <options>

这些选项如下所示:

--noformat

使用一个现存的逻辑卷,不进行格式化。

--useexisting

使用一个现存的逻辑卷,重新格式化它。

首先创建分区,然后创建逻辑卷组,再创建逻辑卷。例如:

part pv.01 --size 3000
volgroup myvg pv.01
logvol / --vgname=myvg --size=2000 --name=rootvol
mouse(必需)

为系统的 GUI 和文本模式配置鼠标。选项有:

--device=

鼠标所在的设备(如 --device=ttyS0)。

--emulthree

若存在,同时点击鼠标的左右两键就会被 X 窗口系统当做点击了鼠标的中间按钮。如果你有一个两键鼠标,应使用该选项。

在选项之后,鼠标类型可使用以下类型之一:

alpsps/2, ascii, asciips/2, atibm, generic, generic3, genericps/2, 
generic3ps/2, genericwheelps/2, genericusb, generic3usb, genericwheelusb, 
geniusnm, geniusnmps/2, geniusprops/2, geniusscrollps/2, geniusscrollps/2+, 
thinking, thinkingps/2, logitech, logitechcc, logibm, logimman, 
logimmanps/2, logimman+, logimman+ps/2, logimmusb, microsoft, msnew, 
msintelli, msintellips/2, msintelliusb, msbm, mousesystems, mmseries, 
mmhittab, sun, none

这个列表可以在 /usr/lib/python2.2/site-packages/rhpl/mouse.py 文件中找到。该文件是 rhpl 软件包的一部分。

如果给出的鼠标命令没有附带任何参数,或这个命令被省略,安装程序就会试图自动检查鼠标。该进程可用于多数现代鼠标。

network(可选)

为系统配置网络信息。如果 kickstart 安装不需要联网(换一句话说,它不是通过 NFS、HTTP、或 FTP 安装的),系统的联网就不会被配置。如果安装确实需要联网,但网络信息在 kickstart 文件中没有被提供,安装程序会假定安装应该通过 eth0 和动态 IP 地址(BOOTP/DHCP)来进行,并把最终的安装了的系统配置成动态地判定 IP 地址。network 选项为 kickstart 安装和已安装系统通过网络配置联网信息。

--bootproto=

dhcpbootp、或 static 中的一个。

它默认为 dhcpbootpdhcp 被同等对待。

DHCP 方法使用 DHCP 服务器系统来获取它的联网配置。你可以会猜到,BOOTP 方法和它很相似,要求 BOOTP 服务器来提供网络配置。要指示系统使用 DHCP:

network --bootproto=dhcp

要指示某机器使用 BOOTP 来获取它的联网配置,在 kickstart 文件中使用以下行:

network --bootproto=bootp

静态方法要求你在 kickstart 文件中输入所有必需的联网信息。如它的名称所暗示,这些信息是静态的,将会在安装中和安装后使用。 用于静态联网的这一行比较复杂,因为你必须把所有网络配置信息在一行内包括。你必须指定 IP 地址、子网掩码、网关和名称服务器。例如(“\”表明它们需在一行内输入):

network --bootproto=static --ip=10.0.2.15 --netmask=255.255.255.0 \
--gateway=10.0.2.254 --nameserver=10.0.2.1

如果你使用静态方法,请注意以下两个限制:

  • 所有静态联网配置信息都必须在行上指定;你不能使用反斜线来换行。

  • 你只能在此指定一个名称服务器。不过,若需要,你可以使用 kickstart file 的 %post 节(在第 9.7 节中被描述)来添加更多名称服务器。

--device=

用来选择用于安装的指定以太网设备。注意,除非 kickstart 文件是本地文件(如 ks=floppy),使用 --device= 将不会有效,因为安装程序将会配置网络来寻找 kickstart 文件。例如:

network --bootproto=dhcp --device=eth0
--ip=

要安装的机器的 IP 地址。

--gateway=

IP 地址格式的默认网关。

--nameserver=

主名称服务器,IP 地址格式。

--nodns

不要配置任何 DNS 服务器。

--netmask=

安装的系统的子网掩码。

--hostname=

安装的系统的主机名。

partpartition(安装中必需,升级中忽略)

在系统上创建分区。

如果系统上的不同分区上存在不止一个红帽企业 Linux 安装,安装程序会询问用户应该升级哪个安装。

警告
 

除非使用了 --noformat--onpart,所有创建的分区都会被格式化,这是安装过程的一部分。

<mntpoint>

<mntpoint> 是分区将要挂载的位置,必须使用以下格式之一:

  • /<path>

    例如://usr/home

  • swap

    该分区将被用作交换空间。

    要自动决定交换区的大小,使用 --recommended 选项:

    swap --recommended

    自动生成的交换区的最小值将不会小于系统的内存,不会大于系统内存的两倍。

  • raid.<id>

    该分区将会被用作软件 RAID(请参见 raid)。

  • pv.<id>

    将会用于 LVM 的分区(请参见 logvol)。

--size=

以 MB 为单位的分区最小值。在此处指定一个整数值,如500。不要在数字后面加 MB。

--grow

告诉分区使用所有可用空间(若有),或使用设置的最大值。

--maxsize=

当分区被设置为可扩充时,以 MB 为单位的分区最大值。在这里指定一个整数值,不要在数字后加 MB。

--noformat

告诉安装程序不要格式化分区,和 --onpart 命令一起使用。

--onpart=--usepart=

把分区放在已存在的设备上。例如:

partition /home --onpart=hda1

会把 /home 放在 /dev/hda1 上,而这个分区必须已经存在。

--ondisk=--ondrive=

强制分区在特定磁盘上创建。譬如,--ondisk sdb 会把分区放在系统的第二个 SCSI 磁盘上。

--asprimary

把分区强行自动指派为主分区,否则分区过程就会失败。

--type=(被 fstype 替换)

该选项已不再可用。请使用 fstype

--fstype=

为分区设置文件系统类型。合法值有:ext2ext3swap、和 vfat

--start=

指定分区的起始柱面。它要求使用 --ondiskondrive 来指定驱动器。它还要求使用 --end 来指定终结柱面,或使用 --size 来指定分区大小。

--end=

指定分区的终结柱面。它要求使用 --start 来指定分区的起始柱面。

注记
 

如果由于某种原因,分区失败了,诊断迅息会显示在第三号虚拟控制台上。

raid(可选)

组成软件 RAID 设备。该命令的格式是:

raid <mntpoint> --level=<level> --device=<mddevice> <partitions*>
<mntpoint>

挂载 RAID 文件系统的位置。如果它是 /,RAID 级别必须是1,除非引导分区(/boot)存在。如果引导分区存在,/boot 分区必须是级别1,根(/)分区可以是任何可用的类型。<partitions*>(代表多个分区可以被列举)列举了要添加到 RAID 阵列的 RAID 标记。

--level=

要使用的 RAID 级别(0、1、或5)。

--device=

要使用的 RAID 设备的名称(如 md0 或 md1)。RAID 设备的范围从 md0 直到 md7,每个设备只能被使用一次。

--spares=

指定 RAID 阵列应该被指派 N 个备用驱动器。备用驱动器可以被用来在驱动器失败时重建阵列。

--fstype=

为 RAID 阵列设置文件系统类型。合法值有:ext2、ext3、swap、和 vfat。

--noformat

使用现存的 RAID 设备,不要格式化 RAID 阵列。

--useexisting

使用现存的 RAID 设备,重新格式化它。

下面的例子显示了如何为 / 创建 RAID 级别1分区,为 /usr 创建 RAID 级别5分区,假定你的系统上有三个 SCSI 磁盘。它还创建三个交换分区,每个驱动器上一个。

part raid.01 --size=60 --ondisk=sda
part raid.02 --size=60 --ondisk=sdb
part raid.03 --size=60 --ondisk=sdc
part swap --size=128 --ondisk=sda 
part swap --size=128 --ondisk=sdb 
part swap --size=128 --ondisk=sdc
part raid.11 --size=1 --grow --ondisk=sda 
part raid.12 --size=1 --grow --ondisk=sdb 
part raid.13 --size=1 --grow --ondisk=sdc
raid / --level=1 --device=md0 raid.01 raid.02 raid.03 
raid /usr --level=5 --device=md1 raid.11 raid.12 raid.13
reboot(可选)

安装完成后重新引导系统(无参数)。通常,kickstart 显示一条消息,并等待用户按任意键后才重新引导。

rootpw(必需)

把系统的根口令设置为 <password> 参数。

rootpw [--iscrypted] <password>
--iscrypted

如果该选项存在,口令就会假定已被加密。

skipx(可选)

如果存在,安装的系统上就不会配置 X。

text(可选)

在文本模式下执行 kickstart 安装。 kickstart 安装默认在图形模式下安装。

timezone(必需)

把系统的时区设置为 <timezone>,它可以是 timeconfig 列举的任何时区。

timezone [--utc] <timezone>
--utc

如果存在,系统就会假定硬件时钟被设置为 UTC(格林威治标准)时间。

upgrade(可选)

告诉系统升级现存系统,而不是安装一个新系统。你必须从 cdrom、harddrive、nfs、或 url(用于 ftp 和 http)中指定安装树的位置。详情请参见 install

xconfig(可选)

配置 X 窗口系统。如果该选项没有给出,而 X 被安装了,用户将需要在安装过程中手工配置 X;如果你的最终系统上没有安装 X,则不应该使用该选项。

--noprobe

不要探测显示器。

--card=

使用指定的视频卡;该卡的名称应该来自 hwdata 软件包的 /usr/share/hwdata/Cards 中的视频卡列表。这个列表还可以在 Kickstart 配置器X 配置器屏幕上找到。如果参数没有提供,安装程序会探测该卡的 PCI 总线。由于 AGP 是 PCI 总线的一部分,若支持,AGP 卡就会被探测到。探测顺序由母板的 PCI 扫描顺序决定。

--videoram=

指定视频卡的视频内存数量。

--monitor=

使用指定显示器;显示器的名称应该来自 hwdata/usr/share/hwdata/MonitorsDB 中的显示器列表。这个列表还可以在 Kickstart 配置器X 配置器屏幕上找到。如果提供了 --hsync--vsync,该选项会被忽略。如果没有提供显示器信息,安装程序会试图自动探测它。

--hsync=

指定显示器的水平频率。

--vsync=

指定显示器的垂直频率。

--defaultdesktop=

把默认桌面设置成 GNOME 或 KDE(假定 GNOME 和/或 KDE 通过 %packages 被安装了)。

--startxonboot

在安装的系统上使用图形化登录。

--resolution=

指定安装的系统上 X 窗口系统的默认分辨率。有效值有:640x480、800x600、1024x768、1152x864、1280x1024、1400x1050、1600x1200。请确定指定与视频卡和显示器兼容的分辨率。

--depth=

指定安装的系统上的 X 窗口系统的默认色彩深度。有效值有:8、16、24、和 32。请确定指定与视频卡和显示器兼容的色彩深度。

volgroup(可选)

用来创建逻辑卷管理(LVM)组,其语法格式为:

volgroup <name> <partition> <options>

这些选项如下所示:

--noformat

使用一个现存的卷组,不要格式化它。

--useexisting

使用一个现存的卷组,重新格式化它。

首先创建分区,然后创建逻辑卷组,再创建逻辑卷。例如:

part pv.01 --size 3000
volgroup myvg pv.01
logvol / --vgname=myvg --size=2000 --name=rootvol
zerombr(可选)

如果 zerombr 被指定,它唯一的参数是 yes,所有在磁盘上发现的无效分区表就会被初始化。这会破坏带有无效分区表的磁盘上的所有数据。该命令的格式如下:

zerombr yes

其它格式均无效。

%include

使用 %include /path/to/file 命令来在 kickstart 文件中包括另一个文件的内容,就好像这些内容本来就在 kickstart 文件里 %include 所在的位置中一样。

9.5. 软件包选择

使用 %packages 命令来开始 kickstart 文件中列举要安装的软件包的部分(只限于安装,因为升级中不支持软件包选择)。

你可以使用单个软件包名称或软件包组的名称来指定它们。安装程序定义了许多包含相关软件包的软件包组。请参见第一张红帽企业 Linux 光盘上的 RedHat/base/comps.xml 文件来获取软件包组的列表。每组都有 id、用户可见性值、名称、描述、以及其中包含的软件包列表。在软件包列表中,若该组被选定要安装,被标为必需的软件包总是被安装。被标为默认的软件包会被默认选择,而标为可选的软件包必须被具体指定才能被安装,即便该组已经选定要被安装。

在多数情况下,你只需列举想要的软件包组,而不必一一列举单个软件包。注意,CoreBase 软件包组总是被默认选择,因此你不必在 %packages 部分中指定它们。

以下是 %packages 部分的示例:

%packages
@ X Window System
@ GNOME Desktop Environment
@ Graphical Internet
@ Sound and Video
dhcp

如上所示,组群被一行行地指定,以 @ 符号起首,然后是空格,然后是如 comps.xml 文件中指定的组群的全名。不加附带的起首符号会指定单个软件包(如以上例子中的 dhcp 行指定的是单个软件包)。

你还可以从默认的软件包列表中指定要不安装的软件包:

-autofs

%packages 的可用选项如下:

--resolvedeps

安装列举的软件包,并自动解决软件包依赖关系。如果该选项没有被指定,而软件包依赖关系却存在,自动安装就会暂停并提示用户。例如:

%packages --resolvedeps
--ignoredeps

忽略未解决的依赖关系,并安装所列举的没有依赖关系的软件包。例如:

%packages --ignoredeps
--ignoremissing

忽略缺少的软件包或软件包组,而不是暂停安装来向用户询问是中止还是继续安装。例如:

%packages --ignoremissing

9.6. 预安装脚本

你可以添加系统要在解析 ks.cfg 文件之后立即运行的命令。这一节必须位于 kickstart 文件的结尾处(在命令之后),而且必须以 %pre 命令开头。注意,你在 %pre 部分可以进入网络;然而,名称服务(name service)在此时还没有被配置,因此只有使用 IP 地址才能奏效。

注记
 

注意,预安装脚本不在改换了的根环境(chroot)中运行。

--interpreter /usr/bin/python

允许你指定不同的脚本语言,如 Python。把 /usr/bin/python 替换成你想使用的脚本语言。

9.6.1. 范例

以下是 %pre 节的示例:

%pre

#!/bin/sh

hds=""
mymedia=""

for file in /proc/ide/h*
do
  mymedia=`cat $file/media`
  if [ $mymedia == "disk" ] ; then
      hds="$hds `basename $file`"
  fi
done

set $hds
numhd=`echo $#`

drive1=`echo $hds | cut -d' ' -f1`
drive2=`echo $hds | cut -d' ' -f2`

#Write out partition scheme based on whether there are 1 or 2 hard drives

if [ $numhd == "2" ] ; then
  #2 drives
  echo "#partitioning scheme generated in %pre for 2 drives" > /tmp/part-include
  echo "clearpart --all" >> /tmp/part-include
  echo "part /boot --fstype ext3 --size 75 --ondisk hda" >> /tmp/part-include
  echo "part / --fstype ext3 --size 1 --grow --ondisk hda" >> /tmp/part-include
  echo "part swap --recommended --ondisk $drive1" >> /tmp/part-include
  echo "part /home --fstype ext3 --size 1 --grow --ondisk hdb" >> /tmp/part-include
else
  #1 drive
  echo "#partitioning scheme generated in %pre for 1 drive" > /tmp/part-include
  echo "clearpart --all" >> /tmp/part-include
  echo "part /boot --fstype ext3 --size 75" >> /tmp/part-includ
  echo "part swap --recommended" >> /tmp/part-include
  echo "part / --fstype ext3 --size 2048" >> /tmp/part-include
  echo "part /home --fstype ext3 --size 2048 --grow" >> /tmp/part-include
fi

该脚本判定系统上的硬盘驱动器的数量,并根据系统上有一个还是两个驱动器而编写带有不同分区方案的文本文件。与其在 kickstart 文件中有一组分区命令,你可以包括以下行:

%include /tmp/part-include	

在脚本中选择的分区命令会被使用。



9.7. 安装后脚本

你可以添加系统在安装完成后要运行的命令。这一节必须位于 kickstart 文件的结尾处,而且必须以 %post 命令开头。它对于安装额外软件包或配置额外名称服务器等任务很有帮助。

注记
 

如果你使用静态 IP 信息配置了网络,包括名称服务器,你可以在 %post 部分中进入网络并解析 IP 地址。如果你使用 DHCP 配置网络,当安装执行到 %post 部分时,/etc/resolv.conf 文件还没有完成。你可以进入网络,但是你不能解析 IP 地址。因此,如果你使用 DHCP,你必须在 %post 这一节中指定 IP 地址。

注记
 

安装后脚本在 chroot 环境中运行;因此,像复制安装介质中的脚本或 RPM 之类的任务将不能被执行。

--nochroot

允许你指定你想在 chroot 环境之外运行的命令。

下面的例子把 /etc/resolv.conf 文件复制到刚刚安装了的文件系统上。

%post --nochroot
cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf
--interpreter /usr/bin/python

允许你指定不同的脚本语言,如 Python。把 /usr/bin/python 替换成你想使用的脚本语言。

9.7.1. 范例

要启动和关闭服务:

/sbin/chkconfig --level 345 telnet off
/sbin/chkconfig --level 345 finger off
/sbin/chkconfig --level 345 lpd off
/sbin/chkconfig --level 345 httpd on

要从 NFS 共享中运行叫做 runme 的脚本:

mkdir /mnt/temp
mount 10.10.0.2:/usr/new-machines /mnt/temp
open -s -w -- /mnt/temp/runme
umount /mnt/temp

给系统添加用户:

/usr/sbin/useradd bob
/usr/bin/chfn -f "Bob Smith" bob
/usr/sbin/usermod -p 'kjdf$04930FTH/ ' bob


9.8. 如何使 kickstart 文件可被利用

kickstart 文件必须位于以下几个位置之一:

  • 在引导盘上

  • 在引导光盘上

  • 在网络上

通常,kickstart 文件被复制到引导盘上,或在网络上提供。基于网络的方法使用最普遍,因为多数 kickstart 安装是在联网的计算机上执行的。

让我们更深入地看一看存放 kickstart 文件的位置。

9.8.1. 创建 Kickstart 引导盘

要执行基于软盘的 kickstart 安装,kickstart 文件必须被命名为 ks.cfg,且必须位于引导盘的最上级目录里。关于创建引导盘的说明请参阅 《红帽企业 Linux 安装指南》中的“制作安装引导盘”这一章。因为引导盘使用 MS-DOS 格式,因此你可以使用 mcopy 命令来在 Linux 中复制 kickstart 文件:

mcopy ks.cfg a:

另外,你也可以使用 Windows 来复制该文件。你还可以使用文件系统类型 vfat 来在红帽企业 Linux 挂载 MS-DOS 引导盘,然后使用 cp 命令来复制该文件。

9.8.2. 创建 kickstart 引导光盘

要执行基于光盘的 kickstart 安装,kickstart 文件必须被命名为 ks.cfg,而且必须位于引导光盘的最上级目录中。因为光盘是只读的,这个文件必须被添加到被写入光盘的、用来创建映像的目录中。关于创建引导光盘的说明,请参阅《红帽企业 Linux 安装指南》中的“制作安装引导光盘”这一章节。不过,在制作 file.iso 映像文件之前,请把 ks.cfg kickstart 文件复制到 isolinux/ 目录中。

9.8.3. 在网络上提供 Kickstart 文件

使用 kickstart 的网络安装比较普遍,因为系统管理员可以快速轻松地自动化许多联网计算机的安装。一般说来,这种方法对于在局域网上具有 BOOTP/DHCP 和 NFS 服务器的管理员来说,使用最普遍。BOOTP/DHCP 服务器用来给客户提供联网信息,在安装中使用的文件则由 NFS 服务器提供。这两项服务经常在同一部机器上运行,但是这并不是必需的。

要执行基于网络的 kickstart 安装,你的网络上必须有一个 BOOTP/DHCP 服务器,而且它必须包括关于你要在其上安装红帽企业 Linux 机器的配置信息。BOOTP/DHCP 服务器会给客户提供它的联网信息以及 kickstart 文件的位置。

如果 kickstart 文件被 BOOTP/DHCP 服务器指定,客户系统就会试图使用 NFS 来挂载该文件的路径,并把指定文件复制到客户上,把它用作 kickstart 文件。所需的确切设置要依你使用的 BOOTP/DHCP 服务器而定。

下面是从用于 DHCP 服务器的 dhcpd.conf 文件中所摘录的一行:

filename "/usr/new-machine/kickstart/";
next-server blarg.redhat.com;

注意,你应该把 filename 后面的值替换为 kickstart 文件的名称(或 kickstart 文件所在的目录),把 next-server 后面的值替换成 NFS 服务器的名称。

如果 BOOTP/DHCP 服务器返回的文件以斜线(“/”)结束,它就会被当做路径。在这种情况下,客户系统会使用 NFS 来挂载该路径,然后搜索某一指定文件。客户搜索的文件名是:

<ip-addr>-kickstart

文件名的 <ip-addr> 部分应该被点式的客户 IP 地址替换。譬如,IP 地址为 10.10.0.1 的计算机的文件名应为 10.10.0.1-kickstart

注意,如果你不指定服务器名称,客户系统就会试图使用回答 BOOTP/DHCP 请求的服务器来作为它的 NFS 服务器。如果你不指定路径或文件名,客户系统会试图从 BOOTP/DHCP 服务器挂载 /kickstart,然后使用和前面描述的 <ip-addr>-kickstart 文件名相同的方法来搜索 kickstart 文件。


9.9. 提供安装树

kickstart 安装需要使用安装树(installation tree)。安装树是二进制红帽企业 Linux 光盘的复制,它具备与光盘相同的目录结构。

如果你执行的是基于光盘的安装,在开始 kickstart 安装前把红帽企业 Linux 光盘 #1 插入计算机。

如果你执行的是硬盘驱动器安装,请确定二进制红帽企业 Linux 光盘的映像位于计算机的硬盘驱动器上。

如果你执行的是基于网络(NFS、FTP、或 HTTP)的安装,你必须通过网络来提供安装树。详情请参阅 《红帽企业 Linux 安装指南》中的“筹备网络安装”这一章。


9.10. 开始 kickstart 安装

要开始 kickstart 安装,你必须从红帽企业 Linux 引导软盘、红帽企业 Linux 引导光盘、或红帽企业 Linux 的第一张安装光盘中安装,在引导提示下输入一个特殊的引导命令。如果 ks 命令行参数被传递给内核,安装程序就会寻找 kickstart 文件。

引导盘

如果 kickstart 文件位于引导软盘上,如第 9.8.1 节中所描述,使用驱动器中的软盘来引导,然后在 boot: 下输入以下命令:

linux ks=floppy
第一张光盘和软盘

如果 ks.cfg 文件位于软盘上的 vfat 或 ext2 文件系统上,而你要从红帽企业 Linux 的第一张安装光盘中引导,你也可以使用 linux ks=floppy 命令。

另一种可行的引导命令是从红帽企业 Linux 的第一张光盘中引导,并把 kickstart 文件放在软盘的 vfat 或 ext2 文件系统上。要达到这个目的,在 boot: 提示下输入以下命令:

linux ks=hd:fd0:/ks.cfg
使用驱动程序盘

如果 kickstart 需要使用驱动程序盘,你还需要指定 dd 选项。例如,要从引导盘中引导,并使用驱动程序盘,在 boot: 提示下输入以下命令:

linux ks=floppy dd
引导光盘

如果 kickstart 文件位于引导光盘上,如第 9.8.2 节中所描述,把光盘插入系统,引导系统,然后在 boot: 提示下输入以下命令(ks.cfg 是 kickstart 文件的名称):

linux ks=cdrom:/ks.cfg

其它启动 kickstart 安装的方法如下列举:

ks=nfs:<server>:/<path>

安装程序会在 NFS 服务器 <server> 上的 <path> 中寻找 kickstart 文件。安装程序会使用 DHCP 来配置以太网卡。譬如,如果你的 NFS 服务器是 server.example.com,kickstart 文件位于 NFS 共享 /mydir/ks.cfg 上,正确的引导命令应该是:ks=nfs:server.example.com:/mydir/ks.cfg

ks=http://<server>/<path>

安装程序会在 HTTP 服务器 <server> 上的 <path> 中寻找 kickstart 文件。安装程序会使用 DHCP 来配置以太网卡。譬如,如果你的 HTTP 服务器是 server.example.com,kickstart 文件位于 HTTP 目录 /mydir/ks.cfg 中,正确的引导命令应该是:ks=http://server.example.com/mydir/ks.cfg

ks=floppy

安装程序会在 /dev/fd0 驱动器中的软盘上的 vfat 或 ext2 文件系统中寻找 ks.cfg 文件。

ks=floppy:/<path>

安装程序会在 /dev/fd0 驱动器中的软盘上的 vfat 或 ext2 文件系统中寻找名称为 <path> 的 kickstart 文件。

ks=hd:<device>:/<file>

安装程序会在 <device> 上挂载文件系统(必须是 vfat 或 ext2),然后在该文件系统中寻找 kickstart 配置文件 <file>(譬如,ks=hd:sda3/mydir/ks.cfg)。

ks=file:/<file>

安装程序会试图从文件系统中读取 <file> 文件;不必执行挂载。这通常在 kickstart 文件已经位于 initrd 映像时使用。

ks=cdrom:/<path>

安装程序会在光盘中寻找 kickstart 文件 <path>

ks

如果 ks 被单独使用,安装程序会配置系统的以太网卡使用 DHCP。kickstart 文件就会从 DHCP 回应的“bootServer”中读取,就如同它是共享 kickstart 文件的 NFS 服务器一样。(按照默认设置,bootServer 与 DHCP 服务器相同)。kickstart 文件的名称可以是下面一种:

  • 如果 DHCP 被指定,bootfile 以 / 开头,由 DHCP 提供的 bootfile 就会在 NFS 服务器上被查找。

  • 如果 DHCP 被指定,bootfile 不以 / 开头,由 DHCP 提供的 bootfile 就会在 NFS 服务器上的 /kickstart 目录中被查找。

  • 如果 DHCP 没有指定 bootfile,安装程序就会试图读取文件 /kickstart/1.2.3.4-kickstart,这里的 1.2.3.4 是要安装的机器的 IP 地址。

ksdevice=<device>

安装程序会使用该网络设备来连接到网络。譬如,要使用通过 eth1 设备连接到系统上的 NFS 服务器上的 kickstart 文件来启动 kickstart 安装,在 boot: 提示下使用 ks=nfs:<server:>/<path> ksdevice=eth1 命令。

第 10章 . Kickstart 配置器

Kickstart 配置器允许你使用图形化用户界面来创建 kickstart 文件,因此你不必记住文件的正确语法。

要使用 Kickstart 配置器,你必须运行 X 窗口系统。要启动 Kickstart 配置器,选择面板上的「主菜单」 => 「系统工具」 => 「Kickstart」,或键入 /usr/sbin/redhat-config-kickstart 命令。

在你创建 kickstart 文件的时候,你可以随时选择「文件」 => 「预览」来评审你当前的选择。

要从某个现存的 kickstart 文件着手,选择「文件」 => 「打开」,然后选择这个现存文件。

10.1. 基本配置

图 10-1. 基本配置

「默认语言」菜单中选择要在安装中使用,并在安装后用做默认的语言。

「键盘」菜单中选择系统的键盘类型。

「鼠标」菜单中选择系统的鼠标类型。如果你选择了「无鼠标」,鼠标就不会被配置。如果你选择了「探测鼠标」,安装程序就会试图自动探测鼠标。多数现代鼠标都可以被探测到。

如果你有一个两键鼠标,你可以选择「模拟三键」来模拟三键鼠标。如果该选项被选,同时点击鼠标的左右两键就会被认为是点击了鼠标的中间按钮。

「时区」菜单中,选择系统使用的时区。要配置系统使用 UTC,选择「使用 UTC 时钟」

「根口令」文本字段内输入想用的根口令。在「确认口令」文本字段中键入相同的口令。第二个字段用来确定你没有键错口令。如果你想在文件中保存口令时加密,选择「给根口令加密」。如果加密选项被选,当文件被保存时,你键入的普通文本就会被加密后写入 kickstart 文件中。不要键入已经加密的口令然后又选择要给它加密。因为 kickstart 文件是一个纯文本文件,它可以被轻易地读取,建议你使用加密口令。

除了在「默认语言」拉下菜单中选择的语言之外,要安装其它附加语言,在「语言支持」列表中选择它们。从「默认语言」拉下菜单中选择的语言在安装后被用作默认语言。不过,默认语言可以在安装后使用语言配置工具redhat-config-language)来改变。

选择「安装后重新引导系统」会在安装结束后自动重新引导系统。

kickstart 安装默认使用图形化模式执行。要超越默认值而使用文本模式,选择「在文本模式中执行安装」选项。

你可以使用互动模式执行 kickstart 安装。这意味着安装程序会使用所有在 kickstart 文件中预设的选项,但是它允许你在继续到下一个屏幕前预览选项。要继续到下一个屏幕上,在你同意设置后点击「下一步」按钮。如果你对预设的选项不满意,你可以在继续安装前改变它们。如果你更喜欢这类安装,选择「在互动模式中执行安装」按钮。


10.2. 安装方法

图 10-2. 安装方法

「安装方法」屏幕允许你选择执行新安装或升级安装。如果你选择升级,「分区信息」「软件包选择」选项就会被禁用。它们不被 kickstart 升级所支持。

你还需选择 kickstart 安装或升级类型。可选的类型如下:

  • 「光盘驱动器」 — 选择这个选项来从红帽企业 Linux 光盘中安装。

  • 「NFS」 — 如果你打算从 NFS 共享目录中安装,选择该选项。两个要求你输入 NFS 服务器和目录的文本字段箱会出现。输入 NFS 服务器的完整域名或 IP 地址;以及包含安装树的 RedHat 目录。譬如,如果你的 NFS 服务器包含 /mirrors/redhat/i386/RedHat,在要求 NFS 目录的字段内输入 /mirrors/redhat/i386

  • 「FTP」 — 如果你打算从 FTP 服务器安装,选择该选项。两个要求你输入 FTP 服务器和目录的文本字段箱会出现。输入 FTP 服务器的完整域名或 IP 地址;以及包含 RedHat 目录的 FTP 目录名。譬如,如果你的 FTP 服务器包含 /mirrors/redhat/i386/RedHat,在要求 FTP 目录的字段内输入 /mirrors/redhat/i386。如果 FTP 服务器要求用户名和口令,也请指定它们。

  • 「HTTP」 — 如果你打算从 HTTP 服务器安装或升级,选择该选项。两个要求你输入 HTTP 服务器和目录的文本字段箱会出现。输入 HTTP 服务器的完整域名或 IP 地址;以及包含 RedHat 目录的 HTTP 目录名。譬如,如果你的 HTTP 服务器包含 /mirrors/redhat/i386/RedHat,在要求 HTTP 目录的字段内输入 /mirrors/redhat/i386

  • 「硬盘驱动器」 — 如果你打算从硬盘驱动器安装或升级,选择该选项。两个要求你输入硬盘驱动器分区和目录的文本字段箱会出现。硬盘驱动器安装需要使用 ISO(或光盘)映像。请在安装前确定先校验 ISO 映像的完好性。要校验它们,使用 md5sum 程序和《红帽企业 Linux 安装指南》中讨论的 linux mediacheck 引导选项。在「硬盘驱动器分区」文本箱内输入包含 ISO 映像的硬盘分区(如 /dev/hda1),然后在「硬盘驱动器目录」文本箱内输入包含 ISO 映像的目录。


10.3. 引导装载程序选项

图 10-3. 引导装载程序选项

你可以选择安装 GRUB 或 LILO 作为引导装载程序。如果你不想安装引导装载程序,选择「不安装引导装载程序」。如果你选择要不安装引导装载程序,请确定你创建了引导盘或有其它引导系统的方法(如第三方引导装载程序)。

如果你选择要安装引导装载程序,你必须还得选择要安装哪一个(GRUB 或 LILO)以及安装在哪里(主引导记录或 /boot 分区的第一个扇区)。如果你打算把它用作引导装载程序,把它安装到 MBR 上,如果你用的是不同的引导装载程序,把 LILO 或 GRUB 装在 /boot 分区的第一个扇区上,并配置其它引导装载程序来引导红帽企业 Linux。

要在系统引导时向内核传递特殊参数,把它们输入到「内核参数」文本字段内。譬如,如果你有一个 IDE 光盘刻录器,你可以告诉内核在使用 cdrecord 前必须得载入 SCSI 模拟驱动程序,方法是把 hdd=ide-scsi 配置为内核参数(这里的 hdd 是光盘设备)。

如果你选择的引导装载程序是 GRUB,你可以配置一个 GRUB 口令来保护它。选择「使用 GRUB 口令」,然后在「口令」文本字段内输入这个口令。在「确认口令」文本字段内键入相同的口令。如果你想在文件中把口令加密保存,选择「给 GRUB 口令加密」。当文件被存盘后,你键入的普通文本口令就会被加密写入 kickstart 文件。不要键入已加密的口令然后又选择给它加密。

如果你选择的引导装载程序是 LILO,选择你是否要使用线形模式,以及是否要强制使用 lba32 模式。

如果在「安装方法」页上选择了「升级现有安装」,选择「升级现存引导装载程序」来升级现存的引导装载程序配置并保留其中原有的项目。



10.4. 分区信息

图 10-4. 分区信息

选择是否要清除主引导记录(MBR)。你还可以选择删除所有分区、删除所有现存的 Linux 分区、或保留现存分区。

你可以把磁盘卷标初始为系统体系的默认值(例如,x86 使用 msdos,Itanium 使用 gpt)。如果你在一个崭新的硬盘驱动器上安装,选择「初始化磁盘标签」

10.4.1. 创建分区

要创建分区,点击「添加」按钮。如图 10-5所示的「分区选项」窗口就会出现。为新分区选择挂载点、文件系统类型和分区大小。你还可以从下列选项中选择:

  • 「附加的大小选项」部分中,选择分区要使用固定大小、指定大小、还是使用驱动器上的全部剩余空间。如果你把文件系统类型选为交换区(swap),你可以选择让安装程序使用建议值而不是指定的大小来创建交换分区。

  • 强制分区被创建为主分区。

  • 在指定硬盘驱动器上创建分区。譬如,要在第一个 IDE 硬盘(/dev/hda)上制作分区,把 hda 指定为驱动器。不要在驱动器名称中包括 /dev

  • 使用现存分区。譬如,要在第一个 IDE 硬盘上的第一个分区(/dev/hda1)上制作分区,把 hda1 指定为分区。不要在分区名中包括 /dev

  • 把分区格式化为选定的文件系统类型。

图 10-5. 创建分区

要编辑某现存分区,从列表中选择它,然后点击「编辑」按钮。一个和你添加分区相同的「分区选项」窗口会出现,如图 10-5所示,只不过它上面的值已被预填。修改分区选项,然后点击「确定」

要删除某现存分区,从列表中选择它,然后点击「删除」 按钮。

10.4.1.1. 创建软件 RAID 分区

阅读第3章 来学习有关 RAID 和 RAID 级别的知识。你可以配置 RAID 0、1、和 5。

要创建软件 RAID 分区,使用以下步骤:

  1. 点击「RAID」按钮。

  2. 选择「创建软件 RAID 分区」

  3. 按前面描述的方法来配置分区,只不过选择「软件 RAID」作为文件系统类型。此外,你必须指定要制作分区的硬盘驱动器或指定要使用的现存分区。

图 10-6. 创建软件 RAID 分区

重复这些步骤来为你的 RAID 设置创建所需的分区。不是你所有的分区都一定要是 RAID 分区。

创建了构成 RAID 设备所需的所有分区后,遵循以下步骤:

  1. 点击「RAID」按钮。

  2. 选择「创建 RAID 设备」

  3. 选择挂载点、文件系统类型、RAID 设备名称、RAID 级别、RAID 成员、软件 RAID 设备的备件数量、以及是否要格式化 RAID 设备。

    图 10-7. 创建软件 RAID 设备

  4. 点击「确定」来把设备添加到列表中。


10.5. 网络配置

图 10-8. 网络配置

如果要通过 kickstart 安装的系统没有以太网卡,则不要在「网络配置」页上配置它。

只有在你选择了网络类型的安装方法(NFS、FTP 或 HTTP)时才需要联网。联网可以随时在安装后使用网络管理工具redhat-config-network)来配置。详情请参阅第19章

对于系统上的每个以太网卡,点击「添加网络设备」,然后选择网络设备和设备的网络类型。第一个以太网卡选择 eth0 作为网络设备,第二个以太网卡选择 eth1,依此类推。


10.6. 验证

图 10-9. 验证

「验证」部分,选择用户口令是否使用屏蔽和 MD5 加密。推荐你使用这些选项,它们被默认选择。

「验证配置」选项允许你配置下列验证方法:

  • NIS

  • LDAP

  • Kerberos 5

  • Hesiod

  • SMB

  • 名称切换缓存区

这些方法不被默认启用。要启用一种或多种方法,点击恰当的标签,然后点击「启用」旁边的复选箱,接着输入用于该验证方法的适当信息。关于这些选项的详细信息,请参阅第29章


10.7. 防火墙配置

「防火墙配置」窗口和安装程序中的屏幕以及安全级别配置工具中的屏幕相似。

图 10-10. 防火墙配置

如果选择了「禁用防火墙」,系统会允许到任何活跃的服务和端口的完全访问。到该系统的连接都不会被拒绝或否定。

选择「启用防火墙」会配置系统拒绝不是答复输出请求如 DNS 答复或 DHCP 请求的进入连接。如果需要使用运转在这个机器上的服务,你应该选择允许指定的服务穿过防火墙。

只有在「网络配置」部分配置的设备会被列举在「信任的设备」中。连接到这个列表中的任何被选设备都会被系统接受。例如,如果 eth1 只接受来自内部系统的连接,你可能想允许所有来自它的连接。

如果某服务在「信任的服务」中被选,到该服务的所有连接都会被系统接受并处理。

「其它端口」文本字段中,列举应该为远程存取打开的额外端口。请使用以下格式:端口:协议。例如,要允许 IMAP 访问穿过防火墙,指定 imap:tcp。你也可以指定数字端口。要在端口 1234 允许 UDP 分组穿过防火墙,输入 1234:udp。要指定多个端口,使用逗号分隔它们。


10.8. X 配置

如果你要安装 X 窗口系统,你可以在 kickstart 安装过程中配置它。方法是,在如图 10-11所示的「X 配置」窗口上选择「配置 X 窗口系统」按钮。如果该选项没有被选, X 配置选项就会被禁用,skipx 选项就会被写入 kickstart 文件。

10.8.1. 常规

配置 X 的第一步是选择默认的色彩深度和分辨率。从相应的拉下菜单中选择它们。请确定指定与你的视频卡和显示器兼容的色彩深度及分辨率。

图 10-11. X 配置 - 常规

如果你把 GNOME 和 KDE 桌面都安装了,你需要选择一个默认的桌面。如果你只安装了一个桌面,请确定选择它。当系统被安装后,用户可以选择他们想默认使用的桌面。

下一步,选择你在系统引导时是否要启动 X 窗口系统。该选项会在带有图形化登录屏幕的运行级别 5 中启动系统。在系统被安装后,你可以修改 /etc/inittab 配置文件来改变这一选项。

还需选择你是否要在系统首次重新启动时运行设置代理。它被默认禁用,但是设置可以被改成启用或在重新配置模式下启用。重新配置模式除了默认的配置外还启用了语言、鼠标、键盘、根口令、安全级别、时区、网络配置选项。

10.8.2. 视频卡

「探测视频卡」被默认选择。如果你想让安装程序在安装中探测视频卡,则接受默认设置。多数现代视频卡都能被探测到。如果你选择了该选项,并且安装程序无法成功地探测视频卡,安装程序就会在视频卡配置屏幕上中止。要继续安装进程,从视频卡列表中选择一个,然后点击「下一步」

另外,你也可以从「视频卡」 标签上的列表中选择,如图 10-12所示。在「视频卡内存」拉下菜单中选择视频内存数量。这些值会被安装程序用来配置 X 窗口系统。

图 10-12. X 配置 - 视频卡

10.8.3. 显示器

配置了视频卡之后,点击「显示器」标签,如图 10-13所示。

图 10-13. X 配置 - 显示器

「探测显示器」被默认选择。如果你想让安装程序在安装中探测显示器,则接受默认值。多数现代显示器都能被探测到。如果你选择了该选项,并且安装程序无法成功地探测显示器,安装程序就会在显示器配置屏幕上中止。要继续安装进程,从显示器列表中选择一个,然后点击「下一步」

另外,你也可以从列表中选择显示器。你还可以选择「指定水平频率及垂直频率而不是显示器」选项来指定显示器的水平和垂直频率。这在你的显示器没有在列表中列出的情况下有用。注意,当这个选项被启用,显示器列表就会被禁用。

10.9. 软件包选择

图 10-14. 软件包选择

「软件包选择」窗口允许你选择要安装的软件包组。

还有一些选项能够帮助你自动解决或忽略软件包依赖关系。

目前,Kickstart 配置器 不允许你选择单个软件包。要安装单个软件包,在你保存了 kickstart 文件后,修改其中的 %packages 部分。详情请参阅第 9.5 节


10.10. 预安装脚本

图 10-15. 预安装脚本

你可以添加系统在解析 kickstart 文件后,安装开始前要运行的命令。如果你在 kickstart 文件中配置了网络,联网在这部分被处理前会被启用。如果你想包括一个预安装脚本,在文本区域内输入它。

要指定用来执行脚本的语言,选择「使用解释器」选项,并在它旁边的文本箱内输入它。例如, 你可以为 Python 脚本指定 /usr/bin/python2.2。该选项和在你的 kickstart 文件中使用 %pre --interpreter /usr/bin/python2.2 相对应。

小心
 

不要包括 %pre 命令。它会自动为你添加。



10.11. 安装后脚本



10.12. 保存文件

完成了 kickstart 选项的选择后,要评审 kickstart 文件的内容,选择「文件」 => 「预览」

图 10-17. 预览

要保存 kickstart 文件,点击预览窗口中的「保存到文件」按钮。要不预览而保存文件,选择「文件」 => 「保存文件」或按 [Ctrl]-[S]。一个对话框会出现。选择要保存文件的位置。

保存文件之后,请参阅第 9.10 节来获取如何启动 kickstart 安装的信息。


图 10-16. 安装后脚本

你还可以添加系统在安装结束后要执行的命令。如果你在 kickstart 文件中正确地配置了网络,联网就会被启用,该脚本中就可以包含访问网络资源的命令。如果你想包括一个安装后脚本,在文本区域内输入它。

小心
 

不要包括 %post 命令。它会自动为你添加。

譬如,要改变新安装的系统上的每日消息(message of the day),在 %post 部分添加以下命令:

echo "Hackers will be punished!" > /etc/motd
窍门
 

你可以在第 9.7.1 节中找到更多范例。

10.11.1. Chroot 环境

如果你想让安装后脚本在 chroot 环境之外运行,点击「安装后」窗口顶端该选项旁边的复选箱。这和使用 %post 部分中的 --nochroot 选项效果相同。

如果你想在安装后部分,在 chroot 环境之外对新安装的文件系统做一些改变,你必须在 /mnt/sysimage 后面加上目录名。

譬如,如果你选择了「在 chroot 环境之外运行」,前面的例子就需要被改为:

echo "Hackers will be punished!" > /mnt/sysimage/etc/motd

10.11.2. 使用解释器

要指定用来执行脚本的语言,选择「使用解释器」选项,并在它旁边的文本箱内输入它。例如, 你可以为 Python 脚本指定 /usr/bin/python2.2。该选项和在你的 kickstart 文件中使用 %pre --interpreter /usr/bin/python2.2 相对应。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值