随着Linux程序的增多,软件的安装过程中经常出现如下问题:
1、硬件配置类似或者相同时,批量安装系统和软件,希望实现自动化安装,减少安装时间和人为出错。
2、工程实施人员在不同客户现场进行系统和软件安装(硬件配置不同),由于硬件有差别,不容易实现自动化。
笔者针对以上场景,从提高生产效率,减少误操作的立场,提出如下解决方案,希望能达到抛砖引玉的目的,并能与同行进行深入的探讨,发现不足之处。
背景知识点
Anaconda是RedHat、CentOS、Fedora等Linux的安装管理程序,它可以提供文本、图形等安装管理方式,并支持Kickstart等脚本提供自动安装的功能。定制安装时,它提供的定制界面,可以实现交互式界面供用户选择配置(如选择语言、键盘、时区等信息)。
Anaconda支持的管理模式:
(1)Kickstart提供自动化安装;
(2)对一个RedHat实施upgrade。
可用的安装方式:本地CDROM、USB、网络方式(NFS、FTP、HTTP)等。
对于Kickstart,它是一个利用Anconda工具实现服务器自动化安装的方法。通过生成的kickstart配置文件ks.cfg,可以实现从裸机到全功能服务的的非交互式(无人值守式)安装配置;ks.cfg是一个简单的文本文件,文件包含Anconda在安装系统及安装后配置服务时所需要获取的一些必要配置信息(如键盘设置、语言设置、分区设置等)。
Anconda直接从该文件中读取必要的配置,只要该文件信息配置正确无误且满足所有系统需求,就不再需要同用户进行交互获取信息,从而实现安装的自动化。一旦用户进行了选择,安装会以非交互的方式继续。使用kickstart可以实现流线化自动化的安装、强制建立一致性(软件包、分区、配置、监控、安全性)、以及减少人为部署的失误。
CentOS定制方法
第一步:准备软件安装包(rpm)
· 打包开发的程序
· 制作SPEC文件
· 使用rpmbuild命令生成rpm包
rpmbuild -bb /root/rpmbuild/SPECS/apm_c.spec
生成 apm_c-2.5.0-1.x86_64.rpm
第二步:定制kickstart配置文件
· 定制isolinux/isolinux.cfg文件
· 配置ks.cfg
第三步:定制安装界面
· 配置repodata/xxx-comps.xml文件
· 配置install.img文件
第四步:重新生成iso镜像文件
使用mkisofs命令重新生成镜像文件
———我是分割线———
作者介绍:姚惠龙,现任职优云软件,从事软件定制开发10多年,经历了C/S架构的信息系统和B/S架构的web程序开发,也从事过Linux应用程序和内核程序的开发。
优云:秉承devops的理念,从监控、到应用体验,到自动化持续交付,全栈运维服务平台:https://uyun.cn