在Linux系統中想要創建RPM包,就要分別建立shell腳本和readme文件。readme文件主要是作為shell腳本的注釋和說明。本文就來介紹一下Linux系統創建RPM包的步驟。
創建簡單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文件。
以上就是Linux系統創建RPM的的步驟了,有了RPM包就可以直接用軟件的鏈接地址安裝軟件了。