本节索引:
一、KickStart安装简介
二、实验:使用kickstart自动化安装CentOS系统
三、实验:制作CentOS6的自动化启动引导文件boot.iso
四、实验:制作U盘自动化安装盘
五、实验:制作不依赖网络的完整CentOS6系统ISO自动安装盘
一、KickStart安装简介
KickStart是一种半自动化的安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预
填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装
文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适
的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart
文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何获取ks.cfg文件
,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。
KickStart文件的格式:
KickStart文件格式与anaconda-ks.cfg文件格式十分类似,总体由三部分组成:
1)命令段:指明各种安装前配置,如键盘类型等
必备命令:
authconfig:认证方式配置
authconfig –useshadow –passalgo=sha512
bootloader:bootloader的安装位置及相关配置
bootloader –location=mbr –driveorder=sda –
append=”crashkernel=auto rhgb quiet”
keyboard:设定键盘类型
lang:语言类型
part:创建分区
rootpw:指明root的密码
timezone:时区
可选命令:
install OR upgrade
text:文本安装界面
network
firewall
selinux
halt
poweroff
reboot
repo
user:安装完成后为系统创建新用户
url: 指明安装源
key –skip 跳过安装号码,适用于rhel版本
2)程序包段:指明要安装的程序包组或程序包,不安装的程序包等
%packages
@group_name
package
-package
%end
3)脚本段:
%pre:安装前脚本
运行环境:运行于安装介质上的微型Linux环境
%post:安装后脚本
运行环境:安装完成的系统
安装后脚本非常有用,我们可以在这里定义系统安装完成后自动安装yum源,创建一些普通用户等功能
生成ks应答文件方法:
1.参照anaconda-ks.cfg文件修改(不常用)
2.利用system-config-kickstart图形工具制作(常用)
检查ks文件语法错误:
ksvalidator /path/to/ks.cfg
在实验之前,我们还是先了解下系统安装程序anaconda以及光盘中isolinux目录的功能
anaconda:系统安装程序
1)安装前配置阶段:
安装过程使用的语言
键盘类型
安装目标存储设备
Basic Storage:本地磁盘
特殊设备:iSCSI
设定主机名
配置网络接口
时区
管理员密码
设定分区方式及MBR的安装位置
创建一个普通用户
选定要安装的程序包
2)安装阶段:
在目标磁盘创建分区,执行格式化操作等
将选定的程序包安装至目标位置
安装bootloader和initramfs
3)图形模式首次启动:
Iptables
Selinux
Core dump
系统在完成安装后,会在用户家目录自动生成一个anaconda-ks.cfg配置文件,记录了安装系统时选择的
各种参数,安装包等内容
系统光盘中isolinux目录列表文件:
boot.cat 类似于系统启动时MBR的作用
grub.conf grub.conf文件镜像
initrd.img 是ramfs虚拟文件系统(先cpio,再gzip压缩)
isolinux.bin 相当于grub的第二阶段
isolinux.cfg isolinux.bin的配置文件,当光盘启动,会自动去找isolinux.cfg文件
memtest 内存检测,这是一个独立程序
splash.jpg 光盘启动界面的背景图
vesamenu.c32 菜单风格,菜单图标
vmlinuz 内核镜像
二、实验:使用kickstart半自动化安装CentOS系统:
CentOS6:
一、系统默认未安装system-config-kickstart,先进行yum安装:
yum install system-config-kickstart
二、配置kickstart
1.基本配置
这里我们选择语言、键盘模式、时区,设置root账户密码并且选择安装后自动重启以及字符界面安装。
2.选择安装方式,我们以http安装为例
3.Boot Loader设置
4.分区设置,与正常安装CentOS系统时设置分区类似,点击Add添加分区
5.网络配置界面,用来配置系统安装完成后的网络地址
6.用户加密方式设置,我们选择默认即可
7.防火墙设置,在这里我们可以关闭SELinux策略,防火墙等级选择默认
8.显示设置
9.自定义安装包,我们可以在这一项选择想要安装的安装包,比如mysql数据库等
10.安装前脚本
11.安装后脚本
我们可以在这里定义系统安装完成后自动安装yum源,创建一些普通用户等功能
三、保存ks.cfg文件
打开ks.cfg文件,可以看到刚才设置的参数已经保存在文件中,我们还可以直接修改ks.cfg文件,比如添加一些安装包等
四、在本机打开httpd服务,并将fs.cfg文件上传到网页
service httpd restart
service iptables stop
mv ks6_mini.cfg /var/www/html
浏览器:http://172.20.101.101/ks6_mini.cfg确认
五、开启一台新虚拟机:
网卡设置为桥接模式
在进入光盘引导界面后,按ESC,出现下图界面,输入:
boot: linux ip=172.20.0.222 netmask=255.255.0.0 ks=http://172.20.0.223/ks6_mini.cfg
注:此处设置的ip地址是为了访问httpd服务设置的ip地址,与系统安装后的ip地址不同
六、自动化安装
如果ks.cfg文件没有设置出错的话,将进入自动安装界面
七、安装完成
我们可以看到,安装后脚本也执行成功,wang账户创建成功,分区创建成功!
CentOS7:
7版本的kickstart安装与6基本一致,仅需修改个别版本参数
需要注意的是,在可选安装包这一项,获取不到安装包信息
解决方法:将yum的base源名称改为development即可
再次打开,我们发现可选安装包又出现了
其他流程与安装CentOS6版本基本一致:
三、实验:制作CentOS6的启动光盘boot.iso
思路:参考ISO光盘内文件,制作boot6.iso
1.将光盘isoliux目录复制到/data/myiso目录下,ks.cfg文件复制到/data/myiso/ksdir下
目录结构如下:
rm -rf /data/*
cd /data
mkdir myiso
cp -r /misc/cd/isolinux /data/myiso/
mkdir /data/myiso/ksdir
cp ks6_mini.cfg /data/myiso/ksdir
cp ks6_desktop.cfg /data/myiso/ksdir
2.修改isolinux.cfg文件
cd isolinux/
vim isolinux.cfg
内存检测删掉
本地安装留下,且留作默认项(重要)
救援模式删掉
增加桌面安装
label desktop
kernel vmlinuz
append initrd=initrd.img ks=cdrom:/ksdir/ks6_desktop.cfg
增加最小化安装
label mini
kernel vmlinuz
append initrd=initrd.img ks=cdrom:/ksdir/ks6_mini.cfg
3.生成boot.iso文件
mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V “CentOS 6.9 x86_64 boot” -b isolinux/isolinux.bin -c isolinux/boot. cat -o /root/boot.iso /data/myiso/
4.将boot.iso文件导出系统,新开一台虚拟机,挂载boot.iso;并设置光盘引导启动
5.开机成功,显示我们通过isolinux.cfg修改过的菜单选项,默认本地安装,选择其他选项将进行对应系统的自动安装
四、实验:制作U盘自动安装盘
思路:以实验三制作完成的boot.iso为启动文件,增加一块1G的虚拟硬盘/dev /sdc模拟U盘将iso转
1.为混合模式
isohybrid boot.iso
2.使用dd命令写入新硬盘
dd if=boot.iso of=/dev/sdc
3.开启一台新的虚拟机,插入刚才的硬盘,并设置新硬盘为启动项
4.启动成功
五、实验:制作不依赖网络的完整CentOS6系统ISO自动安装盘
1.将CentOS6的第一张盘和第二张盘所有内容拷入centos6目录
mkdir /data/centos6
cp -rv /misc/cd/ /data/centos6 第一张盘
cp -rv /misc/cd/* /data/centos6 第二张盘
2.删除centos6/repodata/文件,只留下.*comps.xml一个文件
3.根据.*comps.xml生成新的repodata目录
cd centos6/
createrepo -g .*comps.xml
4.将准备好的ks.cfg文件拷入/data/centos6/ksdir目录
mkdir /data/centos6/ksdir
cp ks6_mini.cfg /data/centos6/ksdir
cp ks6_desktop.cfg /data/centos6/ksdir
5.删除/data/centos6目录下多余的文件,如TRANS.TBL文件
find /data/centos6 -name TRANS.TBL -exec rm {} \;
6.修改ks.cfg文件启动方式为光盘启动cdrom
vim ksdir/ks6_mini.cfg
#Use network installation
cdrom
7.按照ks.cfg文件修改isoinux.cfg文件启动选项
cp /root/isolinux/isolinux.cfg .
vim isolinux.cfg
注意设置本地启动为默认启动项
8.生成boot.iso
mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V “CentOS 6.9 x86_64 Everything” -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/CentOS-6.9-x86_64-Everything.iso /data/centos6/
9.将CentOS-6.9-x86_64-Everything.iso文件导出,由于文件过大,推荐使用xftp导出
10.新开一台虚拟机,挂载CentOS-6.9-x86_64-Everything.iso,设置光盘为开机启动
如无错误,将弹出选项可进行自动安装
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/99307