Jusene's Blog

kickstart安装系统

字数统计: 1k阅读时长: 4 min
2017/02/25 Share

kickstart

我们都知道redhat系列安装系统都是需要anaconda来引导安装系统,光盘安装系统其实在光盘中也是运行了一个的linux系统来使用anaconda安装系统,安装完成系统才是正常的linux系统启动流程,相信普通的安装linux系统谁都会,而使用无人值守安装,这个过程的核心就是kickstart,kickstart是anaconda的配置文件。而光盘文件动辄几个g的大小,光下载光盘文件就花费大量时间,这里我使用了kickstart+阿里云镜像站点安装我们需要的系统。

kickstart文件的组成

  • 命令段:指定各种安装前配置选项,如键盘类型,认证方式等。
  • 程序包段:指明安装程序包,以及包组。
  • 脚本段:分为安装前脚本和安装后脚本,可以定义一些系统安装完的初始化配置。

kickstart配置

kickstart的配置文件可以使用很多中方法生成:

  • 纯手写,这里面的命令参数多达上百页,估计是受不了。
  • 改模版,每次我们安装完系统在/root目录下会生成anaconda-ks.cfg,这个就是你本次使用的kickstart的配置文件,我们修改下就能用。
  • 安装图形化界面,安装system-config-kickstart,在图形化界面点点配置下再生成kickstart。

所以我选择方便点的配置方式,安装下yum install -y system-config-kickstart

kickstart

关键的配置地方就在这里,我们选择了安装的方式,是从阿里云镜像站点上的os系统,而不是访问我们的cdrom的本地资源,至于其他配置相信大家都可以看懂,蛮简单的,然后我们生成ks.cfg。

启动ios制作

其实这个时候我们使用kickstart就已经可以一步到位的安装完系统了,但是其实还是不够自动化,目前为止,我们如果插入光盘引导,按esc键:

1
boot> linux ks=http://192.168.100.1/ks.cfg ip=192.168.100.35 netmask=255.255.255.0 gateway=192.168.100.1 dns=114.114.114.114

以上配置是基于一个web服务器来加载kickstar文件自动安装,至于后面的ip选项,如果在整个实验环境存在dhcp服务器,都可以省,具体按照环境进行,可以看到这里我们需要还需要一台web服务器来做请求资源,并且还需要敲指令,感觉好麻烦。

那么我们自己把光盘中文件再次封装成iso,自己来定制下启动过光盘。

1
#mount /dev/cdrom /mnt/cdrom
2
#mkdir /myboot
3
#cp /mnt/cdrom/ioslinux /myboot
4
#cp ks.cfg /myboot
5
#cd /mnt/cdrom/ioslinux
6
#vim isolinux.cfg
7
...
8
label linux
9
  menu label ^Install or upgrade an existing system
10
  menu default
11
  kernel vmlinuz
12
  append initrd=initrd.img ks=cdrom:/ks.cfg
13
...

在append中向内核传递了kickstart的文件位置

接下来我们封装成iso文件,要在myboot的上一层封装。

1
#mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "Centos 6 x86_64 boot" -c isolinux/boot.cat -b isolinux/isolinux.bin -o /root/boot.iso myboot

加下来我们查看下我们新封装好的iso文件

1
[root@node2 ~]# ll boot.iso -h
2
-rw-r--r--. 1 root root 44M Feb 25 01:36 boot.iso

44m,那就是我们可以使用一个44m的文件安装一个系统。

那好我们开始

按照普通的方式加入dvd
start

auto

注意:因为是基于网络的安装,所以请保证网络畅通,最好再自己做个dhcp服务器,如果不想这么麻烦,那就在光盘配置文件中在添加下对网络的配置:

1
#vim isolinux.cfg
2
...
3
label linux
4
  menu label ^Install or upgrade an existing system
5
  menu default
6
  kernel vmlinuz
7
  append initrd=initrd.img ks=cdrom:/ks.cfg ipaddr=10.211.55.55 netmask=255.255.255.0 gateway=10.211.55.1 dns=8.8.8.8
8
...

整个光盘的请求是基于请求到阿里云镜像站点的os镜像安装,基于kickstart配置,全程我们都不需要参与。

CATALOG
  1. 1. kickstart
    1. 1.1. kickstart文件的组成
  2. 2. 启动ios制作