23、fpm打包

一、将源码包打成rpm包:

#开启yum缓存
[root@db02 ~]# vim /etc/yum.conf
keepcache=1

#安装fpm
fpm-1.3.3.x86_64.tar.gz

#有epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

#安装fpm的依赖
[root@db02 ~]# yum install -y ruby-devel rubygems

#添加华为的ruby源
[root@db02 ~]# gem sources --add https://mirrors.huaweicloud.com/repository/rubygems/

#删除官方的ruby源
[root@db02 ~]# gem sources --remove https://rubygems.org/

#解压fpm包
[root@db02 src]# tar xf fpm-1.3.3.x86_64.tar.gz

#安装fpm打包工具
[root@db02 src]# gem install *.gem

#源码安装nginx
#安装依赖
[root@db02 ~]# yum install -y gcc-c++ gcc glibc zlib-devel pcre-devel openssl-devel automake autoconf

#保存nignx的依赖包
[root@db02 ~]# mkdir /nginx
[root@db02 ~]# find /var/cache/yum/ -name '*.rpm'|grep -v ruby|xargs cp -t /nginx/

#解压
[root@db02 ~]# tar xf nginx-1.17.1.tar.gz 

#生成
[root@db02 nginx-1.17.1]# ./configure --prefix=/app/nginx-1.17.1

#编译
[root@db02 nginx-1.17.1]# make

#安装
[root@db02 nginx-1.17.1]# make install

#做软连接
[root@db02 ~]# ln -s /app/nginx-1.17.1 /app/nginx
fpm 
-s dir #指定,我要打包的是一个目录
-t rpm #指定,我要打成rpm包
-n nginx #指定,软件名称
-v 1.6.3 #指定,版本号
-d 'pcre-devel,openssl-devel' #指定,依赖包
--post-install /server/scripts/nginx_rpm.sh #指定安装之后的脚本
--pre-install	#指定安装之前的脚本
-f /application/nginx-1.6.3/	#指定打包的目录

#打包
fpm -s dir -t rpm -n nginx -v 1.17.1 -d 'pcre-devel,openssl-devel,automake,autoconf' --post-install /root/nginx.sh -f /app/nginx-1.17.1/
打包结果:
nginx-1.17.1-1.x86_64.rpm

报错:

no value for epoch is set, defaulting to nil {:level=>:warn}
no value for epoch is set, defaulting to nil {:level=>:warn}
Need executable 'rpmbuild' to convert dir to rpm {:level=>:error}
缺少rpmbuild
yum provides rpmbuild
安装:yum install -y rpm-build

二、做yum仓库

# 安装createrepo工具
yum install -y createrepo

# 把想做成yum仓库的软件做成yum仓库
createrepo  /nginx/

# 把某一台主机做成yum仓库
此步骤参考linux基础篇第14章

# 设置客户端指向yum仓库即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值