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 ...
随机推荐
- EF直接更新数据(不需查询)
//0.0创建修改的 实体对象 Models.BlogArticle model = new BlogArticle(); model.AId = ; model.ATitle = "新的数 ...
- ICT638 Mobile and App Development
Assessment Cover SheetStudent ID CohortStudent NameProgrammeEnrolledDiploma in Information Technolog ...
- Knative 基本功能深入剖析:Knative Serving 自动扩缩容 Autoscaler
Knative Serving 默认情况下,提供了开箱即用的快速.基于请求的自动扩缩容功能 - Knative Pod Autoscaler(KPA).下面带你体验如何在 Knative 中玩转 Au ...
- ASP.NET Core快速入门(第5章:认证与授权)--学习笔记
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务31:课时介绍 1.Cookie-based认证与授权 2.Cookie- ...
- LinqToSql
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConsoleA ...
- 来点高逼格的,使用前端Sendmessage实现SSO
关于什么叫SSO(单点登录),这个概念具体的信息我就不详述了,网上一搜一大把,总的来说,它是一种可以控制各个独立的系统经过它的授权后, 可以用同一个帐号体系登录不同的系统,达到一处登录,多处使用的效果 ...
- Java面向对象——类的成员
Java面向对象——类的成员 摘要:本文主要介绍了类的常见成员. 属性 属性称为成员变量,一般来讲不用赋值,因为有默认值,另外显式赋值没有意义会导致所有由此类创建对象都是此值. 默认值 Boolean ...
- SSM登陆
简单的SSM登陆 jsp <form action="${pageContext.request.contextPath }/user/login.action"> & ...
- Java异常相关知识总结
异常: 概述:java程序运行过程中出现的错误 常见的异常: StackOverflowError ArrayIndexOutOfBoundsException NullPointerExceptio ...
- JZOJ 2158. 蚂蚁
这个是今天早上比赛的内容,比较水给大伙们讲一下(我只会这一个) 题目大意: n只蚂蚁以每秒1cm的速度在长为L cm(厘米,不是lcm)的竿子上爬行.当蚂蚁爬到竿子的端点时就会掉落.由于竿子太细,两 ...