歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 如何在Linux中創建RPM包?

如何在Linux中創建RPM包?

日期:2017/2/28 15:51:31   编辑:Linux教程

在網上看到了創建RPM包的方法,經過自己的測試後,發現了一些錯誤,先將方法糾正過來。

我用的linux版本是紅帽企業的5.5。這個版本創建的RPM包默認是在/usr/src/RedHat/目錄中,所以在這個目錄測試。RPM包包含兩個文件:一個shell腳本以及一個README文件,README文件描述了如何使用該shell腳本。如果你能創建有兩個文件的軟件包,那麼你也可以創建更大的軟件包。

創建簡單RPM包的過程

1.創建一個目錄結構,把RPM包所需要的文件包含進去。這個結構的名字通常以RPM包的名字命名,包括它的版本號。。我們把這個目錄命名為test-1.0。下面的命令告訴你如何創建並命名這個目錄,已經如何把所需要的文件放在裡面:

$ cd /usr/src/redhat
$ mkdir test-1.0
$ cd test-1.0
$ echo echo this is a test > test.sh
$ chmod +x test.sh
$ echo just launch the script > README

2.現在,RPM包所需要的全部文件都在這裡了。下一步就是創建一個包含RPM文件的.tar.gz文件。這個 目錄還讓創建檔案文件更加簡單。該.tar.gz文件需要位於名為rpmbuild/SOURCES的目錄下。你還需要一個.specs文件,這個文件包含所有建立RPM包的規范說明。該.specs文件是RPM包的核心組件,裡面包括全部文件的 指示,RPM包中的文件按照這些指示進行安裝。該.specs文件應該放置在一個SPECS目錄下。

第一個cd命令確保rpmbuild目錄位於當前用戶的home目錄下。請以普通用戶身份執行以下命令:

$ cd
$ mkdir -p rpmbuild/SOURCES
$ mkdir -p rpmbuild/SPECS
$ tar -cvzf rpmbuild/SOURCES/test-1.0.tar.gz test-1.0

3.現在文件都各就各位,請以普通用戶身份創建一個說明文件Rpmbuild 命令將會找到所有需要的指示來創建該文件。在最近的Red Hat和衍生版本中,創建說明文件很容易:只需要用vim編輯器創建一個包含所有內容的文件,擴展名設為.spec即可。下面是test-1.0rpm包 中該文件的樣子(模板改變的地方已用粗體標出):

Name:test

Version:1.0

Release:1%{?dist}

Summary:A test package

Group:Test Packages

License:GPL

URL: http://test.example.com

Source0:%{name}-%{version}.tar.gz

BuildRoot:%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

BuildRequires: /bin/rm, /bin/mkdir, /bin/cp

Requires: /bin/bash, /bin/date

%description

部署單一文件包的演示

%prerp
%setup –q
%build
#configure
#make %{? _smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
#make install DESTDIR=$RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/local/bin
cp /usr/src/redhat/test-1.0/test.sh  $RPM_BUILD_ROOT/usr/local/bin
%clean
rm -rf $RPM_BUILD_ROOT
%files
#%defattr(-root,root,-)
#%doc
%attr(0755,root,root)/usr/local/bin/test.sh
#%changelog
#* Today
#- Creation of initial RPM

現在.spec文件創建完成,是時候完成最終的工作了。請使用根目錄用戶身份安裝rpmbuild命令。在Red Hat中,請用yum install rpm-build完成這項工作。接下來,請確保所有的文件都呆在正確的地方。Tar存檔文件必須位於創建軟件包的當前用戶帳戶的~/rpmbuild /SOURCES 目錄下,demo.spec文件必須位於~/rpmbuild/SPECS目錄下。現在你可以用rpmbuild -ba test.spec命令來創建軟件包了。這會在/usr/src/redhat/RPMS目錄下創建你的RPM文件。

Copyright © Linux教程網 All Rights Reserved