工作中有如下情况需要将文件打包rpm:
1.避免重复工作,将源码程序打包为rpm
2.使用yum发布项目,项目打包为rpm
3.将自己写好的程序打包为rpm,提供给用户下载
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还有其他种类包的一个非常便利的方法,值得一试。
转载于:https://blog.51cto.com/sno0py/1863699