詳解封裝原始碼包成RPM包
原始碼編譯安裝是最常用安裝軟體方式,可是面對工作量巨大時候就需要我們的RPM包上場了,統一的模組,一鍵安裝。在面對一定數量的伺服器上,RPM就可以為我們節省大量的時間。
RPM可以在網上下載,但是當我們需要用到特殊模組時,這些網上的RPM就顯得那麼的蒼白無力了。所以自行封裝打包成了一和需求。現在就介紹如何封裝打包。
打包流程
1)準備原始碼軟體
2)安裝rpm-build
3)編寫編譯配置檔案
4)編譯RPM包
開始
1.安裝rpm-build軟體包
rpm-bulid 打包所用的工具
[root@W1 root]# yum install rpm-build
2.生成rpmbuild目錄結構
[root@W1 root]# rpmbuild -ba nginx.spec
錯誤:stat /root/nginx.spec 失敗:沒有那個檔案或目錄
會報錯,不過沒問題 需要的只是生成的目錄rombuild
[root@W1 rpmbuild]# pwd
/root/rpmbuild
[root@W1 rpmbuild]# ls
BUILD BUILDROOT RPMS SOURCES SPECS SRPMS
RPMS(做好後的成品放置區)
SOURCES(放置原始碼包)
SPECS(配置檔案)
-
-
3.將原始碼軟體複製到SOURCES目錄
[root@W1 rpmbuild]# cp nginx-1.8.0.tar.gz /root/rpmbuild/SOURCES/
記得是原始碼包
4.建立並修改spec配置檔案
[[email protected] rpmbuild]# vim /root/rpmbuild/SPECS/nginx.spec
檔案字尾必須是spec,格式嘛
如何修改參考內德給的圖
!!標註的地方不能隨便該
這是nginx修改的參考
[[email protected] rpmbuild]# cat SPECS/nginx.spec
Name:nginx
Version:1.8.0
Release:1.rhel7
Summary:The is a Web Server,to nginx
#Group:
License:GPL
URL:www.Nedved.cn
Source0:nginx-1.8.0.tar.gz
BuildRequires: gcc pcre openssl-devel
#Requires:
%description
This is a Web server nginx
%prep
%setup -q
%build
./configure --with-http_ssl_module --with-http_stub_status_module
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
%files
%doc
/usr/local/nginx/*
%changelog
到這裡就基本上打包完成了
5.使用配置檔案建立RPM包
1)安裝依賴軟體包
[root@W1 rpmbuild]# yum install gcc pcre openssl-devel -y
2)rpmbuild建立RPM軟體包
[root@W1 rpmbuild]# rpmbuild -ba SPECS/nginx.spec
[[email protected] rpmbuild]# ls RPMS/x86_64/
nginx-1.8.0-1.rhel7.x86_64.rpm nginx-debuginfo-1.8.0-1.rhel7.x86_64.rpm
建立RPM軟體包後在檢視RPMS就能看到封裝好的包了
6.測試RPM包是否可使用
rpm -qpi RPMS/x86_64/nginx-1.8.0-1.rhel7.x86_64.rpm //檢視封裝資訊
rpm -qpl RPMS/x86_64/nginx-1.8.0-1.rhel7.x86_64.rpm //檢視安裝路徑
rpm -ivh RPMS/x86_64/nginx-1.8.0-1.rhel7.x86_64.rpm //裝包
rpm -qa |grep nginx //檢視是否安裝
OK到這裡就大功告成了。
最後就總結下:
1.準備封裝工具
2.改安裝配置檔案,在裡面新增所需要的模組,附加一些安裝資訊。
3.然後就是測試了