设为首页 收藏本站
查看: 860|回复: 0

[经验分享] CentOS系列操作系统的安装程序anaconda与其配置文件kickstart

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-16 09:02:49 | 显示全部楼层 |阅读模式
                      在使用光盘安装CentOS系的Linux操作系统时使用的是一个叫做anaconda的软件,但是在安装系统之前磁盘上是没有操作系统的,也就没有程序的运行环境,所以在光盘上的某个目录下有一个编译好的内核和ramdisk以及init进程,由init启动anaconda。
Anaconda支持文本和图形两种安装界面,并把安装过程分为三个阶段:
  • 安装前配置

    • 键盘类型
    • 语言
    • 时区
    • 管理员密码
    • 磁盘及其分区方式
    • 要安装的程序包
  • 安装阶段

    • 在目标磁盘创建分区、执行格式化
    • 将选定的程序包安装至目标磁盘
    • 生成bootloader
  • 第一次启动

    • 配置iptables
    • 设置SELinux
    • 配置core dump核心转储,将内存中的内容转储到磁盘上
这些操作都需要手动进行选择,但anaconda是支持读取配置文件实现自动化安装的,而它的配置文件就叫做kickstart。使用anaconda安装好的系统,在root用户的家目录下有一个anaconda-ks.cfg文件,这个文件记录了anaconda的所有配置,也可以理解为它就是一个kickstart文件。
Kickstart文件由一下几部分组成:
命令段:配置键盘、磁盘分区等,这些命令中有必备命令也有可选命令,具体可参看redhat官方的文档。
wKioL1Wk_rTS73vUAAJlNlpWrK4795.jpg        
程序包段:以%packages开头以%end结尾,此之间的为要安装的的程序包,如果是包组则@gropename,不安装的程序包不写或-packagename。
wKiom1Wk_Nzh9QmfAAEmBRyw-MI144.jpg        
脚本段:以%pre起始表示安装前执行的脚本,但因为这时的Linux环境是微缩版的,所以脚本应当尽量简单;以%post起始表示安装过后要执行的脚本,这些脚本是在安装后的完整的Linux环境中运行的。最后以%end结尾(可有可无)。
wKioL1Wk_rXz0B_mAAH-NN-cM68791.jpg        
配置kickstart文件的方式有两种,一种是手动编辑配置,另一种是使用system-config-kickstart工具。不过要使用system-config-kickstart需要使用yum进行安装,好在CentOS的base源中就有。安装完成之后在Xshell下直接使用system-config-kickstart命令就可以了,它会启动一个GUI界面,这个界面和anaconda界面非常类似,通过之上的提示一步步配置就可以了。
wKiom1Wk_N3Tlod-AALof2y5hJw706.jpg        
这个命令也可以加载现有的kickstart文件做修改,在file菜单中选择就可以了。
配置好后我们如果要使用kickstart文件有两种方式:一种是将kickstart放置到光盘上,另一种是放到网络服务器上。放到网络服务器上的方法我会在以后的有关PXE和cobbler服务器的博客中写出,本文我们来使用制作引导光盘方式完成安装。
创建引导光盘:根据CentOS官方光盘,将提供启动安装过程的内容扣下来,剔除安装树。
  • 准备工作目录

    • mkdir /tmp/cdrom
    • [iyunv@bogon ~]# mkdir /media/cdrom
    • [iyunv@bogon ~]# mount /dev/cdrom /media/cdrom
    在光盘目录下,能够显示安装界面提供安装功能的是一个叫做isolinux的目录
  • 复制isolinux目录和kickstart文件拷贝到我们准备的/tmp/cdrom中

    • [iyunv@bogon cdrom]# cp -r isolinux/ /tmp/cdrom/
    • [iyunv@bogon cdrom]# chmod u+w /tmp/cdrom/isolinux/*
    • [iyunv@bogon cdrom]# cp /root/anaconda-ks.cfg /tmp/cdrom/ks.cfg
  • 编辑isolinux目录下的相关文件并制作iso文件:
    [iyunv@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。
    wKioL1Wk_raRL3AhAABzgah9Pvk991.jpg                        

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


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-87120-1-1.html 上篇帖子: Linux通过脚本绑定dhcp地址 下篇帖子: RHEL6使用CentOS的yum源 配置文件 操作系统 程序
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表