1. 程式人生 > 其它 >rpm-build方式製作rpm包

rpm-build方式製作rpm包

目錄

一.簡介

可以將編譯完成的服務打成rpm包放到私有倉庫了,用於自定義的各種軟體進行安裝部署配置。

二.具體操作

1.安裝軟體,這個命令將構建rpm包
yum -y install rpm-build

2.開始初始化,如下命令必定報錯,他會在當前生成一個資料夾
rpmbuild -ba nginx.spec

資料夾內容如下
ls rpmbuild

將原始碼tar包複製到SOURCES目錄
cp nginx-1.8.0.tar.gz rpmbuild/SOURCES/

3.修改spec配置檔案,根據這個檔案內容進行打包,預設存在
vim rpmbuild/SPECS/nginx.spec

Name:nginx #name用來定義軟體包的名稱,後面可以使用%{name}的方式引用
Version:1.8.0 #version用來定義軟體的實際版本號,後面可以使用%{version}
Release:1 #release用來定義釋出序列號,後面可以使用%{release}使用
Summary:nginx-test #summary軟體包的內容摘要

Group:web-nginx #group定義軟體分組
License:GPL	 #license定義軟體授權方式
URL:www.52wiki.cn #軟體官網地址
Source0:nginx-1.8.0.tar.gz #source制定原始碼包,後面可以用%{source1}引用

%define nginx_datadir /usr/local/nginx #下面定義了nginx的安裝目錄,後面使用%{nginx_datadir}引用

%description #%description用來定義描述軟體的詳細說明
test toooo

%prep #%prep段後定義指令碼預處理的一些操作,如解包打補丁等
%setup -q #%setup -q 將tar.gz包解壓出來

%build #構建部分
#以下為編譯nginx時使用的引數
export DESTDIR=%{buildroot} 
./configure --prefix=%{nginx_datadir} --conf-path=%{nginx_datadir}/conf/nginx.conf --error-log-path=%{nginx_datadir}/logs/error.log --http-log-path=%{nginx_datadir}/logs/access.log 
make


%install #%install段開始把軟體安裝到虛擬的根目錄中
make install DESTDIR=%{buildroot} INSTALLDIRS=vendor

%clean #%clean清理臨時檔案
rm -rf %{buildroot}

%files #%file段定義哪些檔案和目錄會放入rpm中
%defattr(-,root,root,-) #%defattr指定包裝檔案的屬性
%{nginx_datadir}

%changelog #%changelog 變更日誌

4.開始打包
rpmbuild -ba rpmbuild/SPECS/nginx.spec

以下exit0 表示成功

打包後會在 rpmbuild/RPMS/x86_64/ 下生產rpm包

5.安裝
yum -y localinstall rpmbuild/RPMS/x86_64/nginx-1.8.0-1.el7.centos.x86_64.rpm

因為打包時,沒有將nginx指令碼複製出來,所以要進到目錄

用rpm -qi 可以看到打包的資訊

本文版權歸作者所有,歡迎轉載,請務必新增原文連結。