zoukankan      html  css  js  c++  java
  • fpm 制作rpm包

    • 使用fpm命令制作rpm包并安装

    工作中有如下情况需要将文件打包rpm:

    1. 避免重复工作,将源码程序打包为rpm
    2. 使用yum发布项目,项目打包为rpm
    3. 将自己写好的程序打包为rpm,提供给用户下载
    4. 其他

    以前打包rpm是一个非常复杂的一件事情,自从有了fpm,打包rpm就和tar打包文件一样简单

    支持的源类型包:

    •  dir: 将目录打包成所需要的类型,可以用于源码编译安装的软件包
    •  rpm: 对rpm进行转换
    •  gem: 对rubygem包进行转换
    •  python: 将Python模块打包成相应的类型

    支持的目标类型包:

      • rpm: 转换为rpm包
      • deb: 转换为deb包
      • solaris: 转换为solaris包
      • puppet: 转换为puppet包

    FPM常用参数:

    -s:指定源类型

    -t:指定目标类型,即想要制作为什么包

    -n:指定包的名字

    -v:指定包的版本号

    -C:指定打包的相对路径

    -d:指定依赖于哪些包

    -f:第二次包时目录下如果有同名安装包存在,则覆盖它;

    -p:制作的rpm安装包存放路径,不想放在当前目录下就需要指定;

    --post-install:软件包安装完成之后所要运行的脚本;同--offer-install

    --pre-install:软件包安装完成之前所要运行的脚本;同--before-install

    --post-uninstall:软件包卸载完成之后所要运行的脚本;同--offer-remove

    --pre-uninstall:软件包卸载完成之前所要运行的脚本;同—before-remove
    --prefix:制作好的rpm包默认安装路径;

    安装FPM

    # 安装ruby

       yum -y install ruby rubygems ruby-devel
      # 添加淘宝Ruby仓库
      gem sources -a http://ruby.taobao.org/
      # 移除原生的Ruby仓库
      gem sources --remove http://rubygems.org/
      # 安装fpm
      gem install fpm

    准备打包资源

    制作rpm包

    查看rpm包信息并安装

    卸载rpm包

    [root@vm172-31-16-2 open-falcon]# rpm -qa | grep falcon
    falcon-agent-0.5.1.0-1.x86_64
    [root@vm172-31-16-2 open-falcon]# rpm -e falcon-agent-0.5.1.0-1.x86_64

    备注:如果制作的rpm包有多个目录结构,次级目录并不会被删除,目前还没找到更好的方法。

  • 相关阅读:
    Java Comparator字符排序(数字、字母、中文混合排序)
    java获取文件列表,并按照目录的深度及文件名的拼音的升序排列
    dwz Esc关闭dialog 窗口
    java实现在线浏览zip文件及文件下载
    慎用ArrayList的contains方法,使用HashSet的contains方法代替
    java监控指定路径下文件及文件夹变化
    java实现八种排序算法并测试速度
    java collection.frequency方法
    Java基础知识
    java List转换为字符串并加入分隔符的一些方法总结
  • 原文地址:https://www.cnblogs.com/aslongas/p/5708172.html
Copyright © 2011-2022 走看看