Linux运维昱笔记(六):使用FPM打包命令制作RPM包

Linux运维昱笔记(六):FPM制作RPM包

概述

fpm是一个命令咱们来看他的安装和使用。
1、支持的类型包

  • dir:将目录打成所需要的类型,可以用于源码编译安装的软件包。
  • rpm:对rpm进行转换。
  • gem:对rubygem包进行转换。
  • python:将python模块打包成相应的类型。
    2、支持目标类型包
  • rpm:转换成rpm包。
  • deb:转换成deb包。
  • solaris:转换成Solaris包。
  • puppet:转换成puppet包。
    3、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包默认安装路径

步骤

1、搭建Epel Yum源

[root@localhost ~] rpm -ivh epel-release-latest-7.noarch.rpm
[root@localhost ~] ls /etc/yum.repos.d/
backup CentOS-Base.repo CentOS-Media.repo epel.repo epel-testing.repo
[root@localhost ~] yum clean all && yum makecache

2、安装ruby环境和gem命令FPM

[root@localhost ~] yum install -y ruby rubygems ruby-devel
[root@localhost ~] gem update --system			#升级rubygems版本
Updating rubygems-update
ERROR: Error installing rubygems-update:
      rubygems-update requires Rubyversion>= 2.3.0.
ERROR: While executing gem. (NoMethodError)
      undefined method version for nil:Nildass
[root@localhost ~] gem install rubygems-update -v 2.3.0
Fetching: rubygems-update-2.3.0.gem(100%)
Successfully installed rubygems-update-2.3.0
Parsing documentation for rubygems-update-2.3.0
Installing ri documentation for rubygems-update-2.3.0
1 gem installed
[root@localhost ~] gem update --system
Updating rubygems-update
ERROR: Error installing rubygems-update:
rubygems-update requires Ruby version >=2.3.0.
Installing Ruby Gems 2.3.0
RubyGems 2.3.0 installed
Parsing documentation for rubygems-2.3.0
Installing ri documentation for rubygems-2.3.0
[root@localhost ~] gem sources -a http://mirrors.aliyun.com/rubygems/			#添加国内源
[root@localhost ~] gem sources --remove https://rubygems.org/			#移除国外源
[root@localhost ~] gem sources -l 				#查看当前源
*** CURRENT SOURCES ***
http://mirroes.aliyun.com/rubygems/
[root@localhost ~] gem install fpm				#安装fpm工具
[root@localhost ~] tar xf nginx-1.16.1.tar.gz -C /usr/src/
[root@localhost ~] yum -y install pcre-devel zlib-devel
[root@localhost nginx-1.16.1] ./configure --prefix=/usr/local/nginx --with-pcre && make && make install
[root@localhost ~] vim nginx.sh
#!/bin/bash
useradd -M -s /sbin/nologin nginx
In -s /usr/local/nginx/sbin/nginx /sbin/
echo www.crushlinux.com > /usr/local/nginx/html/index.html
nginx
[root@localhost ~] fpm-s dir-t rpm -n nginx -v 1.10.2-d 'pcre-devel, zlib-devel' -f --post-install /root/nginx.sh /usr/local/nginx		#会在当前目录下生成一个rpm包,打包完成

你可能感兴趣的:(Linux,FPM命令使用,制作RPM包,linux)