天天看點

再不自動化就晚啦!優雲教你4步打造基于CentOS的産品鏡像

再不自動化就晚啦!優雲教你4步打造基于CentOS的産品鏡像

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

再不自動化就晚啦!優雲教你4步打造基于CentOS的産品鏡像

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

生成 apm_c-2.5.0-1.x86_64.rpm

第二步:定制kickstart配置檔案

·        定制isolinux/isolinux.cfg檔案

再不自動化就晚啦!優雲教你4步打造基于CentOS的産品鏡像

​·        配置ks.cfg

再不自動化就晚啦!優雲教你4步打造基于CentOS的産品鏡像

第三步:定制安裝界面

·        配置repodata/xxx-comps.xml檔案

·        配置install.img檔案

再不自動化就晚啦!優雲教你4步打造基于CentOS的産品鏡像
再不自動化就晚啦!優雲教你4步打造基于CentOS的産品鏡像

第四步:重新生成iso鏡像檔案

使用mkisofs指令重新生成鏡像檔案

 ———我是分割線———

作者介紹:姚惠龍,現任職優雲軟體,從事軟體定制開發10多年,經曆了c/s架構的資訊系統和b/s架構的web程式開發,也從事過linux應用程式和核心程式的開發。