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

111.jpg

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

1.jpg

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

生成apm_c-2.5.0-1.x86_64.rpm

第二步:定制kickstart配置文件

·定制isolinux/isolinux.cfg文件

2.jpg

·配置ks.cfg

3.jpg

第三步:定制安装界面

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

·配置install.img文件

4.jpg

5.jpg

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

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

———我是分割线———

作者介绍:姚惠龙,现任职优云软件,从事软件定制开发10多年,经历了C/S架构的信息系统和B/S架构的web程序开发,也从事过Linux应用程序和内核程序的开发。秉承devops的理念,从监控、到应用体验,到自动化持续交付,全栈运维服务平台 www.uyun.cn

原创文章,作者:uyunops,如若转载,请注明出处:http://www.178linux.com/24199

(0)
uyunopsuyunops
上一篇 2016-07-16 22:25
下一篇 2016-07-16 22:26

相关推荐

  • 2016全球运维大会,优云蒋君伟演讲“CMDB+自动化的管理融合”成一大亮点

    2016全球运维大会于9月23日-24日在上海盛大开幕。作为国内运维行业的重量级大会,优云产品总监蒋君伟在自动化专场与来自全国各地的运维同行一起探讨、分享业内自动化运维的最佳实践。现场情绪热烈,气氛高涨,成为了本届全球运维大会的一大亮点。 全新梳理自动化与CMDB的融合之道 全球运维大会当天,运维自动化专场很多大牛针对自动化运维管理中的CMDB进行了激烈的讨…

    Linux资讯 2016-12-05
  • 8.5文本处理工具

    取本机ip地址 利用head命令取行首两行,tail命令取行尾一行, ifconfig |head -2 |tail -1   利用tr -s命令替换空格为“:”,并合并重复的“:”。利用cut -d:-f3命令,保留以“:”为分割符的第三部分   ifconfig |head -2 |tail -1 |tr -s "…

    Linux干货 2016-08-08
  • 设计模式(十一)代理模式Proxy(结构型)

    1.概述        因为某个对象消耗太多资源,而且你的代码并不是每个逻辑路径都需要此对象, 你曾有过延迟创建对象的想法吗 ( if和else就是不同的两条逻辑路径) ? 你有想过限制访问某个对象,也就是说,提供一组方法给普通用户,特别方法给管理员用户?以上两种需求都非常类似,并且都需要解决一个更大的问题:你如何提供…

    Linux干货 2015-07-09
  • 谷歌三大核心技术(二)Google MapReduce中文版

    摘要 MapReduce是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现。用户首先创建一个Map函数处理一个基于key/value pair的数据集合,输出中间的基于key/value pair的数据集合;然后再创建一个Reduce函数用来合并所有的具有相同中间key值的中间value值。现实世界中有很多满足上述处理模型的例子,本论文将详细描…

    Linux干货 2015-04-13
  • LAMP+logzilla+sphinx+syslog-ng实现集中日志管理(第一版)[原创]

    一、前言        目前查看系统日志比较被动,遇到系统不正常或故障时才会主动去检查服务器系统日志,这样一来不能及时了解系统的运行情况,因此部署Logzilla+sphine+syslog-ng来弥补这不足。以下为安装、部署平台详细步骤。(Logzilla是什么新东西?其实前身就是php-syslog-ng,引用作者…

    Linux干货 2015-03-27
  • rsyslog日志系统

    一、前言  什么是日志?    日志就是历史事件,按时间序列将发生的事件予以记录;日志记录信息记录的是事件的发生时间以及事件内容  Linux下记录日志的系统:    syslog:是CentOS 5.0系统上使用的日志系统,有两类日志,分别是syslogd、klogd;    …

    Linux干货 2015-06-15