fpm制作mysql rpm包_FPM简介(定制rpm包)
FPM简介
fpm是生成rpm包的工具。rpm包的制作,采用fpm工具完成,FPM非常易用,此命令可以把rpm包的安装、卸载做得更加优雅,在安装前可以做一些准备工作,安装后可以做一些收尾工作,在卸载前也可以做一些准备,比如检测一下相应的服务是否停止了,在卸载软件再做一些扫尾的工作,只要把这些定义成一个个脚本,fpm中指定相应的选项即可轻松实现。
FPM的github: https://github.com/jordansissel/fpm
FPM安装
gem sources –a http://mirrors.aliyun.com/rubygems/
gem sources --remove http://rubygems.org/
gem install fpm -v 1.4.0
yum -y install ruby rubygems ruby-devel gcc
1. 准备操作
1.1准备好nginx的安装包,统一放在/application/tools/目录下
/home/oldboy/tools
cd /application/tools/
wget http://nginx.org/download/nginx-1.6.3.tar.gz
1.2开启yum缓存,这样yum下载的包都会在本地保存
sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf
1.3清空本机已有的yum缓存
find /var/cache/ -type f -name "*rpm" | xargs rm –f
2.编译安装nginx
2.1更改为国内yum源:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
2.2安装相关依赖
yum install pcre-devel openssl-devel –y
2.3打包rpm包, 并下载到本地:
[root@backup tmp]# find /var/cache/ -type f -name "*rpm"|xargs cp -t /tmp/
[root@backup tmp]# ls /tmp/
keyutils-libs-devel-1.4-5.el6.x86_64.rpm libselinux-2.0.94-7.el6.x86_64.rpm openssl-1.0.1e-48.el6_8.1.x86_64.rpm
krb5-devel-1.10.3-57.el6.x86_64.rpm libselinux-devel-2.0.94-7.el6.x86_64.rpm openssl-devel-1.0.1e-48.el6_8.1.x86_64.rpm
krb5-libs-1.10.3-57.el6.x86_64.rpm libselinux-utils-2.0.94-7.el6.x86_64.rpm pcre-devel-7.8-7.el6.x86_64.rpm
libcom_err-devel-1.41.12-22.el6.x86_64.rpm libsepol-devel-2.0.41-4.el6.x86_64.rpm zlib-devel-1.2.3-29.el6.x86_64.rpm
[root@backup tmp]#
[root@backup tmp]# cd /tmp/ && tar zcf nginx_yum.tar.gz *.rpm
[root@backup tmp]# ls nginx_yum.tar.gz
nginx_yum.tar.gz
[root@backup tmp]#
[root@backup tmp]# sz nginx_yum.tar.gz
2.4安装nginx
cd /home/oldboy/tools/
useradd nginx -M -s /sbin/nologin
tar xf nginx-1.6.3.tar.gz
cd nginx-1.6.3
./configure --prefix=/application/nginx-1.6.3 --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module
make && make install
ln -s /application/nginx-1.6.3/ /application/nginx
2.5编写脚本
mkdir -p /server/scripts/
cd /server/scripts/
cat nginx_rpm.sh
#!/bin/bash
useradd nginx -M -s /sbin/nologin
ln -s /application/nginx-1.6.3/ /application/nginx
2.6使用fpm制作rmp包
fpm -s dir -t rpm -n nginx -v 1.6.3 -d 'pcre-devel,openssl-devel' --post-install /server/scripts/nginx_rpm.sh -f /application/nginx-1.6.3/
sz nginx-1.6.3-1.x86_64.rpm
2.7检查制作好的rpm包
[root@db01 scripts]# rpm -qpi nginx-1.6.3-1.x86_64.rpm
Name : nginx Relocations: /
Version : 1.6.3 Vendor: root@m01
Release : 1 Build Date: 2016年06月29日 星期三 07时13分07秒
Install Date: (not installed) Build Host: m01
Group : default Source RPM: nginx-1.6.3-1.src.rpm
Size : 5252902 License: unknown
Signature : (none)
Packager :
URL : http://example.com/no-uri-given
Summary : no description given
Description :
no description given
[root@db01 scripts]# rpm -qp --scripts nginx-1.6.3-1.x86_64.rpm
postinstall scriptlet (using /bin/sh):
#!/bin/bash
useradd nginx -M -s /sbin/nologin
ln -s /application/nginx-1.6.3/ /application/nginx
[root@db01 scripts]#
3. 安装rpm包
3.1 找一台需要安装nginx的机器,上传前面制作好的:nginx-1.6.3-1.x86_64.rpm和nginx_yum.tar.gz 到新的机器。
[root@grewan tools]# ls -l
总用量 6564
-rw-r--r-- 1 root root 2273452 6月 29 07:13 nginx-1.6.3-1.x86_64.rpm
-rw-r--r-- 1 root root 4442091 6月 29 06:57 nginx_yum.tar.gz
[root@grewan tools]#
3.2解压nginx_yum.tar.gz,把所有的依赖包放到同一个目录下,使用rpm 明确一起安装:
[root@grewan tools]# tar xf nginx_yum.tar.gz
[root@grewan tools]# ls
keyutils-libs-devel-1.4-5.el6.x86_64.rpm libselinux-devel-2.0.94-7.el6.x86_64.rpm openssl-1.0.1e-48.el6_8.1.x86_64.rpm
krb5-devel-1.10.3-57.el6.x86_64.rpm libselinux-utils-2.0.94-7.el6.x86_64.rpm openssl-devel-1.0.1e-48.el6_8.1.x86_64.rpm
krb5-libs-1.10.3-57.el6.x86_64.rpm libsepol-devel-2.0.41-4.el6.x86_64.rpm pcre-devel-7.8-7.el6.x86_64.rpm
libcom_err-devel-1.41.12-22.el6.x86_64.rpm nginx-1.6.3-1.x86_64.rpm zlib-devel-1.2.3-29.el6.x86_64.rpm
libselinux-2.0.94-7.el6.x86_64.rpm nginx_yum.tar.gz
[root@grewan tools]#
3.3开始安装
[root@grewan tools]# rpm -Uvh --aid *rpm
Preparing... ########################################### [100%]
1:libselinux ########################################### [ 8%]
2:krb5-libs ########################################### [ 15%]
3:openssl ########################################### [ 23%]
4:zlib-devel ########################################### [ 31%]
5:pcre-devel ########################################### [ 38%]
6:libsepol-devel ########################################### [ 46%]
7:libselinux-devel ########################################### [ 54%]
8:libcom_err-devel ########################################### [ 62%]
9:keyutils-libs-devel ########################################### [ 69%]
10:krb5-devel ########################################### [ 77%]
11:openssl-devel ########################################### [ 85%]
12:nginx ########################################### [ 92%]
13:libselinux-utils ########################################### [100%]
[root@grewan tools]#
3.4查看安装结果
[root@grewan tools]# ls /application/nginx
conf html logs sbin
[root@grewan tools]#
3.5定制LNMP的RPM包思路
1. 编译安装好nginx,php,mysql,此处有一个问题,就是php的大部分依赖环境是通过yum安装的,但有一个libiconv-1.14.tar.gz包需要编译安装,安装时已经指定了安装目录,只需一同打包即可。
2.还有一个问题,就是mysql这个目录比较大,用fpm打包耗时比较长,平时我们有可能需要对nginx或php做优化,这样又得重新打包。因此我们可以将mysql分离出来,分别打包,只需要在制作nginx+php的rpm包时添加mysql依赖即可。
fpm制作mysql rpm包_FPM简介(定制rpm包)相关推荐
- 用fpm制作mysql的rpm包_Fpm 之 Mysql-5.7.21 rpm 包制做
Fpm 之 Mysql-5.7.21 rpm 包制做 1.首先将mysql-5.7.21编译安装包,安装到自定义的目录 1. 下载安装包 wget http://downloads.sourcefor ...
- fpm制作mysql rpm包_fpm制做mysql-5.6.33 rpm包
增加用户: # groupadd -r mysql # useradd -g mysql -r -s /sbin/nologin -M -d /data/my_db mysql 源码安装mysql-5 ...
- mysql定制rpm包_mysql运维管理-企业rpm包的定制
1.安装打包工具 [linzhongniao@rpmbaozhizuo ~]# yum install rpm-build –y 2.规划打包目录 [linzhongniao@rpmbaozhizuo ...
- Centos7利用fpm制作rpm包(fpm安装及使用)
安装fpm 安装ruby yum -y install ruby rubygems ruby-devel 查看当前ruby源 gem source -l 添加国内源,删除国外源 gem sources ...
- 定制RPM包(FPM和原生rpmbuild)
例子: Redis打包(FPM工具) Nginx打包RPM(FPM工具) Nginx(SPEC文件打包) Redis(SPEC文件打包) 一.FPM工具进行打包 1. 更新yum软件源 yum upd ...
- 制作mysql rpm包_一步步制作RPM包
一.RPM制作步骤 我们在企业中有的软件基本都是编译的,我们每次安装都得编译,那怎么办呢?那就根据我们的需求制作RPM安装包吧.先来说说基本布骤: 1.Planning what you want ...
- 制作 mysql的rpm文件_自制mysql.rpm安装包
RPM安装比源码更快更方便,更利于统一版本,省去了繁琐的编译过程,下面以制作mysql的rpm安装包为例. 编译环境 1. 安装rpm-build: 检查是否配置rpm环境 1 # sudo yum ...
- rpm命令包安装mysql_CentOS7使用rpm包安装mysql 5.7.18
说明 本文写于2017-05-20,使用MySQL-5.7.18.操作系统为64位CentOS Linux release 7.2.1511 (Core),以桌面形式安装. 卸载MariaDB Cen ...
- LinuxStudyNote(39)-Linux软件包管理(1)-Linux软件包简介之源码包与RPM包、源码包的优缺点、RPM二进制包的优缺点
Linux软件包简介 1.软件包分类 a.源码包 源码包顾名思义,就是开放源代码的安装包 脚本安装包 脚本安装包是在源码包的基础上加上了安装的图形界面, 这种软件包很少见,原因在于它需要专门的人员来进 ...
最新文章
- 你知道吗?Workspot属于二级VDI平台?
- 小白入门PyTorch | 第一篇:什么是PyTorch?
- 关于vue项目中输入框无法正常输入的问题
- 凭借这 10 大算法,就可以主宰世界!
- 趣味SQL——创建指定的数据类型
- Quartz调度原理
- Cloud for Customer的前台请求是怎么发送到后台的
- 有一个包含主函数的java类_重新认识Java中的程序入口即主函数各组成部分
- mysql 分表索引_mysql中,分表查询和索引查询哪个更快?
- p值 t值 统计_非统计师的P值
- android 查询wifi信息的类,Android 获取wifi信息
- DBA常用的一些视图和sql
- tomcat多实例部署相关
- 递归解决换零钱问题--代码实现
- HEX文件和BIN文件格式的区别
- 彻底搞懂遗传算法原理+代码讲解+具体例子
- http接口开发与调用案例
- PS利用蒙版把图片调暗
- arnold和redshift渲染器
- 虚拟机VirtualBox下载与安装、安装Ubuntu超详细图文步骤,对一些配置问题也有所写。