製作puppet的rpm包

2021-07-16 08:43:47 字數 1505 閱讀 6050

製作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等主...