加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

FPM制作RPM包

发布时间:2020-12-16 01:41:10 所属栏目:安全 来源:网络整理
导读:? 使用fpm命令制作rpm包并安装 工作中有如下情况需要将文件打包rpm: 避免重复工作,将源码程序打包为rpm 使用yum发布项目,项目打包为rpm 将自己写好的程序打包为rpm,提供给用户下载 其他 以前打包rpm是一个非常复杂的一件事情,自从有了fpm,打包rpm就和t
?
  • 使用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

基于已安装了epel源后进行安装ruby等软件

1.安装依赖包

?yum -y install ruby rubygems ruby-devel

2.安装生成RPM包的基础关键命令

yum -y install rpm-build

3.升级软件版本

gem update --system

报错后会显示需要的版本号 ==> x.xx.x

4.安装该版本的软件包

yum -y install rubygems-update -v(提示需要的版本号)

5.再次进行升级

gem update --system

6.添加国内的源(增加读取速度)

gem sources -a http://mirros-aliyun.com/rubygems/

7.移除国外源

gem sources --remove https://rubygems.org/

8.安装FPM工具

gem install fpm

9.编写nginx脚本

vim nginx.sh

#!/bin/bash

#创建运行用户和组

useradd -M -s /sbin/nologin nginx

#创建链接文件

ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/

#指定测试网页

echo www.crushlinux.com > /usr/local/nginx/html/index.html

#起服务

nginx

10.制作软件包

fpm -s dir -t rpm -n nginx -v(nginx版本号) -d? ‘pcre-devel,zlib-devel‘ -f --post-install /root/nginx.sh /usr/local/nginx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读