再不自动化就晚啦!优云教你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

相关推荐

  • 创建目录树

    创建目录树 [wing@bogon ~]$ mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,\ sysconfig/network-scripts},\ lib/modules,lib64,proc,sbin,sys,tmp,usr/local{bin,sbin},\ var/{lock,…

    Linux干货 2017-07-24
  • 搭建简单的svn服务器

        svn在版本控制方面还是挺有用的。坑运维的人中就有研发,出补丁或版本的时候很坚定的说“升吧,没问题”,结果升上去后就会狂报错。所以运维的要在打补丁,尤其是改动很大的时候一定要把后路想好。否则会长时间的影响业务。svn就有一个很好的机制–回退(当然你也可以事先备份下),可以回退到之前的某个时间节点,操作很方便的。当然sv…

    Linux干货 2015-11-18
  • 基于pxe部署系统

    一、前言 在生产环境中,我们经常遇到需要部署部署多台服务器。如果我们每部署一台服务器都要拿着系统盘到机房部署,守在服务器面前,那么我们的效率是十分低下的。况且有时候机房并不在我们身边。那么我们可以通过让机房值班人员为每台服务器配置好远程管理卡,运维人员通过远程管理卡,远程登入服务器进行操作。 二、pxe原理 pxe原理是通过服务器上网卡中支持的pxe启动,通…

    Linux干货 2015-09-14
  • 关于shell脚本基础编程第五篇

                  shellb编程基础第五篇              本章内容:数组 变量:存储单个元素的内存空间数组:存储多个元素的连续的内存空间…

    系统运维 2016-08-24
  • Linux bash编程基础语法总结

    前言 在Linux学习过程中,我们无可避免的会碰到一个既让人喜欢,又令人头疼的神奇的东西——bash编程,即shell脚本。那么什么是shell脚本呢?shell是一个命令语言解释器,而shell脚本则是Linux命令的集合,按照预设的顺序依次解释执行,来完成特定的、较复杂的系统管理任务,类似于Windows中的批处理文件。本文带来的是bash编程的基础语法…

    Linux干货 2015-04-04
  • 谁写了Linux

    2009年8月,Linux软件基金会发布了一份叫《Who Writes Linux and Who Supports It》(PDF)的报告。这份报告主要对Linux 2.6.x的开发进行了全方位的统计。看了以后才知道,原来Linux的开发的生产率竟是这样的惊人,而且相当的的令人振奋,所以,在第一时间转过来给大家看看。让人不得不惊叹,这不可思议的具有非凡活力…

    Linux干货 2015-04-03