天天看點

自動化部署必備技能—定制化RPM包

1、編譯安裝軟體,優點是可以定制化安裝目錄、按需開啟功能等,缺點是需要查找并實驗出适合的編譯參數,諸如MySQL之類的軟體編譯耗時過長。 

2、yum安裝軟體,優點是全自動化安裝,不需要為依賴問題發愁了,缺點是自主性太差,軟體的功能、存放位置都已經固定好了,不易變更。 

===>如果你現在還為是使用編譯安裝軟體還是使用yum安裝軟體發愁,那你就out了。 

3、編譯源碼,根據自己的需求做成定制RPM包–>搭建内網yum倉庫–yum安裝。結合前兩者的優點,暫未發現什麼缺點。可能的缺點就是RPM包的通用性差,隻能适用于本公司的環境。另外一般人不會定制RPM包。這是中大型網際網路企業運維自動化的必要技能。

這裡也不介紹rpmbuild這個打包工具了,想了解的朋友自行谷歌百度。但我不建議大家花太多的時間去學習這個指令,比較晦澀,而且我會在下面介紹更簡單的指令。

FPM的作者是jordansissel 

FPM功能簡單說就是将一種類型的包轉換成另一種類型。

安裝fpm依賴:

yum install -y  openssl*

yum install -y gcc*

yum install -y rpm-build

詳細使用見fpm –help

常用參數

安裝rpm包的三種方法:

rpm指令安裝

yum指令安裝rpm包

搭建内網yum倉庫 

<a href="http://blog.oldboyedu.com/autodeploy-yum" target="_blank">YUM倉庫搭建</a>

編譯安裝好nginx,mysql,php,此處有個問題,就是php的大部分依賴環境是通過yum安裝的,但有一個libiconv-1.14.tar.gz包需要編譯安裝,安裝時已經指定了安裝目錄,隻需一同打包即可。

還有一個問題,就是mysql這個目錄比較大,用fpm打包耗時長。平時我們有可能需要對nginx或php做優化,這樣又得重新打包。是以我們可以将mysql分離出來,分别打包。隻需在制作nginx+php的rpm包時添加mysql的依賴即可。

本文轉自 baishuchao 51CTO部落格,原文連結:http://blog.51cto.com/baishuchao/1927662