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的