友情提醒:文中的实验环境为vmware workstation 10 + Centos 6.6 X86_64,请谨慎使用文中提及的命令。
内容概括:
1.kickstart/Anaconda简介
2.实验描述及实验环境准备
3.kickstart文件制作
4.启动引导光盘的制作
5.测试安装
一.kickstart/anaconda简介:
Anaconda是Red
Hat系列linux发行版使用的操作系统安装管理程序。它提供文本、图形安装方式。
Anaconda支持的管理模式:安装全新os系统;对一个已存在的RedHat系列发行本os实施升级; Rescuse救援模式。
Anaconda是由python语言编写,若有兴趣研究Anaconda可参考站点内容:
http://fedoraproject.org/wiki/Anaconda
http://www.ibm.com/developerworks/cn/linux/l-anaconda/index.html
kickstart是什么?自从google被我大天朝放在长城firewall之外,很难从搜索引擎上得到准确的解释,度娘和bing都没有满意的解答,暂且在此认为是Redha系列发行版内一款可提供脚本文件的管理员工具,anaconda可根据kickstart提供的脚本文件实施无人值守系统安装。
使用kickstart优势:
1. 流线化自动化的安装;
2. 快速大量的裸机部署;
3. 强制建立的一致性(软件包,分区,配置,监控,安全性)
4. 减少人为的部署失误
二.实验描述及实验环境准备:
实验描述:
通过Centos 6.6 X86_64的系统光盘中isolinux目录结合kickstart提供的kc.cfg文件,制作一个
启动镜像boot.iso文件。在vmware workstation中新建一个虚拟机让其使用boot.iso镜像引导,结合
局域网yum源提供的rpm包,安装一个全新的centos 6.6 X86_64系统,在此过程中管理员只需在开始界面选择“全新安装”,而无需做其他干预操作。
但为什么标题是“半自动化”?因为这个实验环境中没有给安装测试机提供dhcp地址自动分配,还需在ks.cfg文件中给安装测试机写明地址。这限制了大范围安装的可行性。待以后补全吧。
实验环境准备:
yum源服务器实现:
2.1)配置IP地址并接入局域网:
2.2)配置yum源以及发布方式
Centos6.6 X86_64提供安装光标有2张,经常用到的程序包都在DVD1上,实验中的yum源的,就通过
DVD1光盘来实现,但是这个yum源是个不完整的,只起到方法借鉴的作用。
请跟着下面截图做实验:
三. kickstart文件制作
3.1)kickstart文件结构
命令段:
必备命令
可选命令
软件包段:
%packages :表示开始,
@group :要安装的包组
package :要安装的包
-package :不安装的包,但被依赖的话,即使指定不安装也会被安装
%end :表示结束
脚本段:
%pre
安装前脚本:安装过程开始前要执行的脚本
注意:此时的linux系统环境为微缩版环境,因此脚本应该简单
%post
安装后脚本:安装后执行的脚本
注意:脚本执行环境为完整的已安装完成的脚本
3.2)借助系统已有的ks文件,制作自己需要使用的kickstart文件
每个Centos系统安装完成后,默认在root用户家目录中存在一个anaconda-ks.cfg文件,这个文件是
anaconda安装系统时使用的配置。我们可借助这个文件来编写自己需要的ks.cfg文件,这大大简化了流程和减少了错误的发生。
要修改anaconda-ks.cfg文件生成所需的ks.cfg文件,需借助system-config-kickstart工具,这个工具需要GUI环境,若你的系统上已经安装有X桌面,请使用下面的命令安装这个工具。
[[email protected] ~]# yum -y install system-config-kickstart
若你的系统没有安装X桌面请使用下面的命令安装:
[[email protected] ~]# yum -y groupinstall "X Window System" "KDE Desktop"
[[email protected] ~]# yum -y install system-config-kickstart
在图形界面中开启kickstart编辑工具,制作ks.cfg文件
下面至展示有所变动的页面,没有展示的选项页面表示没有变动,请注意截图左边的选项
使用vim编辑器打开ks.cfg进行确认(并不推荐):
四. 引导光盘的制作
请按照截图执行
下面进行启动引导光盘的制作:
五.安装测试机安装测试
仔细观察,安装过程是不是不需自己在动手输入别的了。