在生产环境中,受到网络环境的影响,服务器可能带宽有限,连外网速度较慢或者局域网内的某些机器由于安全的限制,本身就不允许和外网和任何的连接。而这时候现在通过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. ORM 是一种讨厌的反模式

    本文由码农网 – 孙腾浩原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! (“Too Long; Didn’t Read.”太长不想看,可以看这段摘要 )ORM是一种讨厌的反模式,违背 ...

  2. [现代程序设计]homework-03

    Homework-03 队员: 11061193 薛亚杰 11061192 周敏轩    11061190 李孟 材料阅读 我们三个人将以下材料仔细阅读,觉得十分受益.下面是我们的总结和分享: 1)代 ...

  3. JDBC学习笔记(10)——调用函数&存储过程

    如何使用JDBC调用存储在数据库中的函数或存储过程: * 1.通过COnnection对象的prepareCall()方法创建一个CallableStatement *    对象的实例,在使用Con ...

  4. CodeForces 455C Civilization (并查集+树的直径)

    Civilization 题目链接: http://acm.hust.edu.cn/vjudge/contest/121334#problem/B Description Andrew plays a ...

  5. maven系列(1)-maven的介绍与安装

    maven的介绍 maven是大名鼎鼎的Apache下的java构建工具. Apache Maven is a software project management and comprehensio ...

  6. codeforces 630C Lucky Numbers

    C. Lucky Numbers time limit per test 0.5 seconds memory limit per test 64 megabytes input standard i ...

  7. Autofac实例生命周期

    1.默认,每次请求都会返回一个实例 builder.RegisterType<X>().InstancePerDependency(); 2.Per Lifetime Scope:这个作用 ...

  8. java 搭建webservice服务+testclient測试

    整理别人的日志: 一.什么是webservice 一种构建应用程序的普遍模型,能够在不论什么支持网络通信的操作系统中执行.一种新的web应用程序分支,能够公布.定位通过web调用.它是一个应用组件,为 ...

  9. 从零开始学android开发-setBackgroundDrawable与setBackgroundResource的区别

    setBackgroundDrawable和setBackgroundResource的区别很多网友不知道View类提供的setBackgroundDrawable和setBackgroundReso ...

  10. PP常用T-CODE

    与BOM相关 CS00 BOM 菜单 BOM Menu CS01 生成物料 BOM Create Material BOM CS02 更改物料 BOM Change Material CS03 显示物 ...