Linux基于FPM制作RPM包(以Nginx为例)
1、搭建Epel Yum源
安装在线yum源
[root@localhost ~]# rpm -ivh epel-release-latest-.noarch.rpm //安装扩展源
[root@localhost yum.repos.d]# ls
a epel-release-latest-.noarch.rpm epel-testing.repo Centos-.repo epel.repo
或
[root@localhost ~]# ls /etc/yum.repos.d/
backup CentOS-Base.repo CentOS-Media.repo epel.repo epel-testing.repo
修改epel.repo
[root@Crushlinux yum.repos.d]# yum clean all && yum makecache //清除并新建yum缓存
2、安装ruby环境和gem命令(gem命令是从rubygem仓库安装软件,类似yum从yum仓库安装软件)
安装软件包,安装时要出现3个安装的软件
[root@localhost yum.repos.d]# yum -y install ruby rubygems ruby-devel [root@localhost ~]# gem update --system //升级rubygems版本
[root@localhost ~]# gem install rubygems-update -v 2.3. //安装新版本
[root@localhost ~]# gem update --system //升级 [root@localhost ~]# gem sources -a http://mirrors.aliyun.com/rubygems/ //添加国内源
[root@localhost ~]# gem sources --remove https://rubygems.org/ //移除国外源
[root@localhost ~]# gem sources -l //查看当前源 [root@localhost ~]# gem install fpm //安装fpm工具
3、编译nginx,在保证nginx安装完的基础上打包,查看nginx的80端口
[root@localhost ~]# netstat -anpt | grep : //查询nginx的接口
4、打包nginx包生成rpm包
脚本
[root@localhost ~]# vim nginx.sh
#!/bin/bash useradd -M -s /sbin/nologin nginx //创建用户
ln -s /usr/local/nginx/sbin/nginx/ /sbin //设置软连接
echo www.crushlinux.com > /usr/local/nginx/html/index.html //在网页文件中写入测试内容
/usr/local/nginx/sbin/nginx //开启nginx
打包时报错,修改
[root@localhost ~]# fpm -s dir -t rpm -n nginx -v 1.16. -d 'pcre-devel,zlib-devel' -f --post-install /root/nginx.sh /usr/local/nginx/
报错信息
Need executable 'rpmbuild' to convert dir to rpm {:level=>:error} 修改
[root@localhost ~]# yum list | grep build
[root@localhost ~]# yum -y install rpm-build
[root@localhost ~]# fpm -s dir -t rpm -n nginx -v 1.16. -d 'pcre-devel,zlib-devel' -f --post-install /root/nginx.sh /usr/local/nginx/
打包成功,在当前目录下生成一个rpm包
Created package {:path=>"nginx-1.16.1-1.x86_64.rpm"}
5、安装自己制作的软件包,并查看端口
安装之前需要卸载之前安装的nginx
rm -rf /usr/local/nginx
rm -rf /usr/src/nginx-1.16.1/
rm -rf /usr/local/nginx/sbin/nginx
userdel -r nginx
[root@localhost ~]# rpm -ivh nginx-1.16.-.x86_64.rpm //安装自己制作的包
[root@localhost ~]# netstat -anpt | grep //查看端口
Linux基于FPM制作RPM包(以Nginx为例)的更多相关文章
- fpm制作rpm包
一.前言 在企业中我们有事安装软件包.部分都是源码安装,如nginx安装路径都已经固化了,但实际业务中,我们都是把软件包安装到固定目录下,不满足需要,这是其一.其二,编译安装很耗时,比如mysql,特 ...
- 利用fpm制作rpm包
使用fpm制作rpm包 安装如下 [root@web01 ~]# yum install -y gcc zlib zlib-devel wget http://ruby.taobao.org/mirr ...
- fpm 制作rpm包
使用fpm命令制作rpm包并安装 工作中有如下情况需要将文件打包rpm: 避免重复工作,将源码程序打包为rpm 使用yum发布项目,项目打包为rpm 将自己写好的程序打包为rpm,提供给用户下载 其他 ...
- fpm 制作 rpm 包
支持的 源类型包 ① dir : 将目录打包成所需要的类型, 可用于源码编译安装软件包 ② rpm : 对 rpm 包进行转换 ③ gem : 对 rubygem 包进行转换 ④ python : 将 ...
- 基于FPM制作RPM软件包!
工作中有如下情况需要将文件打包rpm: 避免重复工作,将源码程序打包为rpm 使用yum发布项目,项目打包为rpm 将自己写好的程序打包为rpm,提供给用户下载 其他 以前打包rpm是一个非常复杂的一 ...
- linux制作RPM包
制作rpm包 1.制作流程1.1 前期工作 1)创建打包用的目录rpmbuild/{BUILD,SPECS,RPMS, SOURCES,SRPMS} 建议使用普通用户,在用户家目录中创建 2)确定好制 ...
- 制作RPM包
RPM包制作过程 1.1 前期工作 1)创建打包用的目录rpmbuild/{BUILD,SPECS,RPMS, SOURCES,SRPMS} 建议使用普通用户,在用户家目录中创建 2)确定好制作的对象 ...
- fpm定制化RPM包之nginx rpm包的制作
fpm定制化RPM包之nginx rpm包的制作 1.安装ruby模块 # yum -y install ruby rubygems ruby-devel 2.添加阿里云的Rubygems仓库,国外资 ...
- 编译制作Linux 3.18内核rpm包(升级centos6.x虚拟机内核)
介绍 openstack平台需要使用各种Linux发行版模板镜像,其制作方法主要有两种,要么是基于各大Linux发行版ISO光盘手动制作,要么是使用官方提供的模板镜像再做修改 之前制作的opensta ...
随机推荐
- 数据仓库001 - 复习Linux shell命令 - pwd mkdir mv tail -f xxx.log 和 ail -F xxx.log
1. [root@localhost ~]# 的含义 ? [登录的用户 机器的名称 家目录] 2. 查看当前光标所在的目录 pwd [root@localhost ~]# pwd /roo ...
- 动态修改maven的jdk版本
当环境变量jdk为1.7,项目为jdk1.8,用mvn clean package指令打包项目时,想不修改环境变量的情况下,修改maven的jdk版本 方法如下: 官网给出了方法 https://ma ...
- 小米笔记本pro 黑苹果系统无法进入系统,频繁重启故障解决记录
问题1:频繁重启,然后clover丢失 表现情况:开机没有选择macos 或windos的界面 解决办法:进入windows使用工具easyefi,直接添加一个clover start boot,选择 ...
- 解决python 缺少os.fspath
在python3.6下运行pandas会报错缺少os.fspath 升级到python3.7 3.7 安装参考:https://www.cnblogs.com/jifeng/p/11221469.ht ...
- mybatis报错:Invalid bound statement (not found)
mybatis报错:Invalid bound statement (not found)的原因很多,但是正如报错提示一样,找不到xml中的sql语句,报错的情况分为三种: 第一种:语法错误 Java ...
- 阿里开源 Dragonwell JDK 重磅发布 GA 版本:生产环境可用
今年 3 月份,阿里巴巴重磅开源 OpenJDK 长期支持版本 Alibaba Dragonwell的消息,在很长一段时间内都是开发者的讨论焦点,该项目在 Github 上的 Star 数迅速突破 1 ...
- 转 Yolov3转化Caffe框架详解
转自https://blog.csdn.net/watermelon1123/article/details/82083522 前些日子因工程需求,需要将yolov3从基于darknet转化为基于Ca ...
- 如何优雅地使用腾讯云COS-.NET篇
如何优雅地使用腾讯云COS-.NET篇 代码下载地址 https://github.com/whuanle/txypx20190809 前提 创建子账号 打开 https://console.clou ...
- SpringBoot打可执行war包
1. 主程序类: @SpringBootApplication public class Application extends SpringBootServletInitializer { @Ove ...
- 【转】面试还搞不懂redis,快看看这40道Redis面试题(含答案和思维导图)
———————————————— 版权声明:本文为CSDN博主「程序员追风」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog. ...