科技小先锋 2017-11-14 1324浏览量
每一个优秀的人,都有一段沉默的时光。那一段时光,是付出了很多努力,忍受孤独和寂寞,不抱怨不诉苦,日后说起时,连自己都能被感动日子。
--马哥语录
之前发过一篇关于通过PEX实现linux批量无人值守自动安装的博文,不过写的只是具体的配置和操作,对于原理部分没有说明,最近通过一段时间的学习,把linux的启动安装过程深入的了解了下,这里还要特别感谢马哥的指导
言归正传,下面开始深入探讨linux的安装
linux安装大致可以分为2个阶段
第一阶段:anaconda
第二阶段:installinstall阶段系统会按照anaconda阶段设定的参数自动安装,这里主要要说的是anaconda阶段,此阶段是linux的预安装环境,提供linux安装选项的一个接口,可以将它比作是window中的PE环境
anaconda有两种模式:交互式和非交互式
交互式就和普通安装一样,按照提示选择选项一步步的安装
非交互式则通过读取kickstart文件的配置,进行自动安装,这和window中的无人值守安装差不多的,这个文件即是ks.cfg文件(相当于window中的wi2k3.sif应答文件)
而在安装linux过程中,获取ks.cfg文件的方式有多种,如直接在cdrom中获取,常见的形式还有http,ftp,nfs等方式
格式有三种:
cdrom和硬盘
ks=cdrom:/dir/ks.cfg(硬盘的话把cdrom换成hd即可,下面的类似)
http和ftp
ks=http://domain.com/dir/ks.cfg
NFS
ks=nfs:domain.com:/dir/ks.cfg
三种格式主要区分在于后面的斜杠,这里要注意区分
在使用ks.cfg之前,需要先引导启动环境
引导方式有很多,cdrom,usb,PXE等。
在引导进入anaconda后,即可通过读取ks.cfg来进行系统的自动安装
这里开始说说kickstart文件的大致内容
ks.cfg文件组成大致分为3段
1.命令段:
键盘类型,语言,安装方式等系统的配置,有必选项和可选项,如果缺少某项必选项,安装时会中断并提示用户选择此项的选项
2.软件包段:
%packages
@groupname:指定安装的包组
package_name:指定安装的包
-package_name:指定不安装的包
在安装过程中默认安装的软件包,安装软件时会自动分析依赖关系。
3.脚本段(可选):
%pre:预安装脚本(由于只依赖于启动镜像,支持的命令很少)
%post:后安装脚本(基本支持所有命令)
而具体的ks.cfg文件的配置,我们只需要在已经安装好的linux的root家目录找到anaconda_ks.cfg(这个ks文件就是在安装linux后,根据用户的安装选项自动生成的)
下面的是我的一个样例
(系统是CentOS-6.2-i386-minimal,所以配置样例比较精简)
如果觉得使用样本的方式手工写配置文件比较麻烦,也可以使用图形化工具来制作ks.cfg文件
在linux中用yum安装system-config-kickstart就行了(图形化依赖于x-window),选项也有些限制(比如分区不能使用lvm),这里就不再演示了
本文转自lustlost 51CTO博客,原文链接:http://blog.51cto.com/lustlost/910705,如需转载请自行联系原作者
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。