• FPM打包工具


    一. FPM简介

      FPM的作者是Jordansissel

      FPM的GITHUB:https://github.com/jordansissel/fpm

      官网:http://fpm.readthedocs.io/en/latest/

      FPM功能简单的说就是将一种类型的包转换成另外一种类型

    2. 支持的源类型包

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

    3.支持的目标类型包

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

    二. 安装

    1 yum install centos-release-scl-rh 
    2 yum -y install ruby rubygems ruby-devel
    3 gem sources -a http://mirrors.aliyun.com/rubygems/
    4 gem sources --remove http://rubygems.org/
    5 gem install fpm

    三. RPM参数

        详细使用:fpm --help

        常见参数

    -s 指定源类型
    -t 指定目标类型,即想要制作什么包
    -n 指定包名字
    -V 指定包版本号
    -C 指定打包的相对路径
    -d 指定以来与那些包
    -f 第二次打包时目录下如果有同名安装包存在则覆盖
    -p 输出的安装包的目录,不想放在当前下就需要指定
    --post-install 软件包安装完成之后要运行的脚本
    --pre-install 软件包安装完成之前所要运行的脚本
    --post-uninstall 软件包卸载完成之后所要运行的脚本
    --pre-uninstall 软件包卸载完成之前所要运行的脚本

    四. 实验

    1.1 编译安装nginx

    #开启yum缓存
    sed -i 's/keepcache=0/keepcache=1/g' /etc/yum.conf
    #检查本地缓存rpm包 有则删除
    find /var/cache/yum/ -name "*rpm"
    #安装依赖工具
    yum -y install pcre-devel openssl-devel
    #打包依赖工具
    find /var/cache/yum/ -name "*rpm" | xargs cp -t /tmp/
    #安装nginx
    useradd nginx -M -s /sbin/nologin
    mkdir /application/tools -p
    wget http://nginx.org/download/nginx-1.15.2.tar.gz
    tar xf nginx-1.15.2.tar.gz
    cd nginx-1.15.2/
    ./configure --prefix=/application/nginx-1.6.3 --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module
    make && maek install

    1.2打包nginx

    #编写脚本
    [root@OS-A1 application]# cat /server/scripts/nginx_rpm.sh 
    #!/bin/bash
    useradd nginx -M -s /sbin/nologin
    ln -s /application/nginx-1.6.3/ /application/nginx
    #打包
    fpm -s dir -t rpm -n nginx -d 'pcre-devel,openssl-devel' --post-install /server/scripts/nginx_rpm.sh -f /application/nginx-1.6.3/

    五. 安装rpm包

    #yum安装 从网络安装依赖
    yum localinstall nginx-1.0-1.x86_64.rpm 
    #rpm安装可能报错依赖关系需要手动安装依赖
    rpm -ivh nginx-1.0-1.x86_64.rpm 

    作者:闫世成

    出处:http://cnblogs.com/yanshicheng

    联系:yans121@sina.com

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题或建议,请多多赐教,非常感谢。
  • 相关阅读:
    SDWebImage源码解读之SDWebImageDownloader
    Swift 中函数使用指南
    SDWebImage源码解读之SDWebImageDownloaderOperation
    Swift enum(枚举)使用范例
    用C语言封装OC对象(耐心阅读,非常重要)
    终端mysql Operation not permitted错误解决方案
    SDWebImage源码解读之SDWebImageCache(下)
    SDWebImage源码解读之SDWebImageCache(上)
    SDWebImage源码解读_之SDWebImageDecoder
    递归的本质
  • 原文地址:https://www.cnblogs.com/yanshicheng/p/9382120.html
Copyright © 2020-2023  润新知