在生产环境中,受到网络环境的影响,服务器可能带宽有限,连外网速度较慢或者局域网内的某些机器由于安全的限制,本身就不允许和外网和任何的连接。而这时候现在通过yum安装包或update包时就是一件比较麻烦的事。不过这个问题可以通过在本地自建yum源来解决 。

一、http的安装

yum源可以通过http、ftp、nfs等方式去防问,不过由于nfs由于自身的安全性问题,不推荐用。而ftp有主动/被动模式的问题,配置不当也会
造成有无法访问的问题 。所以推荐以web的方式提供yum源  。常见的web
server很多,有nginx、apache、lighthttp等,不过由于centos源中带的是apache(其中发行版中,也大都带的有
apache),所以本处以apache为例:

yum -y install httpd http-devel
service httpd start
checkconfig httpd on

以上操作就完成了apache的安装、启动及开机自启动。

二、createrepo的安装及使用

createrepo是yum源维护的工具。其安装命令如下:

yum -y install createrepo

creatrepo带的参数非常多,不过我们平时用的比较多的就两条。一条是创建yum install的 repodata数据,一条是创建yum update 的 repodata数据。

1、创建install 数据

createrepo -p -d -o yum/centos/6/x86_64 yum/centos/6/x86_64

执行以上命令后,会在x86_64目录下创建repodata目录,这个就是yum源的Meta索引数据和数据库文件,有了这个,yum就可以和这个“源”进行“数据信息”了 。

2、创建update数据

createrepo --update local-yum/          # 更新本地源

有时候你的软件仓库中含有很多的软件包,虽然只是其中的一小部分有所改动但是你却不必为每个软件包重新产生元数据,这样做明显太浪费时间了。这时就可以使用--update参数创建update索引数据文件 。

三、创建yum源

将iso镜像文件挂载并将文件复制到web server目录并通过createrepo更新索引数据 。

mkdir -p /var/www/html/centos6.4/x86_64
mount -t iso9660 /root/centos6.4.iso /mnt -o loop
cp -rp /mnt/* /var/www/html/centos6.4/x86_64/
cd /var/www/html/
createrepo -p -d -o centos6.4/x86_64/ centos6.4/x86_64/

以上几步就完成了yum源的创建,如果想把其他软件也加入源中,如nginx 、JDK(非openjdk版的)、varnish等加入到源,可以再别建一个extra目录。在客户端主机上中增加以上源:

cd /etc/yum.repos.d
vim test.repo
[base]
name=centos6
baseurl=http://192.168.0.254/centos6.4/x86_64
gpgcheck=0
[extra]
name=centos-extra
baseurl=http://192.168.0.254/centos6.4/extra
gpgcheck=0

本处是新增了一个repo文件,也可以直接修改CentOS-Base.repo文件 。但无论是修改还是新增,需要保证的是文件名必须是以.repo结尾的。

更新源了以后,有时发现会无法使用。这时需要在客户机上执行以下命令清理以前的源数据:

yum clean all

注:如果想要和现网上的源文件保持一致,还可以通过rsync进行同步。

搭建yum源服务器的更多相关文章

  1. FTP搭建YUM源服务器

    一.FTP搭建YUM源服务器 1.服务器 挂载centos镜像[root@localhost ~]#yum install vsftpd[root@localhost ~]#systemctl sta ...

  2. 基于http方式搭建YUM源服务器

    基于http方式搭建YUM源服务器 (2012-09-21 11:59:14) 转载▼ 标签: yum linux lnmp lamp http 分类: Linux 为了方便公司80多台Linux服务 ...

  3. RedHat7搭建yum源服务器

    1.新建目录 # mkdir -p /content/rhel7/x86_64/{isos,dvd}/ 2.上传RedHat安装光盘镜像,上传后的路径为 /content/rhel7/x86_64/i ...

  4. 基于nginx搭建yum源服务器

      1.首先关闭防护墙或者设置规则通过且关闭selinux 停止firewall systemctl stop firewalld 禁止firewall开机启动 systemctl disable f ...

  5. CDH 5.5.1 Yum源服务器搭建

    CDH 5.5.1 Yum源服务器搭建 下载Cloudera Repo #下载资源仓库repo wget https://archive.cloudera.com/cdh5/redhat/6/x86_ ...

  6. CentOS7下的YUM源服务器搭建详解,过程写的很详细(转)

    因为近期公司需要搭建一个YUM源服务器给大量的linux(mini)使用,所以因此在网上找了很多的教程,却没有一个特别详细的,很多都有遗漏,参差不齐.所以,打算自己做完之后方便以后查阅,特出此文档. ...

  7. 搭建本地yum源服务器

    搭建本地yum源服务器   好久没写博客了,最近比较动荡,临毕业时跳了个槽,感觉之前做的金融方向的运维不是很适合我,对各方面的限制还是太多.金融的IT对于安全似乎要求很高,云盘,U盘都不能用,还要经常 ...

  8. 搭建YUM仓库

    概述 YUM 主要用于自动安装.升级 rpm 软件包,它能自动查找并解决 rpm 包之间的依赖关系.要功的使用 YUM 工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的 reposito ...

  9. 自动化部署之搭建yum仓

    一.导言 YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库 ...

随机推荐

  1. elisp debug

    M-x  是运行command的意思. 若使用常规Emacs debugger(即不使用edebuger),先把要debug的函数加入到debug-on-entry:  M-x   debug-on- ...

  2. 了解RFC协议号

    RFC是Request For Comment的缩写,意即“请求注解”,是由IETF管理,所有关于Internet的正式标准都以文档出版,但不是所有的RFC都是正式的标准,很多RFC的目的只是为了提供 ...

  3. WScript中调用js方法

    http://zhidao.baidu.com/question/484374074.html ———————————————————————————————————————————————— Sub ...

  4. 提高iOS开发效率的方法和工具

    http://www.cocoachina.com/ios/20150717/12626.html 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先 ...

  5. 剑指OFFER之反转链表(九度OJ1518)

    题目描述: 输入一个链表,反转链表后,输出链表的所有元素.(hint : 请务必使用链表) 输入: 输入可能包含多个测试样例,输入以EOF结束.对于每个测试案例,输入的第一行为一个整数n(0<= ...

  6. 初识FreeMarker

    一.什么是FreeMarker? FreeMarker基于设计者和程序员是具有不同专业技能的不同个体的观念 他们是分工劳动的:设计者专注于表示——创建HTML文件.图片.Web页面的其它可视化方面: ...

  7. php 建立类POST/GET 的HTTP请求

    1.第一种利用fsock的方式来建立类POST的请求. <?php $srv_ip = '192.168.1.5';//你的目标服务地址. $srv_port = 80;//端口 $url = ...

  8. SAP CRM 最新简介文字(2007年、中英文)

    以下内容是SAP CRM功能的精简描述,摘自SAP官方文档,附上中英文版本,可以对SAP CRM的主要功能有大致了解. 营销 - 使用营销资源管理.客户细分及列表管理.营销活动管理.线索管理.贸易促销 ...

  9. SkinSharp用法

    SkinSharp又称Skin#,是很好用的一款轻量化的VC程序美化工具 官网地址是http://www.skinsharp.com/ 尽管SkinSharp是收费软件,但提供试用版,并且比較厚道,试 ...

  10. _vsnprintf 用法

    _vsnprintf,C语言库函数之一,属于可变参数.用于向字符串中打印数据.数据格式用户自定义. 头文件: #include <stdarg.h> 函数声明: int _vsnprint ...