定制rpm包及搭建yum仓库

定制rpm包及搭建yum仓库

第1章 定制rpm包

1.FPM打包工具

FPM的作者是jordansissel
FPM的github:https://github.com/jordansissel/fpm
FPM功能简单说就是将一种类型的包转换成另一种类型。

支持的源类型包:

dir         将目录打包成所需要的类型,可以用于源码编译安装的软件包

rpm         对rpm进行转换

gem         对rubygem包进行转换

python      将python模块打包成相应的类型

2.fpm安装

[[email protected] ~]# yum -y install ruby rubygemsruby-devel

安装ruby模块

[[email protected] ~]# gem sources -ahttp://mirrors.aliyun.com/rubygems/

http://mirrors.aliyun.com/rubygems/ added tosources

添加阿里云的Rubygems仓库,国外资源会影响下载速度

[[email protected] ~]# gem sources --removehttp://rubygems.org/

http://rubygems.org/ removed from sources

移除原生的ruby仓库

[[email protected] ~]# gem installfpm

安装fpm

3.fpm常用参数

-s  #指定源类型

-t  #指定目标类型,即想要制作为什么包

-n  #指定包的名字

-v  #指定包的版本号

-C  #指定打包的相对路径  Change directory tohere before searching forfiles

-d  #指定依赖于哪些包

-f  #第二次打包时目录下如果有同名安装包存在,则覆盖它

-p  #输出的安装包的目录,不想放在当前目录下就需要指定

--post-install #软件包安装完成之后所要运行的脚本;同--after-install

--pre-install #软件包安装完成之前所要运行的脚本;同--before-install

--post-uninstall #软件包卸载完成之后所要运行的脚本;同--after-remove

--pre-uninstall #软件包卸载完成之前所要运行的脚本;同--before-remove

4. 安装nginx

yum -y install pcre-devel openssl-devel

useradd nginx -M -s /sbin/nologin

tar xf nginx-1.6.2.tar.gz

cd nginx-1.6.2

./configure --prefix=/application/nginx-1.6.2--user=nginx --group=nginx --with-http_ssl_module--with-http_stub_status_module

make && make install

ln -s /application/nginx-1.6.2/ /application/nginx

5.编写脚本

[[email protected] ~]# cd/server/scripts/

[[email protected] scripts]# vimnginx_rpm.sh

#!/bin/bash

useradd nginx -M -s /sbin/nologin

ln -s /application/nginx-1.6.2//application/nginx

6.打包

[[email protected] application]# yum -yinstall rpm-build

[[email protected] ~]# fpm -s dir -t rpm-n nginx -v 1.6.2 -d ‘pcre-devel,openssl-devel‘ --post-install/server/scripts/nginx_rpm.sh -f /application/nginx-1.6.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.6.2-1.x86_64.rpm"}

[[email protected] ~]# ll -hnginx-1.6.2-1.x86_64.rpm

-rw-r--r-- 1 root root 6.7MNov  1 10:02 nginx-1.6.2-1.x86_64.rpm

4. 安装rpm包

rpm -ivh nginx-1.6.2-1.x86_64.rpm

yum -y localinstallnginx-1.6.2-1.x86_64.rpm

第2章 搭建yum仓库

服务端配置:

1.创建yum仓库目录

mkdir –p /application/yum/centos6/x86_64/

2.安装createrepo软件

yum -y install createrepo

3.初始化repodata索引文件

createrepo -pdo/application/yum/centos6.6/x86_64/ /application/yum/centos6.6/x86_64/

4.进入需要提供仓库的目录

cd /application/yum/centos6/x86_64/

5.配置web查看yum

python -m SimpleHTTPServer80 &>/dev/null &

//可以用Apache或nginx提供web服务,但用Python的http模块更简单,适用于内网环境, 可以通过浏览器输入本机IP查看。

6.每加入一个rpm包就要更新一下

createrepo--update /application/yum/centos6/x86_64/

7.保存下载过的软件

sed -i ‘s#keepcache=0#keepcache=1#g‘ /etc/yum.conf

//修改yum配置文件keepacache=0改为1

8.安装包存储目录

ls /var/cache/yum/x86_64/6/base/packages

客户端配置:

1.配置本地yum源文件

[[email protected] yum.repos.d]#cd /etc/yum.repos.d

[[email protected] yum.repos.d]#vi oldboy.repo         连接本地yum源

[oldboy]

name=oldboy

baseurl=http://10.0.0.61

enable=1

gpgcheck=0

2.指定新增的yum源生效

[[email protected] ~]# yum --enablerepo=oldboy --disablerepo=base,extras,updates,epellist

指定使用oldboy库(临时生效)

3.使yum源永久生效

[[email protected] yum.repos.d]# vim /etc/yum.repos.d/CentOS-Base.repo

# 在每一个启动的源加上

#enabled=0#改为1就启用,没有此参数也是启用。

[base]

enabled=0

…………

[updates]

…………

enabled=0

…………

[extras]

…………

enabled=0

# 还有其他开启的仓库就使用这个办法关闭

