kickstart及引导镜像制作

      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== [email protected]
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来进行配置.

wKiom1U2bIbjTXjQAAJqPuLanyo913.jpg                  
安装系统过程如何获取并使用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 �Ct iso9660 /dev/cdrom /media/cdrom
    cp  �Cr 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 开始自动安装

你可能感兴趣的:(配置文件,kickstart)