fpm使用记录
2015-11-28 19:19
337 查看
fpm包管理工具介绍
这里还有一份google关于rpm介绍的PPT:fpm, baylisa, april 2011.pdf
所以下面重点介绍使用的过程:
1、修改rubygems的源由于国内网络原因,导致 rubygems.org 存放在 Amazon S3 上面的资源文件间歇性连接失败。
所以需要改成taobao提供的源。这是一个完整 rubygems.org 镜像,可以用此代替官方版本,同步频率目前为15分钟一次。
这里还有一份google关于rpm介绍的PPT:fpm, baylisa, april 2011.pdf
所以下面重点介绍使用的过程:
1、修改rubygems的源由于国内网络原因,导致 rubygems.org 存放在 Amazon S3 上面的资源文件间歇性连接失败。
所以需要改成taobao提供的源。这是一个完整 rubygems.org 镜像,可以用此代替官方版本,同步频率目前为15分钟一次。
# yum install ruby rubygems # gem sources --remove http://rubygems.org/ # gem sources -a http://ruby.taobao.org/ # gem sources -l
*** CURRENT SOURCES *** http://ruby.taobao.org[/code] 请确保只有 ruby.taobao.org
2、使用记录FPM功能简单说就是将一种类型的包转换成另一种类型。
支持的源类型包:“dir”:将目录打包成所需要的类型,可以用于源码编译安装的软件包
“rpm”:对rpm进行转换
“gem”:对rubygem包进行转换
“python”:将python模块打包成相应的类型
支持的目标类型包:
“rpm”:转换为rpm包
“deb”:转换为deb包
“solaris”:转换为solaris包
“puppet”:转换为puppet模块
因为我们平时使用的比较多的是rpm包,因此这里主要介绍如何将源码安装的包转换为RPM包,其他功能感兴趣的可以试试。
3、操作实例以安装squid为例。源为已经编译安装的目录,制作rpm包。
首先需要下载squid的tar.gz包# cd squid-3.4.6 # ./configure --prefix=/home/squid/squid-3.4.6 # make # make install#tar squid-conf.tar.gz -C /home/squid/squid-3.4.6/etc/ #将配置文件提前放置在etc下面。
可以先编写好安装rpm包执行之前的以及执行之后脚本,rpm包卸载之前以及卸载之后执行的脚本。
安装之前执行的脚本,用于创建目录和用户:# cat squid.pre.sh #!/bin/sh #a script to be run before package installation useradd squid mkdir -p /home/squid mkdir -p /home/squid/var/log/squid mkdir -p /home/squid/cache chown -R squid:squid /home/squid
安装之后执行的脚本,用于创建软连接和添加环境变量:# cat squid.after.sh #!/bin/sh #a script to be run after package installation cd /home/squid ln -s squid-3.4.6 squid mkdir /etc/squid cd /home/squid/squid/etc cp -r error_page /etc/squid/ cd /etc/squid/ ln -s /home/squid/squid/etc/squid.conf squid.conf sed -i 's/$PATH:$HOME\/bin/\/home\/squid\/squid\/sbin:$PATH:$HOME\/bin/' /root/.bash_profile
开始生成rpm文件#fpm -s dir -t rpm -v 1.0.0 -n squid --pre-install /root/squid.pre.sh --after-install /root/squid.after.sh /home/squid/squid-3.4.6/
参数介绍:
# -s:源类型包
# -t:目标类型包
# -v:版本号
# -n:软件包名称
# --pre-install:安装前执行的脚本
# --after-install :安装后执行的脚本
# 需要转换目录放置在后面
至此,将会在你该目录下面生成一个rpm文件
4、可能出现的错误
错误一:
checking for termcap functions library... configure: error: No curses/termcap library found
是因为没有安装ncurses包导致的# yum list|grep ncurses*错误二:
../depcomp: line 571: exec: g++: not found
错误原因没有安装gcc-c++包# yum install gcc-c++错误三:
./include/my_global.h:1099: 错误:对 C++ 内建类型 ‘bool’ 的重声明
这个错误是因为先./congfigure 又装的gcc-c++之后又make 导致的,解决方法是重新./configure,make,make install就可以恢复
相关文章推荐
- 深入php-fpm的两种进程管理模式详解
- python学习之第三方包安装方法(两种方法)
- ubuntu下如何获取源码包和源码
- 安装包
- VS2010安装过程中自动覆盖之前版本
- linux删除安装包(rpm,src.rpm,tar.gz,bz2)
- vs2010打包步骤
- R语言相关软件安装配置
- mac 下安装php5.6 with php-fpm
- VS安装部署制作教程(1)
- python包setup出错的解决办法
- NSIS制作32+64位安装包
- NSIS制作32位安装包
- [Python]查看python路径以及安装包的路径
- apache-php环境搭建
- Ubuntu 安装工具的使用
- Win7或Win8上安装VS2015报“安装包丢失或损坏”问题的解决办法
- linux版本 Centos下安装tar包/rpm包
- VS2010 制作安装包
- vs2010安装包制作