4.查看现有yum源

[[email protected] ~]# yum repolist

5.同步公网yum源

上游yum源必须要支持rsync协议,否则不能使用rsync进行同步。

CentOS官方标准源:rsync://mirrors.ustc.edu.cn/centos/

epel源:rsync://mirrors.ustc.edu.cn/epel/

163源:http://mirrors.163.com/

阿里云源:http://mirrors.aliyun.com/

# 同步base源

/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64//data/yum_data/centos/6/os/x86_64/

# epel源

/usr/bin/rsync -av --exclude=debugrsync://mirrors.ustc.edu.cn/epel/6/x86_64/ /data/yum_data/epel/6/x86_64/

时间: 2024-10-15 13:04:22

定制rpm包及搭建yum仓库的相关文章

定制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] ~]#

Linux 定制rpm包

 定制rpm包 说明:这些操作全部在管理服务器内操作. 定制rpm包,搭建内网yum仓库,通过kickstart批量系统安装,这是互联网企业运维自动化的必要技能,自动化运维的基石. 1.1 面试题 有100台服务器想安装系统.你有什么方案快速部署并优化吗?需要多少时间搞定? 1.1.1 解决方案 (1) tar打包:先编译安装.打包.批量分发.解包: (2) saltstack.puppet.ansible批量部署: (3) 定制rpm所.搭建yum仓库.yum安装: (4) openstack

如何搭建yum仓库与定制rpm包

当我们自动仳部署集群的时候,想要快速的安装所有服务,搭建yum仓库与定制rpm包是我们首先要做的 原创作品,转载请注明出处.http://www.cnblogs.com/Csir/  本人导师---悠久之翼 #服务端1.#先保留平常下载下来的rpm包 sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf 这样当我们yum安装软件的时候,文件就是被保存下来: /var/cache/yum/ #部署nginx,提供80端口服务#安装依赖包 yum in

一键自动化部署(定制rpm包,yum仓库)

部署--前篇 上午将MySQL多实例部署完成,由于有公司特定一些需求,需要源码安装,现在需要批量部署,如果一台台部署,就太过麻烦,而且浪费时间,这个时候自动化部署 就体现出价值了 我们将MySQL制作定制化rpm包,然后放到我们的yum仓库中,在将yum所有客户端,都指向yum源,之后就是喝喝茶,看看片,轻松批量部署了,废话不多说,开干. 如果MySQL多实例还没配置的,或不了解软件的安装方式 的 请参考:http://qiuyt.blog.51cto.com/1229789/1920686 一

定制RPM包及yum仓库搭建(以安装nginx为例)

一.前提条件 #下面通过虚拟机准备了一台服务端,一台客户端,基于外网IP测试,以安装nginx为例. #两台机器公共配置 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.7 (Final) [[email protected] ~]# uname -m x86_64 [[email protected] ~]# uname -r 2.6.32-573.el6.x86_64 #服务端配置 [[email protect

定制RPM包

目录 1. 安装软件的方式... 1 2. 定制RPM包... 1 2.1 RPM简介... 2 2.2 fpm工具介绍... 2 2.3 FPM安装  *****. 3 2.4 yum安装时如何解决依赖问题的... 4 3. 实战定制nginx的RPM包  *****. 4 3. 安装rpm包  *****. 7 4. 定制LNMP的RPM包思路... 8 1. 安装软件的方式 1 编译安装软件 优点:定制优化安装目录:按需开启功能:可定制(定制安装目录和软件功能),一般情况下不需要网络,可选

自动化部署必备技能——定制RPM包

回顾下安装软件的三种方式: 1.编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件编译耗时过长. 2.yum安装软件,优点是全自动化安装,不需要为依赖问题发愁了,缺点是自主性太差,软件的功能.存放位置都已经固定好了,不易变更. ===>如果你现在还为是使用编译安装软件还是使用yum安装软件发愁,那你就out了. 3.编译源码,根据自己的需求做成定制RPM包–>搭建内网yum仓库–yum安装.结合前两者的优点,暂未发现什么缺点.

Linux服务器上搭建yum仓库

概述 YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个软件仓库我们习惯称为yum源.网络上有大量的yum源,但由于受到网络环境的限制,导致软件安装耗时过长甚至失败.特别是当有大量服务器大量软件包需要安装时,缓慢的进度条令人难以忍受.因此我们在优化系统时,都会更换国内的源.相比较而言,本地YUM源服务器最大优点是局域网的快速网络连接和稳定性.有了局域

FPM定制RPM包

软件安装的常见方式: 1.编译安装: 优点:可以定制化安装目录,按需开启功能等. 缺点:需要查找并实验出合适的编译参数,诸如MySQL之类的软件编译耗时过长. 2.yum安装软件 优点:全自动化安装,不需要为依赖问题发愁. 缺点:自主性太差,软件的功能.存放位置都固定好了,不易变更(定制rpm包恰好解决这一问题) FPM打包工具: 1.简介: FPM的作者是Jordansissel FPM的GITHUB:https://github.com/jordansissel/fpm 官网:http://