定制rpm包搭建yum仓库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定制rpm包搭建yum仓库相关的知识,希望对你有一定的参考价值。
一、定制rpm包
1、环境
[[email protected] ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [[email protected] ~]# uname -r2.6.32-696.el6.x86_64 [[email protected] ~]# /etc/init.d/iptables status iptables: Firewall is not running. [[email protected] ~]# getenforce Disabled [[email protected] ~]# 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 gem install fpm -v 1.4.0
3、FPM命令参数介绍
1 2 3 4 5 6 7 8 9 | fpm --help -s 指定源类型 -t 指定目标类型,既想要制作成什么包 -n 指定包的名字 -v 指定包的版本号 -C 指定打包的相对路径 -d 指定依赖于哪些包 -f 第二次打包时目录下如果有同名安装包存在,则覆盖它 -p 输出安装包的目录,不想放在当前目录下就需要指定 |
二、FPM实战打包NMP
1、实战打包Nginx
fpm -s dir -t rpm -n nginx -v 1.10.3 -d 'pcre-devel,openssl-devel' --post-install /server/scripts/nginx_rpm.sh /application/nginx-1.10.3
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.10.3/ /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://172.19.5.61enable=1gpgcheck=0yum 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命令参数
以上是关于定制rpm包搭建yum仓库的主要内容,如果未能解决你的问题,请参考以下文章