kickstart主要用于系统的自动安装,也可以通过系统引导后自动执行脚本,自动安装系,在多系统同配置的安装环境中,大大节约了时间,这篇主要说说文本中的各命令参数。

  在我们的系统安装完成后,在家目录下有一个叫做anaconda-ks.cfg的文件,这个文件记录了系统安装时的各项设置,如果我们要自己做脚本的话可以参考这个文件,然后进行修改,当然,你也可以通过图形的kickstart配置来进行修改,图形的稍后再说。

  kickstart分为三个部分组成:

            1.命令段:比如语言啊,键盘类型啊,时区啊等等,命令段分为必须指定命令和可选命令。如果可选命令不指定正确,可能在自动安装的过程中停止并询问。

            2.软件包选择段:选择我们要安装的软件包或组,组用@打头。

            3.脚本段:分为预安装脚本(系统完成安装之前执行 以%pre开头) 和 安装后执行脚本(系统安装完成后执行 以%post表示)


必备的命令,命令段:

keyboard(键盘类型)例: keyboard us (美式键盘)

lang(语言) 例:lang en_US.UTF-8(美国英语和万国码)

timezone(时区) 例:timezone Asia/shanghai

rootpw(管理员密码)例: rootpw redhat(root密码为redhat)

参数:--iscryrted --密码加密

authconfig(认证方式,如用到了NiS,LDAP等,可以设置,参数较多,这里没有用到就不说了)

bootloader(引导程序)  例:直接加上bootloader就行 (安装bootloader)


可选:

install | upgrade(安装或升级) (支持安装方式,可以有cdrom.harddrive,nfs,http或ftp)

例子:url --url=http://xx/xx如果是光盘直接输入cdrom就可以了

user(创建用户)

参数:--name= --groups= --homedir= --password= --uid= 等


clearpart(清除分区)例:clearpart --all --initlabel

参数:--all (清除所有分区) --linux(清除所有Linux分区) --none(不清除任何分区,使用空间的,默认为此选项) --initlabel(初始化磁盘,如果是一个新的硬盘会提示没有有效分区表,是否继续,这里直接使用这个选项进行初始化)

firewall(防火墙) 例:firewall --disable

参数:--enable 例:firewall --enable --trust=eth0 --ssh|--port=22(允许)

     --disable

selinux(Linux的访问控制)

参数:--disable --permissive --enforcing


firsboot(在安装完图形重启后还需要进行配置的那个界面)例:firsboot --disable

参数:--enable --disable 


reboot(安装完重启,也可以使用halt关机) 例子:reboot --直接输入就行


text|graphical(安装界面是文本模式还是图形模式,不输入这个参数,默认为图形但要求内存大于512MB)


autopart(自动分区,如果想手动看下面参数)


part(划分分区)

例子:

part /boot --fstype=ext4 --size=200

创建一个boot分区,类型为ext4 大小为200M(MB为默认单位)

part swap --size=2000

创建一个swap分区

part pv.pvtest --size=40000

创建一个名为pvtest的pv 大小为40000MB

可以用--encrypted启动加密  --label指定标签

volgroup(创建卷组)

例子:volgroup vgtest --pesize=32768 pvtest

创建一个名为vgtest的vg Pe大小为32MB(默认单位为K)Vg内的Pv为pvtest


logvol(创建lv)

logvol / --fstype=ext3 --name=root --vgname=vgtest --size=10000

创建一个 / 类型为ext3 lv的名字为root, 从vgtest上创建 大小为10000MB


network(配置网络属性)

例子:network --bootproto=static|dhcp --onboot=yes|no --ip=x.x.x.x --netmask=x.x.x.x --gateway=x.x.x.x --nameserver=x.x.x.x,x.x.x.x --hostname=test.kickstart.com --device=eth0|eth1

这是基本的网络配置文件参数,不解释了。

zerombr(重置mbr信息,如果原来mbr有信息会被清除)


基本的命令就这些,当然,每个命令的参数不止这些,还有很多命令没说,一会上传个文件,自行参考吧。


安装软件包部分:

以%Packages开头以%end结束

@base

@x11

httpd

vsftp


@为一个软件组包 没有@符号的 为直接安装的软件



脚本部分:

以%pre或%post开头

直接把脚本内容复制上去即可。


我弄了两个简单的脚本文件 一个是rhel5.4一个是redhat6.4的