再不自動化就晚啦!優云教你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.www58058.com/24199

(0)
uyunopsuyunops
上一篇 2016-07-16
下一篇 2016-07-16

相關推薦

  • Jumpserver 3.0 全新改版 更輕、更快、更便捷

               Jumpserver Wiki                       &…

    系統運維 2016-01-05
  • 設計模式 ( 二十 ) 訪問者模式Visitor(對象行為型)

    特此說明:對訪問者模式理解不是特別透徹,若有誤,請指正,謝謝! 1.概述 在軟件開發過程中,對于系統中的某些對象,它們存儲在同一個集合collection中,且具有不同的類型,而且對于該集合中的對象,可以接受一類稱為訪問者的對象來訪問,而且不同的訪問者其訪問方式有所不同。 例子1:顧客在超市中將選擇的商品,如蘋果、圖書等放在購物車中,然后到收銀員處付款。在購…

    Linux干貨 2015-04-07
  • PHP運行模式

    PHP運行模式有4鐘: 1)cgi 通用網關接口(Common Gateway Interface))2) fast-cgi 常駐 (long-live) 型的 CGI3) cli  命令行運行   (Command Line Interface)4)web模塊模式 (apache等web服務器運行的模塊模式) 1.  CGI(…

    Linux干貨 2015-04-10
  • 文件系統

            文件系統表現為單個統一的層次結構:從目錄/開始并通過若干數量的子目錄繼續向下擴展,/也叫做根目錄。這種單一的層次系統和 Windows 的不一樣,后者的分區有專門的名字空間。        &n…

    Linux干貨 2016-02-28
  • PHP SOCKET編程

    1. 預備知識        一直以來很少看到有多少人使用php的socket模塊來做一些事情,大概大家都把它定位在腳本語言的范疇內吧,但是其實php的socket模塊可以做很多事情,包括做ftplist,http post提交,smtp提交,組包并進行特殊報文的交互(如smpp協議),whois查詢。這些都是比較常見…

    Linux干貨 2015-04-10
  • 震驚?。ptables還能這樣用!

    基本語法:iptables [-t 表] [操作命令] [鏈][規則匹配器][-j 目標動作] 系統的INPUT和OUTPUT默認策略為DROP; # iptables -P INPUT DROP # iptables -P OUTPUT DROP 1、限制本地主機的web服務器在周一不允許訪問;新請求的速率不能超過100個每秒;web服務器包含了admin…

    系統運維 2017-04-18
欧美性久久久久