CentOS系統制作RPM包


打包編譯好的命令,即可直接安裝使用

#使用yum可解決依賴問題
[root@localhost ~]# yum -y localinstall *.rpm   

一、使用fpm工具直接打包。

Fpm安裝

fpm是ruby寫的,系統環境需要ruby,且ruby版本大於1.8.5

[root@localhost ~]# yum -y install ruby rubygems ruby-devel

查看當前rubygem倉庫

[root@localhost ~]# gem sources list

安裝fpm,gem從rubygem倉庫安裝軟件類似於yum安裝。

#CentOS 6 安裝方式
[root@localhost ~]# gem install json -v 1.8.3
[root@localhost ~]# gem install fpm -v 1.3.3

#CentOS 7 安裝方式
[root@localhost ~]# gem install fpm

fpm常見參數,詳情查看man幫助。

-s 指定源類型

-t 指定目標類型,就是你想要制作什么包

-n 指定包的名字

-v 指定包的版本號

-C 指定打包的相對路徑

-d 指定依賴於哪些包

打包實例

#把編譯好的文件按絕對路徑創建相應的目錄,並移動到位,如htop命令的目錄結構如下
./htop/
└── usr
    ├── local
    │   └── bin
    │       └── htop
    └── share
        ├── applications
        │   └── htop.desktop
        ├── man
        │   └── man1
        │       └── htop.1
        └── pixmaps
            └── htop.png
#切換目錄
[root@localhost ~]# cd htop
#執行fpm打包命令
[root@localhost htop]# fpm -s dir -t rpm -n htop -v 2.2.0 ./usr/
Created package {:path=>"htop-2.2.0-1.x86_64.rpm"}

此時會在當前目錄下生成rpm包

[root@localhost htop]# ls
htop-2.2.0-1.x86_64.rpm  usr

使用rpm命令在另一台服務器上安裝該軟件包

[root@localhost ~]# rpm -vhi htop-2.2.0-1.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:htop-2.2.0-1                     ################################# [100%]

二、使用rpmbuild工具制作

安裝工具

[root@localhost ~]# yum install rpmdevtools

執行如下rpmdev-setuptree生成rpmbuild的工作目錄

[root@localhost ~]# rpmdev-setuptree

查看工作目錄

[root@localhost ~]# tree rpmbuild/
rpmbuild/
├── BUILD       #打包過程中的工作目錄
├── RPMS        #存放生成的二進制包
├── SOURCES     #放置打包資源,包括源碼打包文件和補丁文件等
├── SPECS       #放置SPEC文檔
└── SRPMS       #存放生成的源碼包

切換目錄

[root@localhost ~]# cd ~/rpmbuild/SPECS/

會自動生成模板,修改即可

[root@localhost SPECS]# vim myrpm.spec

模板文件創建后續更新。

執行打包命令

[root@localhost ~]# rpmbuild -bb htop2.2.0.spec  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM