rpm-build方式製作rpm包
阿新 • • 發佈:2021-12-12
目錄
一.簡介
可以將編譯完成的服務打成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 可以看到打包的資訊