再不自动化就晚啦!优云教你4步打造基于CentOS的产品镜像-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

再不自动化就晚啦!优云教你4步打造基于CentOS的产品镜像

简介:
0546be941e2bc857aeebabccd3b56ec329411177

随着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包

6147259ab2f5321844d7e1c8ea901263948fcc5f

rpmbuild -bb /root/rpmbuild/SPECS/apm_c.spec

生成 apm_c-2.5.0-1.x86_64.rpm

第二步:定制kickstart配置文件

·        定制isolinux/isolinux.cfg文件

2df5511b32ab3d2f8b318d9de3b7b3b50e311636

·        配置ks.cfg

eb071d8d39b302a491cd477946635077fe7e9a2c

第三步:定制安装界面

·        配置repodata/xxx-comps.xml文件

·        配置install.img文件

b956fc25925b26bc08d5e45d2afd3d42ae18130a
fbc3855955500d78e6f27e4305ca4d4df27409af

第四步:重新生成iso镜像文件

使用mkisofs命令重新生成镜像文件

 ———我是分割线———

作者介绍:姚惠龙,现任职优云软件,从事软件定制开发10多年,经历了C/S架构的信息系统和B/S架构的web程序开发,也从事过Linux应用程序和内核程序的开发。

优云:秉承devops的理念,从监控、到应用体验,到自动化持续交付,全栈运维服务平台:https://uyun.cn

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: