zoukankan      html  css  js  c++  java
  • FPM定制RPM包

    软件安装的常见方式:

      1.编译安装:

        优点:可以定制化安装目录,按需开启功能等。

        缺点:需要查找并实验出合适的编译参数,诸如MySQL之类的软件编译耗时过长。

      2.yum安装软件

        优点:全自动化安装,不需要为依赖问题发愁。

        缺点:自主性太差,软件的功能、存放位置都固定好了,不易变更(定制rpm包恰好解决这一问题)

    FPM打包工具:

      1.简介:    

        FPM的作者是Jordansissel

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

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

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

      

      2.FPM支持的源类型包:

        

      3.FPM支持的目标类型包:

        

      4.安装FPM工具:

        安装ruby和相关依赖本号大于1.8.5   

    yum install ruby rubygems ruby-devel
    
    [root@localhost hdlnmp]# rpm -qa ruby rubygems ruby-devel
    ruby-2.0.0.648-36.el7.x86_64
    rubygems-2.0.14.1-36.el7.noarch
    ruby-devel-2.0.0.648-36.el7.x86_64

        查看当前使用的rubygem仓库

    [root@localhost hdlnmp]# gem sources list
    *** CURRENT SOURCES ***
    
    https://rubygems.org/

        添加阿里云的rubygems仓库,移除原生的ruby仓库

    [root@localhost hdlnmp]# gem sources -a http://mirrors.aliyun.com/rubygems/
    http://mirrors.aliyun.com/rubygems/ added to sources
    
    [root@localhost hdlnmp]# gem sources --remove https://rubygems.org/
    https://rubygems.org/ removed from sources

        

        安装fpm,gem从rubygem仓库安装软件类似yum从yum仓库安装软件

    [root@localhost hdlnmp]# gem install --no-document fpm
    Successfully installed fpm-1.11.0
    1 gem installed

        测试是否安装成功:

    [root@localhost hdlnmp]# fpm --version
    1.11.0

    FPM使用(以nginx为例):

      1.常用参数

      2.编写脚本(for --post-install):

    [root@localhost shell]# cd /home/shell/
    
    [root@localhost shell]# vim nginx_install_devel.sh
    #!/bin/bash
    #添加nginx用户和用户组
    groupadd www
    useradd -s /sbin/nologin -g www www
    #创建nginx日志目录
    mkdir -p /home/www/wwwlogs
    chmod +w /home/www/wwwlogs
    #创建网站根目录
    mkdir -p /home/www/wwwroot
    chown -R www.www /home/www/wwwroot
    #创建nginx环境变量
    ln -sf /usr/local/nginx/sbin/nginx /usr/bin/nginx

      注意:这样制作的rpm包安装之后无服务管理脚本,可将服务管理脚本内容写入post-install脚本中。

      3.制作rpm包:

    [root@localhost shell]# fpm -s dir -t rpm -n nginx -v 1.16.0 -d 'pcre-devel,openssl-devel' --post-install /home/shell/nginx_install_devel.sh -f /usr/local/nginx/
    Created package {:path=>"nginx-1.16.0-1.x86_64.rpm"}

      4.安装rpm包:

    yum -y localinstall nginx-1.16.0-1.x86_64.rpm

      这个命令会自动安装rpm包的依赖,然后再安装rpm包。

        

        

        

  • 相关阅读:
    python闭包&深浅拷贝&垃圾回收&with语句
    Python基本数据类型
    面向对象
    四则运算2
    周总结01
    软件工程个人作业01
    java web中乱码的种类和一些解决方式
    java web 增加信息课堂测试00
    课程00作业
    动手动脑07
  • 原文地址:https://www.cnblogs.com/ltlinux/p/11975188.html
Copyright © 2011-2022 走看看