在生产环境中,受到网络环境的影响,服务器可能带宽有限,连外网速度较慢或者局域网内的某些机器由于安全的限制,本身就不允许和外网和任何的连接。而这时候现在通过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. 软件开发杂谈之从需求到上线---valen

    背景 IT已经成为当代企业必不可少的竞争手段,从无到有到标配,可以说以后不懂IT的就是文盲这句一点也不过,而软件开发是个复杂工程,零零碎碎各种理论工具和技巧,一言难尽. 本文意在言简意赅,简述软件开发 ...

  2. 降低Java垃圾回收开销的5条建议

    保持GC低开销的窍门有哪些? 随着一再拖延而即将发布的 Java9,G1(“Garbage First”)垃圾回收器将被成为 HotSpot 虚拟机默认的垃圾回收器.从 serial 垃圾回收器到CM ...

  3. Spring4整合Hibernate4详细示例

    1. Spring整合Hibernate,主要是解决什么问题? a.让Spring提供的IOC容器来管理Hibernate的SessionFactory b.让Hibernate使用Spring提供的 ...

  4. UVALive 7276 Wooden Signs (DP)

    Wooden Signs 题目链接: http://acm.hust.edu.cn/vjudge/contest/127406#problem/E Description http://7xjob4. ...

  5. VIM技巧(1)

    VIM技巧(1) 替换 36s/^\(.* = \)entity.\(.*\)$/\1this.GetShowName("\2",\2); 删除空行 %g/^$/d %g/^\s* ...

  6. LCD1602汉字、自定义字符取模

    用zimo221软件, 新建一个8*8的图像,留出左边3列,用右边5列点出自定义字符,选择取模方式C51,就可得到对应的编码 如下图:温度符号℃的编码

  7. redis神器

    redis是内存型数据库,数据保存在内存中,通过tcp直接存取,优势是速度快,并发高,缺点是数据类型有限,查询功能不强,一般用作缓存. redis具有持久化机制,可以定期将内存中的数据持久化到硬盘上. ...

  8. OLEVARIANT的替代——FIREDAC的TFDJSONDataSets和TFDJSONDeltas

    OLEVARIANT——这个COM的序列格式,也是DATASNAP已使用了20年的序列格式,在20年以后的今天,终于有了它的替代者:FIREDAC的TFDJSONDataSets和TFDJSONDel ...

  9. 关于cocoapods添加静态库的奇葩配置

    不多说,直接上代码 当引入这个静态库时,一开始死活在编辑时找不到这个静态库. 直到看到这个贴子:http://stackoverflow.com/questions/19189463/cocoapod ...

  10. 使用Windbg和SoS扩展调试分析.NET程序

    在博客堂的不是我舍不得 - High CPU in GC(都是+=惹的祸,为啥不用StringBuilder呢?). 不是我舍不得 - .NET里面的Out Of Memory 看到很多人在问如何分析 ...