在生产环境中,受到网络环境的影响,服务器可能带宽有限,连外网速度较慢或者局域网内的某些机器由于安全的限制,本身就不允许和外网和任何的连接。而这时候现在通过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. RabbitMQ (五)主题(Topic) -摘自网络

    虽然使用direct类型改良了我们的系统,但是仍然存在一些局限性:它不能够基于多重条件进行路由选择. 在我们的日志系统中,我们有可能希望不仅根据日志的级别而且想根据日志的来源进行订阅.这个概念类似un ...

  2. 【现代程序设计】【homework-08】

    1. 理解C++变量的作用域和生命周期 #include<stdio.h> char * test() { ]="; return s; } main() { puts(test ...

  3. rsync 无密码传输文件

    最近机器迁移,需要备份文件,但各个机器间不能穿梭,即无法通过scp来传输文件, 在运维的建议下,选用了rsync作为传输的工具. 默认情况Ubuntu安装了rsync服务,但在/etc下没有配置文件, ...

  4. Spring MVC MultiActionController example

    In Spring MVC application, MultiActionController is used to group related actions into a single cont ...

  5. zznu 1914 asd的甩锅计划

    http://acm.zznu.edu.cn/problem.php?id=1914 asd的甩锅计划 时间限制: 1 Sec  内存限制: 128 MB提交: 114  解决: 10[提交][状态] ...

  6. [iOS UI进阶 - 4.0] 涂鸦app Demo

    A.需求 1.超简易画图,只有一种画笔 2.清屏功能 3.回退功能 4.保存功能 5.使用了cocos2D   code source: https://github.com/hellovoidwor ...

  7. hash_map vs unordered_map vs map vs unordered_set

    hash_map vs unordered_map 这两个的内部结构都是采用哈希表来实现.unordered_map在C++11的时候被引入标准库了,而hash_map没有,所以建议还是使用unord ...

  8. Rstudio设置永久工作路径

    Rstudio中 getwd() 获取工作路径 setwd() 设置工作路径 但这种方式设置后每次打开都要重新设置,现在介绍一种设置永久路径的方法

  9. 一种基于Welch's t检验的二元关系挖掘

    现实中常常需要挖掘两种因素之间的关联,Welch's t检验很适合其中的nomial-numerical的关系挖掘.比如天气状况对销量的影响,或者天气情况对交通流量的影响等等.我们可以按照下雨/不下雨 ...

  10. IOS Note - Outlet(插座) & Action(动作)

    OutletActionViewController.h #import <UIKit/UIKit.h> @interface OutletActionViewController : U ...