kickstart实现 CentOS 6.9 7.4 自动安装系统

环境: VMware 14.0 Pro版 光盘镜像: CentOS-6.9-x86_64-minimal.iso ks文件生成器: kickstart 偶然接触一个kickstart, 学到自动安装系统, 先看一下原理: CentOS在VMware安装流程: 新建虚拟机 --> 挂载光盘镜像 --> 开始安装 --> 配置(包括地区, 语言, 时区, 键盘类型, root密码等等) --> 完成安装 --> 重启 --> 进入系统 在如上过程中, 对安装系统的配置是最耗时间的, 假如我们要安装100台主机, 难道要每一台都去配置吗? Come on, geek up and finish it.

什么是kickstart?

kickstart, 生成自动配置文件, 即应答文件,达到在安装系统时无须人工干预的目的

需要在图形界面下启动; 当然也可以在命令行下复制编辑 /root/anaconda-ks.cfg 文件, kickstart的最终目的也是生成一个这样的文件

安装方法:

yum -y groupinstall Desktop --> 如果你没有图形界面的话 startx & --> 启动图形界面, 并且在图形界面启动一个Terminal

kickstart实现 CentOS 6.9 7.4 自动安装系统

yum -y install system-config-kickstart  --> 安装kickstart, 是的, kickstart的安装包就叫做这么一长串名字 system-config-kickstart --> 命令行直接输入启动, 或者在图形界面下的左上角 Applications ->System Tools -> kickstart 启动, 即上图 Terninal 的上一个选项

配置ks应答文件, 图片太多, 所以做成了gif, 2s/帧, 共12张                                                                                                   

kickstart实现 CentOS 6.9 7.4 自动安装系统

现在有了ks文件, 我们保存为 /root/ks6_mini.cfg 作为安装CentOS 最小系统的应答文件好了, 但是这个文件要放在哪里呢? 

跟安装镜像一块, 烧录在硬盘里, 更改grub目录菜单(后面会有提到);

刚好还有一台虚拟机上装了apache, 那么我们就直接甩到网页上好了;

centos 7 上的, 干净httpd服务, 啥也没有

systemctl start httpd sftp 192.168.142.142:/root/ks6_mini.cfg --> 获取ks文件到$pwdcp ks6_mini.cfg /var/www/html/

centos 7 的 ip 地址为: 192.168.142.128, 那么这个URL为:

设置应答文件位置

新建虚拟机 -> 挂载正常安装光盘 -> 启动虚拟机, 进入安装界面 -> 按Tab键 -> 在内核设置后, 加上  ks=http://192.168.142.128/ks6_mini.cfg                 

kickstart实现 CentOS 6.9 7.4 自动安装系统

回车, ok, 自动安装开始, 需要注意的是, ks使用http方式获取, 需要正确配置网卡以便能到达这个网址, 否则 安装过程中会停下来, 问你要这个地址的   

        

kickstart实现 CentOS 6.9 7.4 自动安装系统

                  

kickstart实现 CentOS 6.9 7.4 自动安装系统

        

kickstart实现 CentOS 6.9 7.4 自动安装系统

上面这种安装方式, 只能称作为半自动安装, 因为需要手动干预输入ks位置 我们下面来制作一个, 无需输入ks位置, 可定制的启动引导盘

这是一个CentOS6.9最小安装光盘里的部分内容, 我们需要的就是他的 isolinux/ 下的所有文件

[root@centos6 myiso]# tree
.
├── CentOS_BuildTag
├── EFI
│  ├── BOOT
│  │  ├── BOOTX64.conf
│  │  ├── BOOTX64.efi
│  │  ├── splash.xpm.gz
│  │  └── TRANS.TBL
│  └── TRANS.TBL
├── EULA
├── GPL
├── images
│  ├── efiboot.img
│  ├── efidisk.img
│  ├── install.img
│  ├── pxeboot
│  │  ├── initrd.img
│  │  ├── TRANS.TBL
│  │  └── vmlinuz
│  ├── TRANS.TBL
│  └── updates.img
├── isolinux  --> 启动盘所需要着手的地方
│  ├── boot.cat            --> 类似MBR的存在
│  ├── boot.msg        
│  ├── grub.conf
│  ├── initrd.img       --> ramfs, 假根
│  ├── isolinux.bin      -->光盘引导程序, 在mkisofs的选项中需要明确给出文件路径, 这个文件属于SYSLINUX项目
│  ├── isolinux.cfg      -->isolinux.bin的配置文件, 当光盘启动后(即运行isolinux.bin), 会自动去找isolinux.cfg文件
│  ├── memtest
│  ├── splash.jpg       -->光盘启动界面的背景图
│  ├── TRANS.TBL
│  ├── vesamenu.c32      -->是光盘启动后的安装图形界面, 也属于SYLINUX项目, menu.c32版本是纯文本的菜单
│  └── vmlinuz         -->内核映像  ├── Packages
  │  ├── acl-2.2.49-7.el6.x86_64.rpm

......

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12727.html