• FPM制作RPM包


    部署软件的三种方式

    1、编译安装软件,优点是可以定制化安装目录、按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件编译耗时过长。

    2、yum安装软件,优点是全自动化安装,不需要为依赖问题发愁了,缺点是自主性太差,软件的功能、存放位置都已经固定好了,不易变更。

    3、编译源码,根据自己的需求做成定制RPM包–>搭建内网yum仓库–yum安装。结合前两者的优点,暂未发现什么缺点。可能的缺点就是RPM包的通用性差,只能适用于本公司的环境。另外一般人不会定制RPM包。这是中大型互联网企业运维自动化的必要技能。

    安装FPM打包工具

    yum -y install ruby ruby-devel rubygems gcc openssl-devel rpm-build
    gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
    gem install  fpm

    FPM工具常用参数

    参数

    参数说明

    -s

    指定源类型

    -t

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

    -n

    指定包的名字

    -v

    指定包的版本号

    -C

    指定打包的相对路径 

    -d

    指定依赖于哪些包

    -f

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

    -p

    输出的安装包的目录,不想放在当前目录下就需要指定

    --post-install 

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

    --pre-install  

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

    --post-uninstall

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

    --pre-uninstall

    软件包卸载完成之前所要运行的脚本;同--before-remove

    案例:制作nginx的RPM包

    yum install -y pcre-devel openssl-devel
    mkdir -p /server/tools
    cd /server/tools
    wget -q http://nginx.org/download/nginx-1.10.2.tar.gz
    ls -l nginx-1.10.2.tar.gz
    useradd www -s /sbin/nologin -M
    tar xf nginx-1.10.2.tar.gz
    cd nginx-1.10.2
    ./configure  --user=www --group=www --prefix=/application/nginx-1.10.2 --with-http_stub_status_module  --with-http_ssl_module
    make
    make install
    ln -s /application/nginx-1.10.2 /application/nginx
    安装nginx
    [root@test ~]# cd /server/scripts/
    [root@test scripts]# vim nginx_install_devel.sh
    #!/bin/bash
    useradd -M -s /sbin/nologin www -u 666
    ln -sf /application/nginx-1.10.2   /application/nginx
    ln -s /application/nginx/sbin/* /usr/local/sbin/
    编写脚本(for --post-install)
    //注意:在进行打包的时候要先停止nginx
    
    [root@test ~]#  fpm -s dir -t rpm -n nginx -v 1.10.2 
    -d 'pcre-devel,openssl-devel' 
    --post-install /server/scripts/nginx_install_devel.sh 
    -f /application/nginx-1.10.2/ 
    打包-制作rpm包
    //推荐使用yum 安装
    //这个命令会自动先安装rpm包的依赖,然后再安装rpm包。
    
    yum -y localinstall  nginx-1.10.2-1.x86_64.rpm
  • 相关阅读:
    MSSQL—列记录合并
    MSSQL—字符串分离(Split函数)
    如何在ASP.NET Core中自定义Azure Storage File Provider
    从零开始实现ASP.NET Core MVC的插件式开发(六)
    对ASP.NET程序员非常有用的85个工具
    vs-code 配置
    idea-plugin
    VirtualBox中CentOS遇到的问题
    监听器
    线程组复杂场景
  • 原文地址:https://www.cnblogs.com/sellsa/p/9084613.html
Copyright © 2020-2023  润新知