打包編譯好的命令,即可直接安裝使用
#使用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