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

相关推荐

  • block(data block,directory block)、inode、块位图、inode位图和super block概念详解

    一.基本概念:      1.block:文件系统中存储数据的最小单元,ext3文件系统中,创建时默认4k,分为存储文件数据的data block和存储目录数据的directory block      2.inode:又称“索引节点”,每一个inode对应一个文件或目录,记录了…

    Linux干货 2016-03-04
  • NTP服务器搭建

        1、NTP(Network Time Protocol)         在计算机世界中,NTP(Network Time Protocol,网络时间协议)被广泛用于对时间的统一性和准确性要求非常高的场景,是用来使网络中的各个计算机时间同步的一种协议。…

    Linux干货 2015-11-18
  • linux上RAID的工作方式

    -. RAID是什么?     磁盘阵列(Redundant Arrays of Independent Disks,RAID),是将多块廉价硬盘组合在一起当作一个更大的硬盘使用,利用可以同时对每个硬盘同时进行读写的特性提高计算机对硬盘的读写能力。我们甚至可以空出RAID中的一块或多块硬盘对整个RAID进行数据校验,提…

    Linux干货 2015-12-06
  • 利用heartbeat构建高可用http

    一、实验准备:  1)实验环境:          2)同步时间;确保可以使用主机名通信;确保可以使用ssh秘钥方式进行彼此登录;由于是两台设备,需要仲裁;  确保可以使用主机名通信 web1修改hosts文件如下: 172.16.2.12 web1.linux.com…

    Linux干货 2015-07-08
  • lamp平台 php解析器基于模块和php-fpm

    首先,我先介绍一下实验环境: http服务器:192.168.236.128(php解析器基于modules) mysql服务器:192.168.236.129 编译和配置http服务器,http版本是2.4以上的。 由于http依赖于apr apr-util这两个包,但是我们系统上的rpm包版本比较低,我们也需要下载这两个源码包来编译,解决依赖关系。 还要…

    Linux干货 2015-08-31
  • 设计模式(二)单件模式Singleton(创建型)

      几乎所有面向对象的程序中,总有一些类的对象需要是唯一的,例如,通过数据库句柄到数据库的连接是独占的。您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销。再如大家最经常用的IM,如QQ,在同一台电脑,一个帐号只能有唯一的登录。 1. 问题 怎样确保一个特殊类的实例是独一无二的(它是这个类的唯一实例),并且这个实例…

    Linux干货 2015-06-24