一、简述

     kickstart文件是一个简单的文本文件,它包含了一个项目列表,每个项目由一个关键字来识别.可以用「Kickstart 配置」应用程序创建它或是自己从头编写.红帽企业Linux安装程序也根据在安装过程中的选择创建一个简单的kickstart文件,这个文件被写入到 /root/anaconda-ks.cfg.可以用任何能够把文件保存为ASCII文本的文本编辑器或字处理器来编辑它.

传统的装机过程是采用光盘安装,在此过程中,管理员不仅仅需要手动参与到客户机安装系统的过程(设置新系统安装的参数),而且安装系统支持工具时需要时刻注意系统rpm依赖问题,过程繁琐;更加重要的是当需要安装的机器数量过多时,就会造成整个安装过程枯燥、费时费力,效率低下的后果。


    Cobbler实现自动批量安装系统重要的一个配置就是kickstart文件,在ks文件中定义和声明了系统安装方式和设置。Ks文件支持多达40条的参数配置,通过这个配置文件,可以很方便的实现Cobbler安装系统时自动安装、部署多个应用和设置。

ks可以自己手动创建,也可以使用Linux系统中的system-config-kickstart命令生成,使用命令生成的方法,将在下篇cobbler批量自动化装机的文章中介绍。

    下面是一个简单的ks文件内容示例:

lang en_US.UTF-8
cdrom
key 2515dd4e215225dd
lang en_US.UTF-8
keyboard us
xconfig --startxonboot
network --device eth0 --bootproto static --ip 192.168.100.8 --netmask 255.255.255.0 --gateway 192.168.100.2 --          nameserver 122.70.138.10 --hostname test.huabo.org
rootpw --iscrypted $1$BPHqwNav$CjjfBezv5OuecU3rNkdDb/
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --enforcing
timezone Asia/Chongqing
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
clearpart --drives=sda,sdb,sdc,sdd --initlabel
part    /boot    --fstype ext3    --size=100    --ondrive=sda
part    /        --fstype ext3    --size=4000  --ondrive=sda
part    swap    --size=512      --ondrive=sda
part    raid.11  --size=1  --grow  --asprimary  --ondrive=sdb
part    raid.21  --size=1  --grow  --asprimary  --ondrive=sdc
part    raid.31  --size=1  --grow  --asprimary  --ondrive=sdd
raid    pv.01  --device=md0 --level=RAID5 raid.11 raid.21 raid.31
volgroup  vgname  pv.01
logvol  /home  --fstype=ext3 --vgname=vgname  --size=4000  --name=home
%packages
@gnome-desktop
@core
@base-x
@chinese-support
xorg-x11-utils
xorg-x11-server-Xnest

 



