您的位置:首页 > 产品设计 > 产品经理

定制rpm包、搭建yum仓库

2018-02-21 17:43 537 查看
一、定制rpm包1、环境
[root@m01 ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@m01 ~]# uname -r2.6.32-696.el6.x86_64
[root@m01 ~]# /etc/init.d/iptables status
iptables: Firewall is not running.
[root@m01 ~]# getenforce
Disabled
[root@m01 ~]# hostname -I172.19.5.61 172.16.1.61

2、安装FPM
yum install ruby rubygems ruby-devel -y            #安装ruby模块
gem sources -a http://mirrors.aliyun.com/rubygems/ #添加国内源
gem sources --remove http://rubygems.org/          #移除原生的Ruby仓库
gem install fpm                                    #安装fpmgem install fpm -v 1.4.0错误:Building native extensions.  This could take a while...
Building native extensions.  This could take a while...
ERROR:  Error installing fpm:解决:安装旧版本的fpm    #fpm安装时提示安装ruby >=1.9,参考http://blog.51cto.com/13055758/2072043
gem install fpm -v 1.4.0

3、FPM命令参数介绍
二、FPM实战打包NMP1、实战打包Nginx
fpm -s dir -t rpm -n nginx -v 1.12.2 -d 'pcre-devel,openssl-devel' --post-install /server/scripts/nginx_rpm.sh /application/nginx-1.12.2
2、实战打包PHP
fpm -s dir -t rpm -n php -v 5.5.32 -d 'zlib libjpeg freetype libpng gd curl zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel libjpeg-turbo-devel libcurl-devel libxslt-devel libmcrypt-devel mhash mcrypt' --post-install /server/scripts/php_rpm.sh -f /application/php-5.5.32/
3、实战打包MySQL
fpm -s dir -t rpm -n mysql -v 5.6.36 -d 'ncurses-devel libaio-devel cmake' --post-install /server/scripts/mysql_rpm.sh /application/mysql-5.6.36 /etc/init.d/mysqld /etc/my.cnf /etc/profile
4、脚本文件
#nginx_rpm.sh#
useradd -s /sbin/nologin -M www
ln -s /application/nginx-1.12.2/ /application/nginx
ln -s /application/nginx/sbin/nginx  /usr/local/sbin/

#php_rpm.sh#
#!/bin/sh
ln -s /application/php-5.5.32/ /application/php

#mysql_rpm.sh#
#!/bin/sh
useradd -s /sbin/nologin -M mysql
ln -s /application/mysql-5.6.36/ /application/mysql
chown -R mysql.mysql /application/mysql-5.6.36/

5、其它机子测试
yum localinstall nginx-1.6.2-1.x86_64.rpm -y
三、yum仓库搭建1、安装createrepo
yum install createrepo -y #创建yum源软件
2、创建yum仓库目录并初始化repodata索引文件
mkdir -p /application/yum/centos6.9/x86_64/cd /application/yum/centos6.9/x86_64/ #拷贝rpm包到此目录createrepo -pdo /application/yum/centos6.9/x86_64/ /application/yum/centos6.9/x86_64/
3、提供yum服务
python -m SimpleHTTPServer 80 &>/dev/null & #python的http模块
4、如果有新的rpm包放入必须更新
createrepo --update /application/yum/centos6.9/x86_64/
5、客户端修改yum源
cd /etc/yum.repos.d/vi local.repo
[onlylady]
name=Server
baseurl=http://yum仓库IP        #如果不是80端口需要加端口
enable=1
gpgcheck=0

yum clean all  #清除本地缓存
yum --enablerepo=local --disablerepo=base,extras,updates list #显示本地yum源列表
#安装nginx为例#yum --enablerepo=local --disablerepo=base,extras,updates,epel install nginx -y

6、yum命令参数

小伙伴们可以关注我的微信公众号:linux运维菜鸟之旅


关注“中国电信天津网厅”公众号,首次绑定可免费领2G流量,为你的学习提供流量!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  yum 仓库 定制