第一步:搭建公网源Yum仓库
cd /etc/yum.repos.d/
ls
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo #aliyun源
wget -O /etc/yum.repos.d/163.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo #163源
yum -y clean all
yum makecache
第二步:开启yum配置文件/etc/yum.conf的keepcache功能
由于默认情况下,通过yum方式安装软件包之后,会默认清空掉下载过的软件包。因
此,如果我们想要窃取到软件包就必须打开yum的keepcache功能。如此就不会再清空
下载后的软件包。
#awk '/keepcache/{print NR,$0}' /etc/yum.conf
#3 keepcache=0
#sed -i '3 s#0#1#' /etc/yum.conf
#sed -n '3p' /etc/yum.conf
#keepcache=1 #开启yum的缓存保持功能(不清空下载的包)
#yum -y clean all
#yum makecache
第二步:通过Yum方式安装gem软件仓库,窃取rpm安装包
[root@localhost cache]# yum -y install ruby rubygems ruby-devel
#ls /var/cache/yum/x86_64/6/base/packages
第三步:通过Gem方式安装FPM软件,窃取gem安装包
1. # 查看当前使用的rubygems仓库
2. gem sources list
3. # 添加淘宝的Rubygems仓库,外国的源慢,移除原生的Ruby仓库
4. gem sources --add http://gems.ruby-china.org/ --remove http://rubygems.
org/
5. # 安装fpm,gem从rubygem仓库安装软件类似yum从yum仓库安装软件。首先安装低版本的jso
n,高版本的json需要ruby2.0以上,然后安装低版本的fpm,够用。
6. gem install json -v 1.8.3
gem install ffi -v 1.9.18
7. gem install fpm -v 1.3.3
8. # 上面的2步安装仅适合CentOS6系统,CentOS7系统一步搞定,即gem install fpm
将如下目录下的gem安装包切取走
[root@localhost cache]# ls /usr/lib/ruby/gems/1.8/cache
arr-pm-0.0.10.gem
backports-3.8.0.gem
cabin-0.9.0.gem
clamp-0.6.5.gem
childprocess-0.7.1.gem
ffi-1.9.18.gem
fpm-1.3.3.gem
json-1.8.3.gem
#有可能在这个目录下
[root@localhost usr]# find / -name cabin-0.9.0.gem
/usr/local/share/gems/cache/cabin-0.9.0.gem
二,本地化安装gem软件仓库及FPM软件gem安装包(如果没有网络可本地安装!!)
第一步:搭建企业定制化FTP方式的Yum仓库
[root@localhost yum.repos.d]# yum -y install createrepo
######################createrepo -v ./
第二步:本地化Yum安装gem软件仓库
yum -y install ruby rubygems ruby-devel
第三步:本地化gem安装FPM软件的gem安装包
[root@localhost gem]# ls
arr-pm-0.0.10.gem cabin-0.9.0.gem clamp-0.6.5.gem fpm-1.3.3.gem
backports-3.8.0.gem childprocess-0.7.1.gem ffi-1.9.18.gem json-1.8.3.gem
[root@localhost gem]# gem install -l json-1.8.3.gem #先安装json
[root@localhost gem]# gem install -l fpm-1.3.3.gem #直接安装fpm(会自动安装依赖)
[root@localhost ~]# which fpm
/usr/bin/fpm
四、制作企业定制化rpm包
第一步:编写定制化rpm包所需安装脚本
1. [root@localhost ~]# cat /server/scripts/nginx_rpm.sh
2. #!/bin/bash
3. # nginx_rpm.sh
5. useradd -s /sbin/nologin -M www
6. ln -s /application/nginx-1.10.2 /application/nginx
7. /application/nginx/sbin/nginx
8. if [ $? -eq 0 ]
9. then
10. echo "OK!"
11. else
12. echo "error!"
13. fi
第二步:Yum安装rpm-build软件包
[root@localhost ~]# yum -y install rpm-build
第三步:制作定制化nginx的rpm安装包
[root@localhost ~]# fpm -s dir -t rpm -n nginx -v 1.10.2 -d 'pcre-devel,openssl-devel' --post-install /server/scripts/nginx_rpm.sh -f /application/nginx-1.10.2/
no value for epoch is set, defaulting to nil {:level=>:warn}
no value for epoch is set, defaulting to nil {:level=>:warn}
Created package {:path=>"nginx-1.10.2-1.x86_64.rpm"}
[root@localhost ~]# ll nginx-1.10.2-1.x86_64.rpm
-rw-r--r--. 1 root root 2470490 Jun 30 00:10 nginx-1.10.2-1.x86_64.rpm
#fpm相关参数说明: