利用fpm打包linux軟件

工作中有如下情況需要將文件打包rpm:

  1. 1.避免重複工作,將源碼程序打包爲rpm

  2. 2.使用yum發佈項目,項目打包爲rpm

  3. 3.將自己寫好的程序打包爲rpm,提供給用戶下載

  4. 4.其他


個人以爲,這是目前最輕鬆寫意的打包方式了。

首先,打包環境的配置。


安裝fpm


在Fedora,centos中可以這樣安裝FPM:

yum install ruby  rubygems
yum install ruby-devel gcc rpm-build

在安裝FPM之前。需要進行簡單的配置,由於衆所周知的原因導致國內訪問官方的gem源太慢。這裏推薦taobao的源,使用以下命令

 

gem sources -a  https://ruby.taobao.org/     #添件淘寶源
gem sources -r  https://rubygems.org/        #移除官方源

可以使用

gem sources -l   #查看源列表

最好只有一個源

然後安裝FPM

gem install fpm

以上就完成了FPM的安裝,可以用下面的命令查看版本

gem -v

使用fpm打包

這裏使用一個簡單的例子

今天拿打包一個bash文件爲例子。實現用戶安裝rpm將會把hello.sh放到/usr/local/bin/hello.bash的例子

mkdir /tmp/rpm/usr/local/bin/  -p
touch /tmp/rpm/usr/local/bin/hello.sh

hello.sh腳本的內容如下

#!/bin/sh

echo 'hello world!'

構建好目錄之後,使用fpm打包

fpm -s dir -t rpm -n my-hello -C /tmp/rpm/  -v 1.1

爲了測試這個包,我先列出內容,然後安裝:

rpm -qpl my-hello-1.1-1.x86_64.rpm
rpm -ivh my-hello-1.1-1.x86_64.rpm

這個shell腳本現在應該被順利的安裝到了/usr/local/bin裏面了。


總結:FPM是創建RPM,Debian還有其他種類包的一個非常便利的方法,值得一試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章