CentOS RPM包製作原理

來源:互聯網
上載者:User

有時候為了部署自己的包更方便一些,我們會製作自己的RPM包,製作RPM包都有哪些步驟呢,學習這些步驟就是本文的目的。在CentOS下製作RPM包依賴rpm-build這個包,所以需要提前安裝好該軟體包。

RPM產生要素

  1. 產生rpm所用的檔案清單或者原始碼
  2. 根據檔案清單或者原始碼產生rpm規範,也就是spec檔案
  3. 根據spec檔案加工源碼/檔案的工具rpmbuild

在RedHat下,rpm包的預設製作路徑在/usr/src/redhat下:

/usr/src/redhat
--BUILD #編譯之前,如解壓包後存放的路徑
--BUILDROOT #編譯後存放的路徑
--RPMS #打包完成後rpm包存放的路徑
--SOURCES #源包所放置的路徑
--SPECS #spec文檔放置的路徑
--SPRMS #源碼rpm包放置的路徑

centos並沒有該目錄,這可咋辦,其實在那個目錄製作rpm是沒有關係的,只要設定好設定檔就行。一般我們都把源碼打包成tar.gz格式然後存放於SOURCES路徑下,而在SPECS路徑下編寫spec文檔,通過命令打包後,預設會把打包後的rpm包放在RPMS下,而源碼包會被放置在SRPMS下。

先看看rpmbuild命令的用法:

1 從spec文檔建立有以下選項:

-bp  #只執行spec的%pre 段(解開源碼包並打補丁,即只做準備)
-bc  #執行spec的%pre和%build 段(準備並編譯)
-bi  #執行spec中%pre,%build與%install(準備,編譯並安裝)
-bl  #檢查spec中的%file段(查看檔案是否齊全)
-ba  #建立源碼與二進位包(常用)
-bb  #只建立二進位包(常用)
-bs  #只建立源碼包

2 從tarball包建立,與spec類似

-tp #對應-bp
-tc #對應-bc
-ti #對應-bi
-ta #對應-ba
-tb #對應-bb
-ts #對應-bs

3 從源碼包建立

--rebuild  #建立二進位包,通-bb
--recompile  #同-bi

* rpmbuild的其他參數

--buildroot=DIRECTORY  #確定以root目錄建立包
--clean  #完成打包後清除BUILD下的檔案目錄
--nobuild  #不進行%build的階段
--nodeps  #不檢查建立包時的關聯檔案
--nodirtokens
--rmsource  #完成打包後清除SOURCES
--rmspec #完成打包後清除SPEC
--short-cricuit
--target=CPU-VENDOR-OS #確定包的最終使用平台

製作自己的rpm包

Linux 下rpm安裝後的目錄結構和一些配置

rpm與yum的綜合性介紹與樣本示範

Redhat Linux---rpm 命令詳解

  • 1
  • 2
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.