製作puppet的rpm包
2012-03-10 22:43:59
分類: linux
製作puppet的rpm包
當前puppet的最新版是:
facter的最新穩定版本是:
puppet-2.6.6.tar.gz中的conf/redhat/目錄下包含了乙個puppet.spec檔案,經過簡單的修改,就可又直接用來製作rpm包了。
我的當前環境是rhel-5.7,x86_64。
1. 準備自己的打包環境
確認系統上有rpmbuild命令可用,沒有的話,安裝rpm-build包。
建議使用個人賬號打包,這樣需要先初始化乙個自己的打包環境:
在自己的home目錄建乙個rpmbuld目錄,
$cd ~
$mkdir rpmbuild
$mkdir rpmbuild/
然後,在自己的home目錄下建乙個.rpmmacros 檔案,內容如下:
%_topdir %(echo $home)/rpmbuild
對於這次要打包的puppet,puppet.spec中依賴乙個rhel巨集,你可以寫在.rpmmacros檔案裡,也可以rpmbuild -d 『rhle 5′這樣在打包時指定。
假如寫在.rpmmacros檔案裡,內容如下:
%rhel 5
另外,還有乙個建議,假如你想打出來的包的名字是puppet-2.7.6-1.el5.noarch.rpm,那麼,在這個檔案裡寫新增乙個巨集dist
%dist .el5
3.修改puppet.spec檔案,官方提供的這個包裡的puppet.spec有個錯誤,搜尋http_server,只有一行,將http_server改為http。
4.將這個puppet.spec複製到~/rpmbuild/specs下。
5.將修改過的puppet-2.7.6目錄重新打包,將包複製到~/rpmbuild/sources目錄下。
6. 最後一步,開始打包:
$cd ~/rpmbuild/specs
假如~/.rpmmacros裡已經寫了rhel巨集,那麼這裡就可以直接打包了:
$rpmbuild -ba puppet.spec
假如~/.rpmmacros裡沒有定義rhel巨集,那麼命令需要這樣寫:
$rpmbuild -d 『rhel 5′ -ba puppet.spec
假如不出意外,打好的包會放在~/rpmbuild/rpms/noarch目錄下。
假如出錯,一般是依賴關係的問題,缺少什麼,就安裝什麼包(一般是***-devel包),然後重新打包就可以了。
打facter的rpm包與puppet的差不多,將facter-1.6.2.tar.gz解壓後,將conf/redhat/facter.spec複製到~/rpmbuild/specs下,將facter-1.6.2.tar.gz複製到~/rpmbuild/sources下,然後開始打包:
$cd ~/rpmbuild/specs
$rpmbuild -ba facter.spec
RPM包的製作
注意事項 製作rpm包最好不要使用root使用者,以防止製作過程中不慎執行有害命令 需要安裝的依賴包 yum install gcc rpm build rpm devel rpmlint make python bash coreutils diffutils patch rpmdevtoolss...
rpm包製作流程
步驟一 安裝rpm build軟體 1.安裝rpm build包 yum y install rpm build 2.生成rpmbuild目錄結構 rpmbuild ba nginx.spec 會報錯,沒有檔案或目錄 可以忽略 會自動生成跟目錄 3.準備工作,將原始碼軟體複製到sources目錄 c...
RPM包製作教程
一 rpm介紹 rpm 前是red hat package manager 的縮寫,本意是red hat 軟體包管理,顧名思義是red hat 貢獻出來的軟體包管理 現在應為rpm package manager的縮寫。在fedora redhat mandriva suse yellowdog等主...