CentOS安装完成后会在管理员家目录中自动生成anaconda-ks.cfg文件,而安装过程中产生的配置信息会保存在anaconda-ks.cfg文件中,需要多机安装同一个系统时可以通过编辑该配置文件来实现自动化安装。
kickstart配置文件内容如下:
#version=DEVEL install url --url=http://172.16.0.1/cobbler/ks_mirror/CentOS-6.6-x86_64/ # Reboot after installation reboot firewall --disabled authconfig --useshadow --passalgo=sha512 selinux --disabled timezone Asia/Shanghai # The following is the partition information you requested # Note that any partitions you deleted are not expressed # here so unless you clear all partitions first, this is # not guaranteed to work #clearpart --all #part /boot --fstype=ext4 --size=200 #part pv.008002 --size=61440 #volgroup vg0 --pesize=8192 pv.008002 #logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480 #logvol swap --name=swap --vgname=vg0 --size=2048 #logvol /usr --fstype=ext4 --name=usr --vgname=vg0 --size=10240 #logvol /var --fstype=ext4 --name=var --vgname=vg0 --size=20480 %packages @Base @Core @base @basic-desktop @chinese-support @legacy-x @network-file-system-client @perl-runtime @remote-desktop-clients @x11 ibus-table-cangjie ibus-table-erbi %end %post sed -i ‘1,$s@id:[0-9]:initdefault:@id:3:initdefault:@g‘ /etc/inittab [ ! -d /root/.ssh ] && mkdir /root/.ssh && chmod og=--- /root/.ssh cat >> /root/.ssh/authorized_keys << EOF ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlmq1z0G/7wbGuSUewfXlFnwzqCg/myqTi/AwP8LP+JJ49xzIKMzpeWXHD8RWIf5RlDzo+6N7uPK5O22x/QtMosi0egz4shavEJeUkO0EH+KygXXgBIGuMWmAsL+yzbgWXT9H3zdzXi/qWcrBeBv2nYB5mpYSf7o0xqdhCst1MTfcYLD8qxvkwC8RiqBA/1u9N6jeDFbHO+UzZYYCr9zgk9uz4Rrhb9BU7c1GhjUCgRwBDAuo47IHw/OT6KS9lb8lT2R/ujVoDARy/eOhw8cAFXo+QcvzNSW2qKf/Qo21uR/wz2u9SRV0lvUDNSvC2PYtR+iPlDwHY81md430yiNf9w== root@server.magelinux.com EOF # Enable funcd sed -i ‘s@certmaster =.*@certmaster = 172.16.0.1@g‘ /etc/certmaster/minion.conf /sbin/chkconfig funcd off # Set the hostname ClientName=`ifconfig eth0 | awk ‘/inet addr:/{print $2}‘ | awk -F. ‘{print $NF}‘` sed -i "s@HOSTNAME=.*@HOSTNAME=client$ClientName.magelinux.com@g" /etc/sysconfig/networks # set puppet agent sed -i ‘/\[main\]/a server=server.magelinux.com‘ /etc/puppet/puppet.conf /sbin/chkconfig puppet off # set hosts echo ‘172.16.0.1 server.magelinux.com server‘ >> /etc/hosts # yum repo %end
kickstart配置文件的组成:
命令段:键盘磁盘分区等
程序包段: %packages,%end 程序包
@group包组
package
-package -不装此包
脚本段:
%pre 安装前脚本:安装过程开始之前要执行的脚本;注意:此时的Linux系统环境为微缩版环境,因此脚本应该较简单;完成的工作较简单。
%post 安装后脚本:安装过程完成之后要执行的脚本;可以在此添加需要的脚本注意:脚本执行环境为完整的已经安装完成的系统;
Kickstart命令段: kickstart支持的命令
必备命令 kickstart启动所需的命令
可选命令用以辅助完成某些功能
详细信息可参考红帽官方文档
配置kickstart的方式:
(1)手动编辑配置文件;
(2)system-config-kickstart,GUI工具只能在图形界面打开;
程序包名同命令名;
安装 #yum installsystem-config-kickstart
命令行输入System-config-kickstart 打开如下图配置界面进行配置,配置完成后保存到相应的目录。可通过导入已有的ks.cfg来进行配置,但是不支持配置卷组和逻辑卷,需复制已有配置文件对新的ks.cfg进行编辑。
安装系统过程如何获取并使用kickstart文件:
(1)放置于安装程序能够获取到的位置;
(a)放置于光盘镜像;展开镜像做进去,再重新做镜像
(b)网络文件服务器;
要求:安装程序得支持网络功能,且能够访问到网络文件服务器;
安装过程的安装引导选项
boot:提示符下的两种安装模式
linux:默认安装模式
linuxtext:文本安装模式
与网络相关的引导选项:手动填写ip地址等
ip=IPADDR
netmask=MASK
gateway=GW
dns=DNS_SERVER_IP
ifname=NAME:MAC_ADDR
指明获取 kickstart 文件的路径:
ks=
DVDdrive ks=cdrom:/path/to/kickstart_file
HTTPServer ks=http://server_ip:port/path/to/kickstart_file
HTTPSServer ks=https://server_ip:port/path/to/kickstart_file
FTPServer ks=ftp://serverip:port/path/to/kickstart_file
NFSServer ks=nfs:server_ip:/path/to/kickstart_file
创建一个引导光盘:
仅帮助启动安装过程,不提供安装树;
(1)准备工作目录,例如这里使用/tmp/cdrom;
mkdir /tmp/cdrom
(2) 挂载系统发行光盘,复制isolinux目录至/tmp/cdrom;
mount -r –t iso9660 /dev/cdrom /media/cdrom
cp –r isolinux/ /tmp/cdrom
chmodu+w isolinux/*
(3)复制制作好的kickstart文件ks.cfg至/tmp/cdrom某位置;
cp ks.cfg /tmp/cdrom
(4) 如果需要,可以编辑/tmp/cdrom/isolinux/isolinux.cfg
在某label后的append指令后附加ks= cdrom:/ks.cfg信息,从而实现自动调用光盘上提供的ks文件;
(5) 创建iso镜像:
#mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V"CentOS 6.6 X86_64 boot disk" -b isolinux/isolinux.bin -c isolinux/boot.cat-o /root/boot.iso cdrom/
启动光盘镜像
boot 命令提示符下Linuxip=172.16.27.1 netmask=255.255.0.0 ks=cdrom:/ks.cfg 开始自动安装
原文地址:http://anyone2015.blog.51cto.com/10031868/1636714