二、详细说明



 2.1 在创建kickstart文件时留意下列问题:

    1.每节必须按顺序指定.除非特别申明,每节内的项目则不必按序排列.小节的顺序为:
        命令部分,这里应该包括必需的选项.
        %packages部分,这部分选择需要安装的软件包.
        %pre和%post部分,这两个部分可以按任何顺序排列而且不是必需的.
    2.不必需的项目可以被省略.
    3.如果忽略任何必需的项目,安装程序会提示用户输入相关的项目的选择,就象用户在典型的安装过程中所遇到的一样.一旦用户进行了选择,安装会以非交互的 方式(unattended)继续(除非找到另外一个没有指定的项目).
    4.以井号(“#“)开头的行被当作注释行并被忽略.



2.2 ks文件参数以及是否必填说明



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

        1.语言
        2.安装方法
        3.设备规格(如果这个设备是在安装过程中所需要的)
        4.键盘设置
        5.upgrade 关键字
        6.引导装载程序配置
        7.如果任何其他的项目被指定为upgrade,这些项目将被忽略(注意这包括了软件包选择).



    2.2.2 kickstart命令参数详细说明

    下面的选项可以放入kickstart文件.如果喜欢使用图形化的界面来创建kickstart文件,可以使用"Kickstart 配置"应用程序.(注:如果某选项后面跟随了一个等号(=),它后面就必须指定一个值.在示例命令中,括号([])中的选项是命令的可选参数.)



1 autopart(可选)

     自动创建分区,大于1GB的根分区(/),交换分区和适合于不同体系结构的引导分区.一个或多个缺省分区的大小可以用part指令重新定义.



2 ignoredisk(可选)

     导致安装程序忽略指定的磁盘.如果使用自动分区并希望忽略某些磁盘的话,这就很有用. 例如,没有ignoredisk,如要试图在SAN-cluster系统里部署,kickstart就会失败,因为安装程序检测到SAN不返回分区表的被 动路径(passive path). 如果有磁盘的多个路径时,ignoredisk选项也有用处.
    语法是: 

ignoredisk –drives=drive1,drive2,… 
 这里driveN是sda,sdb… hda等等中的一个.
 ignoredisk –drives=drive1,drive2,… 
 这里driveN是sda,sdb… hda等等中的一个.



3 autostep(可选)

     和interactive相似,除了它进入下一屏幕,它通常用于调试.
    –autoscreenshot,安装过程中的每一步都截屏并在安装完成后把图片复制到/root/anaconda-screenshots.这对于 制作文档很有用.



4 auth或authconfig(必需)

    为系统设置验证选项.这和在安装后运行的authconfig命令相似.在缺省情况下,密码通常被加密但不使用影子文件(shadowed).
        –enablemd5,每个用户口令都使用md5加密.
        –enablenis,启用NIS支持.在缺省情况下,–enablenis使用在网络上找到的域.域应该总是用–nisdomain=选项手工设 置.
        –nisdomain=,用在NIS服务的NIS域名.
        –nisserver=,用来提供NIS服务的服务器(默认通过广播).
        –useshadow或–enableshadow,使用屏蔽口令.
        –enableldap,在/etc/nsswitch.conf启用LDAP支持,允许系统从LDAP目录获取用户的信息(UIDs,主目 录,shell 等等).要使用这个选项,必须安装nss_ldap软件包.也必须用–ldapserver=和–ldapbasedn=指定服务器和base DN(distinguished name).
        –enableldapauth,把LDAP作为一个验证方法使用.这启用了用于验证和更改密码的使用LDAP目录的pam_ldap模块.要使用这个 选项,必须安装nss_ldap软件包.也必须用–ldapserver=和–ldapbasedn=指定服务器和base 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,必须启用LDAP,NIS,Hesiod或者使用 /usr/sbin/useradd命令来使这个工作站获知用户的帐号.如果使用这个选项,必须安装pam_krb5软件包.
        –krb5realm=,工作站所属的Kerberos 5领域.
        –krb5kdc=,为领域请求提供服务的KDC.如果的领域内有多个KDC,使用逗号(,)来分隔它们.
        –krb5adminserver=,领域内还运行kadmind的KDC.该服务器处理改变口令以及其它管理请求.如果有不止一个KDC,该服务器必 须是主KDC.
        –enablehesiod,启用Hesiod支持来查找用户主目录,UID 和 shell.在网络中设置和使用 Hesiod 的更多信息,可以在 glibc 软件包里包括的 /usr/share/doc/glibc-2.x.x/README.hesiod里找到.Hesiod是使用DNS记录来存储用户,组和其他信息的 DNS 的扩展.
        –hesiodlhs,Hesiod LHS(“left-hand side”)选项在/etc/hesiod.conf里设置.Hesiod 库使用这个选项来决定查找信息时搜索DNS的名字,类似于LDAP对 base DN的使用.
        –hesiodrhs,Hesiod RHS(“right-hand side”)选项在/etc/hesiod.conf里设置.Hesiod 库使用这个选项来决定查找信息时搜索DNS的名字,类似于LDAP对base DN的使用.
        –enablesmbauth,启用对SMB服务器(典型的是Samba或Windows服务器)的用户验证.SMB验证支持不知道主目录,UID 或 shell.如果启用SMB,必须通过启用LDAP,NIS,Hesiod或者用/usr/sbin/useradd命令来使用户帐号为工作站所知.要使 用这个选项,必须安装pam_smb软件包.
        –smbservers=,用来做SMB验证的服务器名称.要指定不止一个服务器,用逗号(,)来分隔它们.
        –smbworkgroup=,SMB服务器的工作组名称.
        –enablecache,启用nscd服务.nscd服务缓存用户,组和其他类型的信息.如果选择在网络上用NIS,LDAP或hesiod分发用户 和组的信息,缓存就尤其有用.



5 bootloader(必需)

     指定引导装载程序怎样被安装.对于安装和升级,这个选项都是必需的.
        –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=类似,只是密码已经被加密.
        –upgrade,升级现存的引导装载程序配置,保留其中原有的项目.该选项仅可用于升级.
   



6 clearpart(可选)

    在创建新分区之前,从系统上删除分区.默认不会删除任何分区. 注意:如果使用了clearpart命令,–onpart命令就不能够用在逻辑分区上.
        –all,删除系统上所有分区.
        –drives=,指定从哪个驱动器上清除分区.
    例如,下面的命令清除了主IDE控制器上的前两个驱动器上所有分区
        clearpart –drives=hda,hdb –all
        –initlabel,根据不同体系结构把磁盘标签初始化为缺省设置(例如,msdos用于x86而gpt用于Itanium).当安装到一个崭新的硬 盘时,这很有用,安装程序不会询问是否应该初始化磁盘标签.
        –linux,删除所有Linux分区.
        –none(缺省),不要删除任何分区.



7 cmdline(可选)

    在完全的非交互式的命令行模式下进行安装.任何交互式的提示都会终止安装.这个模式对于有x3270控制台的IBM System z系统很有用.



 8 device(可选)

     在多数的PCI系统里,安装程序会正确地自动探测以太网卡和SCSI卡.然而,在老的系统和某些PCI系统里,kickstart需要提示来找到正确的设 备.device命令用来告诉安装程序安装额外的模块,它有着这样的格式:
        device –opts= ,用scsi或eth代替 ,使用应该被安装的内核模块的名称来替换.
        –opts=,传递给内核模块的选项.注意,如果把选项放在引号里,可以传递多个选项.
    例如:–opts=“aic152x=0x340 io=11”



9 driverdisk(可选)

     可以在kickstart安装过程中使用驱动软盘.必须把驱动软盘的内容复制到系统的硬盘分区的根目录下.然后必须使用driverdisk 命令来告诉安装程序到哪去寻找驱动磁盘.
        driverdisk [–type= ]
    另外,也可以为驱动程序盘指定一个网络位置:
        driverdisk –source=ftp://path/to/dd.img
        driverdisk –source=http://path/to/dd.img
        driverdisk –source=nfs:host:/path/to/img ,包含驱动程序盘的分区.
        –type=,文件系统类型(如:vfat,ext2,ext3).



10 firewall(可选)

     这个选项对应安装程序里的「防火墙配置」屏幕:
        firewall –enabled|–disabled [–trust=] [–port=]
        –enabled或者–enable,拒绝不是答复输出请求如DNS答复或DHCP请求的进入连接.如果需要使用在这个机器上运行的服务,可以选择允 许指定的服务穿过防火墙.
        –disabled或–disable,不要配置任何iptables规则.
        –trust=,在此列出设备,如eth0,这允许所有经由这个设备的数据包通过防火墙.如果需要列出多个设备,使用–trust eth0 –trust eth1.不要使用以逗号分隔的格式,如–trust eth0, eth1.

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

–ssh 
–telnet 
–smtp 
–http 
–ftp
–ssh 
–telnet 
–smtp 
–http 
–ftp

        –port=,可以用端口:协议(port:protocal)格式指定允许通过防火墙的端口.
    例如,如果想允许IMAP通过的防火墙,可以指定imap:tcp.还可以具体指定端口号码,要允许UDP分组在端口1234通过防火墙,输入1234:udp.要指定多个端口,用逗号将它们隔开.



11 firstboot(可选)

     决定是否在系统第一次引导时启动"设置代理”.如果启用,firstboot软件包必须被安装.如果不指定,这个选项是缺省为禁用的.
        –enable或–enabled,系统第一次引导时,启动"设置代理”.
        –disable或–disabled,系统第一次引导时,不启动"设置代理”.
        –reconfig,在系统引导时在重配置(reconfiguration)模式下启用"设置代理”.这个模式启用了语言,鼠标,键盘,根密码,安全 级别,时区和缺省网络配置之外的选项.



 12 halt(可选)

    在成功地完成安装后关闭系统.这和手工安装相似,手工安装的anaconda会显示一条信息并等待用户按任意键来重启系统.在kickstart安装过程 中,如果没有指定完成方法(completion method),将缺省使用reboot选项. halt选项基本和shutdown -h命令相同. 关于其他的完成方法,请参考kickstart的poweroff,reboot和shutdown选项.



 13 graphical(可选)

在图形模式下执行kickstart安装.kickstart安装默认在图形模式下安装.



  14 install(可选)

    告诉系统来安装全新的系统而不是在现有系统上升级.这是缺省的模式.必须指定安装的类型,如cdrom,harddrive,nfs或url(FTP 或HTTP安装).install命令和安装方法命令必须处于不同的行上.

        1>cdrom, 从系统上的第一个光盘驱动器中安装.

        2> harddrive, 从本地驱动器的vfat或ext2格式的红帽安装树来安装.
        –biospart=,从BIOS分区来安装(如82).
        –partition=,从分区安装(如sdb2).
        –dir=,包含安装树的variant目录的目录.
    例如:harddrive –partition=hdb2 –dir=/tmp/install-tree

        3>nfs ,从指定的NFS服务器安装.
        –server=,要从中安装的服务器(主机名或IP).
        –dir=,包含安装树的variant目录的目录.
        –opts=,用于挂载NFS输出的Mount选项(可选).
    例如:nfs –server=nfsserver.example.com –dir=/tmp/install-tree

        4>url ,通过FTP或HTTP从远程服务器上的安装树中安装.
    例如:url –url http:// / 或:url –url ftp:// : @ / 



    15 ignore disk(可选)

    用来指定在分区,格式化和清除时anaconda不应该访问的磁盘.这个命令有一个必需的参数,就是用逗号隔开的需要忽略的驱动器列表.
    例如:ignoredisk –drives=[disk1,disk2,…]



16 interactive(可选)

    在安装过程中使用kickstart文件里提供的信息,但允许检查和修改给定的值.将遇到安装程序的每个屏幕以及kickstart文件里给出的值.通过 点击"下一步"接受给定的值或是改变值后点击"下一步"继续.请参考autostep命令.



17 iscsi(可选)

     iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料。 

其格式如下:

    issci –ipaddr= [options]. 

        –target
        –port=
        –user=
        –password=



18 iscsiname(可选)



    19 key(可选)

    指定安装密钥,它在软件包选择和获取支持时设别系统的时候是必需的.这个命令是红帽企业Linux-specific,它对Fedora来说没有意义并且 会被忽略.
        –skip,跳过输入密钥.通常,如果没有key命令,anaconda将暂停并提示输入密钥.如果没有密钥或不想提供它,这个选项允许继续自动化安 装.



18 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 软件包的一部分.



19 lang(必需)

    设置在安装过程中使用的语言以及系统的缺省语言.例如,要把语言设置为英语,kickstart文件应该包含下面的一行:
        lang en_US
    文件/usr/share/system-config-language/locale-list里每一行的第一个字段提供了一个有效语言代码的列表, 它是system-config-language软件包的一部分.
    注意:文本模式的安装过程不支持某些语言(主要是中文,日语,韩文和印度的语言).如果用lang命令指定这些语言中的一种,安装过程仍然会使用英语,但是系统 会缺省使用指定的语言.



20 langsupport(不赞成使用)

    langsupport关键字已经被取消而且使用它将导致屏幕出现错误信息及终止安装.作为代替,应该在kickstart文件里的%packages 部分列出所支持的语言的支持软件包组.例如,要支持法语,应该把下面的语句加入到
        %packages:
        @french-support



21 logvol(可选)

    使用以下语法来为逻辑卷管理(LVM)创建逻辑卷:
        logvol –vgname= –size= –name=
    这些选项如下所示:
        –noformat,使用一个现存的逻辑卷,不进行格式化.
        –useexisting,使用一个现存的逻辑卷,重新格式化它.
        –fstype=,为逻辑卷设置文件系统类型.合法值有:ext2,ext3,swap和vfat.
        –fsoptions=,为逻辑卷设置文件系统类型.合法值有:ext2,ext3,swap和vfat.
        –bytes-per-inode=,指定在逻辑卷上创建的文件系统的节点的大小.因为并不是所有的文件系统都支持这个选项,所以在其他情况下它都被忽 略.
        –grow=,告诉逻辑卷使用所有可用空间(若有),或使用设置的最大值.
        –maxsize=,当逻辑卷被设置为可扩充时,以MB为单位的分区最大值.在这里指定一个整数值,不要在数字后加MB.
        –recommended=,自动决定逻辑卷的大小.
        –percent=,用卷组里可用空间的百分比来指定逻辑卷的大小.
    首先创建分区,然后创建逻辑卷组,再创建逻辑卷.
    例如:

part pv.01 –size 3000 
volgroup myvg pv.01 
logvol / –vgname=myvg –size=2000 –name=rootvol
part pv.01 –size 3000 
volgroup myvg pv.01 
logvol / –vgname=myvg –size=2000 –name=rootvol



    22 logging(可选)

    这个命令控制安装过程中anaconda的错误日志.它对安装好的系统没有影响.
        –host=,发送日志信息到给定的远程主机,这个主机必须运行配置为可接受远程日志的syslogd进程.
        –port=,如果远程的syslogd进程没有使用缺省端口,这个选项必须被指定.
        –level=,debug,info,warning,error或critical中的一个.
    指定tty3上显示的信息的最小级别.然而,无论这个级别怎么设置,所有的信息仍将发送到日志文件.



 23 mediacheck(可选)

    如果指定的话,anaconda将在安装介质上运行mediacheck.这个命令只适用于交互式的安装,所以缺省是禁用的.



 24 monitor(可选)

    如果monitor命令没有指定,anaconda将使用X来自动检测的显示器设置.请在手工配置显示器之前尝试这个命令.
        –hsync=,指定显示器的水平频率.
        –vsync=,指定显示器的垂直频率.
        –monitor=,使用指定的显示器;显示器的名字应该在hwdata软件包里的/usr/share/hwdata/MonitorsDB列表上. 这个显示器的列表也可以在Kickstart Configurator的X配置屏幕上找到.如果提供了–hsync或–vsync,它将被忽略.如果没有提供显示器信息,安装程序将自动探测显示 器.
        –noprobe=,不要试图探测显示器.



25 mouse(已取消)

    mouse 关键字已经被取消,使用它将导致屏幕出现错误信息并终止安装.



 26 network(可选)

    为系统配置网络信息.如果 kickstart安装不要求联网(换句话说,不从NFS,HTTP或FTP安装),就不需要为系统配置网络.如果安装要求联网而kickstart文件 里没有提供网络信息,安装程序会假定从eth0通过动态IP地址(BOOTP/DHCP)来安装,并配置安装完的系统动态决定IP地址.network选 项为通过网络的kickstart安装以及所安装的系统配置联网信息.
        –bootproto=,dhcp,bootp或static中的一种,缺省值是dhcp.bootp和dhcp被认为是相同的.
    static方法要求在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
network –bootproto=static –ip=10.0.2.15 –netmask=255.255.255.0 \ 
–gateway=10.0.2.254 –nameserver=10.0.2.1

    如果使用静态方法,请注意以下两个限制:
        1> 所有静态联网配置信息都必须在一行上指定,不能使用反斜线来换行. 
        2> 在这里只能够指定一个命名服务器.然而,如果需要的话,可以使用kickstart文件的%post段落来添加更多的命名服务器.
    –device=,用来选择用于安装的特定的以太设备.注意,除非kickstart文件是一个本地文件(如ks=floppy),否则 –device=的使用是无效的.这是因为安装程序会配置网络来寻找kickstart文件.
    例如:

network –bootproto=dhcp –device=eth0
 network –bootproto=dhcp –device=eth0

        –ip=,要安装的机器的IP地址.
        –gateway=,IP地址格式的默认网关.
        –nameserver=,主名称服务器,IP地址格式.
        –nodns,不要配置任何 DNS 服务器.
        –netmask=,安装的系统的子网掩码.
        –hostname=,安装的系统的主机名.
        –ethtool=,指定传给ethtool程序的网络设备的其他底层设置.
        –essid=,无线网络的网络ID.
        –wepkey=,无线网络的加密密钥.
        –onboot=,是否在引导时启用该设备.
        –class=,DHCP类型.
        –mtu=,该设备的MTU.
        –noipv4=,禁用此设备的IPv4.
        –noipv6=,禁用此设备的IPv6.



  27 multipath(可选)

    multipath –name= –device= –rule=part或partition(对于安装是必需的,升级可忽略). 在系统上创建分区. 如果不同分区里有多个红帽企业Linux系统,安装程序会提示用户升级哪个系统. 
     注意:作为安装过程的一部分,所有被创建的分区都会被格式化,除非使用了–noformat和–onpart.,如果是分区的挂载点,它必须是下列形式中的一种:
    / ,例如,/,/usr,/home
    swap,该分区被用作交换空间,要自动决定交换分区的大小,使用–recommended选项.
    swap –recommended
    自动生成的交换分区的最小值大于系统内存的数量,但小于系统内存的两倍.
    raid. ,该分区用于 software RAID(参考 raid).
    pv. ,该分区用于 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=,为分区设置文件系统类型.有效的类型为ext2,ext3,swap和vfat.
        –start=,指定分区的起始柱面,它要求用–ondisk=或ondrive=指定驱动器.它也要求用–end=指定结束柱面或用 –size=指定分区大小.
        –end=,指定分区的结束柱面.它要求用–start=指定起始柱面.
        –bytes-per-inode=,指定此分区上创建的文件系统的节点大小.不是所有的文件系统都支持这个选项,所以在其他情况下它都被忽略.
        –recommended,自动决定分区的大小.
        –onbiosdisk,强迫在 BIOS 找到的特定磁盘上创建分区.
    注:如果因为某种原因分区失败了,虚拟终端3上会显示诊断信息.

poweroff(可选)
在安装成功后关闭系统并断电.通常,在手工安装过程中,anaconda会显示一条信息并等待用户按任意键来重新启动系统.在kickstart的安装过 程中,如果没有指定完成方法,将使用缺省的reboot选项.



28 raid(可选)

    组成软件RAID设备.该命令的格式是:
        raid –level= –device= ,RAID文件系统被挂载的位置.如果是/,除非已经有引导分区存在(/boot),RAID级别必须是1.如果已经有 引导分区,/boot分区必须是级别1且根分区(/)可以是任何可用的类型. (这表示可以有多个分区)列出了加入 到RAID阵列的RAID标识符.
        –level=,要使用的RAID级别(0,1,或5).
        –device=,要使用的RAID设备的名称(如md0或md1).RAID设备的范围从md0直到md7,每个设备只能被使用一次.
        –bytes-per-inode=,指定RAID设备上创建的文件系统的节点大小.不是所有的文件系统都支持这个选项,所以对于那些文件系统它都会被 忽略.
        –spares=,指定RAID阵列应该被指派N个备用驱动器.备用驱动器可以被用来在驱动器失败时重建阵列.
        –fstype=,为RAID阵列设置文件系统类型.合法值有:ext2,ext3,swap和vfat.
        –fsoptions=,指定当挂载文件系统时使用的free form字符串.这个字符串将被复制到系统的/etc/fstab文件里且应该用引号括起来.
        –noformat,使用现存的RAID设备,不要格式化RAID阵列.
        –useexisting,使用现存的RAID设备,重新格式化它.



29 reboot(可选)

    在成功完成安装(没有参数)后重新启动.通常,kickstart会显示信息并等待用户按任意键来重新启动系统.



30 repo(可选)

    配置用于软件包安装来源的额外的yum库.可以指定多个repo行. 
    repo –name= [–baseline= | –mirrorlist= ]
        –name=,repo id.这个选项是必需的. 

        –baseurl=,库的URL.这里不支持yum repo配置文件里使用的变量.可以使用它或者–mirrorlist,亦或两者都不使用.
        –mirrorlist=,指向库镜像的列表的URL.这里不支持yum repo配置文件里可能使用的变量.可以使用它或者–baseurl,亦或两者都不使用.



31 rootpw(必需)

    把系统的根口令设置为 参数.
    rootpw [–iscrypted]
        –iscrypted,如果该选项存在,口令就会假定已被加密.



32 selinux(可选)

    在系统里设置SELinux状态.在anaconda里,SELinux缺省为enforcing.
    selinux [–disabled|–enforcing|–permissive]
        –enforcing,启用SELinux,实施缺省的targeted policy.
    注:如果kickstart文件里没有selinux选项,SELinux将被启用并缺省设置为–enforcing.
        –permissive,输出基于SELinux策略的警告,但实际上不执行这个策略.
        –disabled,在系统里完全地禁用 SELinux.



33 services(可选)

    修改运行在缺省运行级别下的缺省的服务集.在disabled列表里列出的服务将在enabled列表里的服务启用之前被禁用.
        –disabled,禁用用逗号隔开的列表里的服务.
        –enabled,启用用逗号隔开的列表里的服务.



34 shutdown(可选)

    在成功完成安装后关闭系统.在kickstart安装过程中,如果没有指定完成方法,将使用缺省的reboot选项.



35 skipx(可选)

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



36 text(可选)

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



37 timezone(可选)

    把系统时区设置为 ,它可以是timeconfig列出的任何时区.
        timezone [–utc]
        –utc,如果存在,系统就会假定硬件时钟被设置为UTC(格林威治标准)时间.



 38 upgrade(可选)

    告诉系统升级现有的系统而不是安装一个全新的系统.必须指定 cdrom,harddrive,nfs或url(对于FTP和HTTP而言)中的一个作为安装树的位置.详情请参考 install.



39 user(可选)

    在系统上创建新用户.
    user –name= [–groups= ] [–homedir= ] [–password= ] [–iscrypted] [–shell= ] [–uid= ]
        –name=,提供用户的名字.这个选项是必需的.
        –groups=,除了缺省的组以外,用户应该属于的用逗号隔开的组的列表.
        –homedir=,用户的主目录.如果没有指定,缺省为/home/ .
        –password=,新用户的密码.如果没有指定,这个帐号将缺省被锁住.
        –iscrypted=,所提供的密码是否已经加密?
        –shell=,用户的登录shell.如果不提供,缺省为系统的缺省设置.
        –uid=,用户的UID.如果未提供,缺省为下一个可用的非系统 UID.



40 vnc(可选)

    允许通过VNC远程地查看图形化的安装.文本模式的安装通常更喜欢使用这个方法,因为在文本模式下有某些大小和语言的限制.如果为no,这个命令将启动不 需要密码的VNC服务器并打印出需要用来连接远程机器的命令.
    vnc [–host= ] [–port= ] [–password= ]
        –host=,不启动VNC服务器,而是连接至给定主机上的VNC viewer进程.
        –port=,提供远程VNC viewer进程侦听的端口.如果不提供,anaconda将使用VNC的缺省端口.
        –password=,设置连接VNC会话必需的密码.这是可选的,但却是我们所推荐的选项.



41 volgroup(可选)

    用来创建逻辑卷管理(LVM)组,其语法格式为:
    volgroup
    这些选项如下所示:
        –noformat,使用一个现存的卷组,不要格式化它.
        –useexisting,使用一个现存的卷组,重新格式化它.
        –pesize=,设置物理分区(physical extent)的大小.
    首先创建分区,然后创建逻辑卷组,再创建逻辑卷.例如:



 42 xconfig(可选)

     配置X Window 系统.如果没有指定这个选项且安装了X,用户必须在安装过程中手工配置X;如果最终系统里没有安装X,这个选项不应该被使用.
        –driver,指定用于视频硬件的 X 驱动.
        –videoram=,指定显卡的显存数量.
        –defaultdesktop=,指定GNOME或KDE作为缺省的桌面(假设已经通过%packages安装了GNOME或KDE桌面环境).
        –startxonboot,在安装的系统上使用图形化登录.
        –resolution=,指定安装的系统上X窗口系统的默认分辨率.有效值 有:640x480,800x600,1024x768,1152x864,1280x1024,1400x1050,1600x1200.请确定指定与视频卡和显示器兼容的分辨率.
        –depth=,指定安装的系统上的 X 窗口系统的默认色彩深度.有效值有:8,16,24,和 32.请确定指定与视频卡和显示器兼容的色彩深度.



43 zerombr(可选)

    如果指定了zerombr且yes是它的唯一参数,任何磁盘上的无效分区表都将被初始化.这会毁坏有无效分区表的磁盘上的所有内容.这个命令的格式应该如 下:
    zerombr yes , 其它格式均无效.



44 zfcp(可选)

    zfcp [–devnum= ] [–fcplun= ] [–scsiid= ] [–scsilun= ] [–wwpn= ]

    %include
    使用 %include/path/to/file命令可以把其他文件的内容包含在kickstart文件里,就好像这些内容出现在kickstart文件 的%include命令后一样.



    2.2.3  kickstart的软件包 %packages

    在kickstart文件里使用%packages命令来列出想安装的软件包(仅用于全新安装,升级安装时不支持软件包指令). 可以指定单独的软件包名或是组,以及使用星号通配符.安装程序可以定义包含相 关软件包的组.关于组的列表,请参考第一张红帽企业 Linux光盘里的 variant/repodata/comps-*.xml. 每个组都有一个编号,用户可见性的值,名字,描述和软件包列表.在软件包列表里,如果这个组被选择的话,组里的标记为"mandatory"的软件包就必 须被安装;标记为"default"的软件包缺省被选择;而标记为"optional"的软件包必须被明确地选定才会被安装. 多数情况下,只需要列出想安装的组而不是单个的软件包.注意Core和Base组总是缺省被选择,所以并不需要在%packages部分指定它们.
    这里是一个 %packages 选择的示例:

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

    如所看到的,组被指定了,每个占用一行,用@符号开头,后面是comps.xml文件里给出的组全名.组也可以用组的id指定,如gnome- desktop.不需要额外字符就可以指定单独的软件包(上例里的dhcp行就是一个单独的软件包).
    %packages 指令也支持下面的选项:
        –nobase,不要安装@Base 组.如果想创建一个很小的系统,可以使用这个选项.
        –resolvedeps,选项已经被取消了.目前依赖关系可以自动地被解析.
        –ignoredeps,选项已经被取消了.目前依赖关系可以自动地被解析.
        –ignoremissing,忽略缺少的软件包或软件包组,而不是暂停安装来向用户询问是中止还是继续安装.
    例如:%packages –ignoremissing



    2.2.4 kickstart预安装脚本 %pre

    可以在 ks.cfg文件被解析后马上加入要运行的命令.这个部分必须处于kickstart文件的最后(在命令部分之后)而且必须用%pre命令开头.可以 在%pre部分访问网络;然而,此时命名服务还未被配置,所以只能使用IP地址.
    注意:

    1> 预安装脚本不在改换了的根环境(chroot)中运行.
        –interpreter /usr/bin/python,允许指定不同的脚本语言,如Python.把/usr/bin/python替换成想使用的脚本语言.

     2> 如果使用cobbler实现批量自动化安装系统,则kickstart中引用引用的代码片段文件的位置位于服务器/var/lib/cobbler/snippets目录下;而存储snippets文件夹下代码片段打印日志的文件位于目标客户机(被安装的机器)中的/mnt/sysimage/root/目录下。

    3> 预安装脚本支持的命令很少,而且和所要安装的镜像文件有关。

    4> 预安装脚本的位置在服务器/var/lib/cobbler/snippets下



    2.2.5 kickstart 安装后脚本 %post 

    也可以加入在系统安装完毕后运行的命令.这部分内容必须在kickstart的最后而且用%post命令开头.它被用于实现某些功能,如安装其他的软件和 配置其他的命名服务器.
    注意:

    1> 如果用静态IP信息和命名服务器配置网络,可以在%post部分访问和解析IP地址.如果使用DHCP配置网络,当安装程序执行到%post部分 时,/etc/resolv.conf文件还没有准备好.此时,可以访问网络,但是不能解析IP地址.因此,如果使用DHCP,必须在%post部分指定 IP地址.
    2> post-install 脚本是在 chroot 环境里运行的.因此,某些任务如从安装介质复制脚本或RPM将无法执行.
        –nochroot,允许指定想在chroot环境之外运行的命令.
    下例把/etc/resolv.conf文件复制到刚安装的文件系统里.

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

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

预安装脚本的位置在服务器/var/lib/cobbler/snippets下