CentOS系列操作系统的安装程序anaconda与其配置文件kickstart

在使用光盘安装CentOS系的Linux操作系统时使用的是一个叫做anaconda的软件,但是在安装系统之前磁盘上是没有操作系统的,也就没有程序的运行环境,所以在光盘上的某个目录下有一个编译好的内核和ramdisk以及init进程,由init启动anaconda。

Anaconda支持文本和图形两种安装界面,并把安装过程分为三个阶段:

  1. 安装前配置
    1. 键盘类型
    2. 语言
    3. 时区
    4. 管理员密码
    5. 磁盘及其分区方式
    6. 要安装的程序包
  2. 安装阶段
    1. 在目标磁盘创建分区、执行格式化
    2. 将选定的程序包安装至目标磁盘
    3. 生成bootloader
  3. 第一次启动
    1. 配置iptables
    2. 设置SELinux
    3. 配置core dump核心转储,将内存中的内容转储到磁盘上

这些操作都需要手动进行选择,但anaconda是支持读取配置文件实现自动化安装的,而它的配置文件就叫做kickstart。使用anaconda安装好的系统,在root用户的家目录下有一个anaconda-ks.cfg文件,这个文件记录了anaconda的所有配置,也可以理解为它就是一个kickstart文件。

Kickstart文件由一下几部分组成:

命令段:配置键盘、磁盘分区等,这些命令中有必备命令也有可选命令,具体可参看redhat官方的文档。

程序包段:以%packages开头以%end结尾,此之间的为要安装的的程序包,如果是包组则@gropename,不安装的程序包不写或-packagename。

脚本段:以%pre起始表示安装前执行的脚本,但因为这时的Linux环境是微缩版的,所以脚本应当尽量简单;以%post起始表示安装过后要执行的脚本,这些脚本是在安装后的完整的Linux环境中运行的。最后以%end结尾(可有可无)。

配置kickstart文件的方式有两种,一种是手动编辑配置,另一种是使用system-config-kickstart工具。不过要使用system-config-kickstart需要使用yum进行安装,好在CentOS的base源中就有。安装完成之后在Xshell下直接使用system-config-kickstart命令就可以了,它会启动一个GUI界面,这个界面和anaconda界面非常类似,通过之上的提示一步步配置就可以了。

这个命令也可以加载现有的kickstart文件做修改,在file菜单中选择就可以了。

配置好后我们如果要使用kickstart文件有两种方式:一种是将kickstart放置到光盘上,另一种是放到网络服务器上。放到网络服务器上的方法我会在以后的有关PXE和cobbler服务器的博客中写出,本文我们来使用制作引导光盘方式完成安装。

创建引导光盘:根据CentOS官方光盘,将提供启动安装过程的内容扣下来,剔除安装树。

  1. 准备工作目录
    1. mkdir /tmp/cdrom
    2. [root@bogon ~]# mkdir /media/cdrom
    3. [root@bogon ~]# mount /dev/cdrom /media/cdrom

    在光盘目录下,能够显示安装界面提供安装功能的是一个叫做isolinux的目录

  2. 复制isolinux目录和kickstart文件拷贝到我们准备的/tmp/cdrom中
    1. [root@bogon cdrom]# cp -r isolinux/ /tmp/cdrom/
    2. [root@bogon cdrom]# chmod u+w /tmp/cdrom/isolinux/*
    3. [root@bogon cdrom]# cp /root/anaconda-ks.cfg /tmp/cdrom/ks.cfg
  3. 编辑isolinux目录下的相关文件并制作iso文件:

    [root@bogon isolinux]# ls

    boot.cat grub.conf isolinux.bin memtest TRANS.TBL vmlinuz

    boot.msg initrd.img isolinux.cfg splash.jpg vesamenu.c32

    这些是isolinux目录下的文件,我们其中boot.msg和boot.cat是一些提示的帮助信息和引导菜单,splash.jpg是安装界面的背景图片,vmlinuz是微内核,vesamenu.c32、isolinux.bin、memtest是提供引导功能的程序和数据,而它们所需要用到的配置文件就是isolinux.cfg,我们就是需要编辑这个文件让引导光盘自动加载kickstart文件。此文件中有许多lable,不lable完成不同功能,有些类似于grub中的title,我们在linux这个lable中的append指令之后添加一条ks=cdrom:/ks.cfg,用于指定kickstart文件的位置然后使用mkisofs命令创建iso镜像,这里如果不指定的话,需要在进入安装界面后桥ESC键进入boot接口,手动指定:boot> linux ip=192.168.1.100 netmask=255.255.255.0 gateway=192.168.1.1 ks=cdrom:/ks.cfg。

4、将制作好的iso镜像装载到需要安装系统的主机中并配置好从光盘启动就可以了,因为我们的光盘是不提供安装树的,所以kickstart文件中的url和repo指令指定了网络上的文件服务器以提供安装树和程序包。

你可能感兴趣的:(linux,style,操作系统,配置文件,运行环境)