一、需求及实现方式介绍:

  需求:现在各个软件版本更新迭代很快,在我们部署一套集群(比如:openstack)后,如果过一段时间想扩展集群时发现软件版本早已迭代更新,安装后导致和现有环境或多或少不兼容,比较麻烦,因此我们可以在集群搭建时就将所有的安装包下载到本地,使用本地仓库进行安装,可以保证软件版本不会发生变化。

  实现方式:使用nginx + createrepo + downloadonly 搭建本地yum 源。

二、搭建

  1、安装createrepo 

    # yum -y install createrepo

  2、创建镜像存放目录,最好能挂在一个单独的分区

    # mkdir /my_repo

  3、安装nginx

    # yum -y install nginx

    # vim /etc/nginx/nginx.conf    

    server {
listen 80 default_server;
listen [::]:80 default_server;
server_name x.x.x.x; #修改此行,yum源服务器的IP
root /usr/share/nginx/html; # Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf; location / {
root /my_repo; #添加仓库的实际路径
autoindex on; #关键所在,必须添加
} error_page 404 /404.html;
location = /40x.html {
}

# systemctl restart nginx.service    #重启nginx 服务

  4、安装downloadonly  插件包

    # yum install yum-utils

  5、下载镜像包

    命令格式:
      yumdownloader --resolve(可选,意为下依赖包) --destdir=软件存放位置 (可选) +软件包名

    # yumdownloader --resolve nginx  --destdir=/my_repo/nginx

    

  6、生成镜像仓库,会在仓库目录下生成一个repodata 的目录

    #  createrepo -p /my_repo/

    

三、客户端测试:

  1、浏览器访问:

    

  2、客户端修改yum 源

    # cd /etc/yum.repos.d/ 

    # mkdir back

    # mv *.repo back

    # vin Internal.repo    

[base]
name = "Internal_repo"
baseurl = http://x.x.x.x #局域网yum 源IP地址
gpgcheck = 0
enabled = 1
[updates]
name = "Internal_repo"
baseurl = http://x.x.x.x
gpgcheck = 0
enabled = 1

    

    # yum repolist     #  客户端repo 列表查看

      

    #  yum -y install nginx   #客户端测试安装 nginx

      

四、后期维护

  1、服务端

    每次下载完镜像后,都需要更新yum仓库列表

    # createrepo --update -p /my_repo

  2、客户端

    #  yum clean all    #清除原有的yum信息

五、拓展

  1、同步网上现有的镜像源:

    a、创建存储目录

      # mkdir -p /my_repo/CentOS_72_1511_Yum/Aliyun/version_7.2/64bit  

    b、 准备同步阿里云的源,base,updates,extras,epel, 确保/etc/yum.repos.d/ 下只有下面这两个repo

      # wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

      # wget -O /etc/yum.repos.d/CentOS-epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

    c、 开始同步下载包

      # reposync -p /my_repo/CentOS_72_1511_Yum/Aliyun/version_7.2/64bit/

    d、 建仓

      # createrepo -p /my_repo/CentOS_72_1511_Yum/Aliyun/version_7.2/64bit/base/Packages

      # createrepo -p /my_repo/CentOS_72_1511_Yum/Aliyun/version_7.2/64bit/extras/Packages

      # createrepo -p /my_repo/CentOS_72_1511_Yum/Aliyun/version_7.2/64bit/updates/Packages

      # createrepo -p /my_repo/CentOS_72_1511_Yum/Aliyun/version_7.2/64bit/epel

    e、crontab定时同步

      # crontab -e

        1 2 * * * reposync -np /my_repo/CentOS_72_1511_Yum/Aliyun/version_7.2/64bit/      #-np:只同步更新的部分

  2、挂在ISO镜像

    a、创建挂在目录

      # mkdir /my_repo/cdrom

    b、挂在镜像

      # mount -t iso9660  /dev/cdrom    /my_repo/cdrom

    c、建仓

      # createrepo -p /my_repo/cdrom

Centos 7 局域网 yum 源搭建的更多相关文章

  1. 本地局域网yum源搭建-centos/redhat

    环境-centos6.7  [本机yum搭建提前备好,不做介绍] [root@nagios ~]# cat /etc/redhat-release CentOS release 6.7 (Final) ...

  2. CentOS7.5下基于FTP服务的局域网yum源搭建

    实验环境 yum源服务器和yum客户端都处于同一局域网之中 yum源服务器 hostname:zabbix OS版本:CentOS 7.5 IP:192.168.101.201 yum客户端 host ...

  3. CentOS 7搭建本地yum源和局域网yum源

    这两天在部署公司的测试环境,在安装各种中间件的时候,发现各种依赖都没有:后来一检查,发现安装的操作系统是CentOS Mini版,好吧,我认了:为了完成测试环境的搭建,我就搭建了一个局域网的yum源. ...

  4. 搭建本地yum源和局域网yum源

    搭建本地yum源和局域网yum源 由于很多客户环境是专网,不允许连网,无法使用网上的各种yum源,来回拷贝rpm包安装麻烦,还得解决依赖问题.所以想着搭建个本地/局域网YUM源,方便安装软件. 1   ...

  5. CentOS7.2 创建本地YUM源和局域网YUM源

    1背景 由于开发环境只有局域网,没法使用网上的各种YUM源,来回拷贝rpm包安装麻烦,还得解决依赖问题. 想着搭建个本地/局域网YUM源,方便自己跟同事安装软件. 2环境 [root@min-base ...

  6. Linux 本地yum源搭建和网络yum源搭建

    一.本地yum源搭建 首先挂载上光盘 [root@www /]# mount /dev/cdrom /media/cdrom/ 系统默认已经安装了可使用yum的软件包,所以可以直接配置: [root@ ...

  7. Linux学习——yum学习和光盘yum源搭建

    在rmp安装的时代,rpm包依赖让安装人员头大,而且头疼,有了yum后整个的安装更加简单和方便. yum源文件 1.yum源的介绍: 将所有的软件包放到官方服务器上,当进行yum在线安装时,可以自动解 ...

  8. CentOS下安装yum源的流程和操作

    一般公司都用Linux来搭建服务器,Linux安装软件时能够用yum安装依赖包是一件非常简单而幸福的事情,因为你只需一个简单的安装命令yum install []即可安装相应的软件,yum工具会自动的 ...

  9. RedHat Enterprise Linux 6.4使用Centos 6的yum源问题

    RedHat Enterprise Linux 6.4使用Centos 6的yum源问题 作为一名新手,学习Linux已经一个月了,其间遇到了不少问题,而今天笔者遇到的问题是 #yum install ...

随机推荐

  1. 浏览器缓存旧的js文件或css文件导致没出现预期效果

    最好在加载的js或css文件后加上 ?v=1.0.0 版本号,更新js后就更改一下版本号即可

  2. 搭建http文件服务器 - python3使用http.server搭建http文件服务器

    适用场景 只要有python3就可以,windows系统cmd窗口直接敲命令,Linux系统,直接敲命令 step-1 cd cd 到需要搭建服务器的目录 step-2 http.server pyt ...

  3. 大型项目源码集合「GitHub 热点速览 v.21.39」

    作者:HelloGitHub-小鱼干 代码,尤其是优雅规范的代码,一直都是学习编程技巧的捷径.虽然有实用的代码小片段,能拯救当前业务的燃眉之急,但是真要去提升自己的技能还是得从大型的项目,尤其是有一定 ...

  4. windows环境下配置Kafaka

    一.安装Zookeeper(Kafaka依赖于zookeeper进行服务注册和管理) 1. 1   下载zookeeper:http://mirror.bit.edu.cn/apache/zookee ...

  5. WPF实现截图(仿微信截图)

    WPF开发者QQ群: 340500857  | 微信群 -> 进入公众号主页 加入组织 每日一笑 肚子疼,去厕所排便,结果什么都没拉出来.看着自己坐在马桶上痛苦又努力却一无所获的样子,仿佛看到了 ...

  6. C#开发BIMFACE系列43 服务端API之图纸拆分

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在上一篇博客<C#开发BIMFACE系列42 服务端API之图纸对比>的最后留了一个问题,在常规业务场景下,一 ...

  7. SpringPlugin-Core在业务中的应用

    前言 一直负责部门的订单模块,从php转到Java也是如此,换了一种语言来实现订单相关功能.那么Spring里有很多已经搭建好基础模块的设计模式来帮助我们解耦实际业务中的逻辑,用起来非常的方便!就比如 ...

  8. 使用率激增250%,这份报告再将 Serverless 推向幕前

    ​ 作者 | 望宸 来源 | Serverless 公众号 相比去年,国外 Serverless 的适用群体在迅速扩大,函数执行时长不断增加,使用方式也越加成熟,开发者工具也更加开放.本文是对 Dat ...

  9. Jekins 插件Extended Choice Parameter显示Json Parameter Type遇到的问题

    在jenkins中使用Extended Choice Parameter插件用来显示自定义的多选项,尝试通过groovy script来显示,正常,但查看它的例子,发现它例子中多选是通过类型 Json ...

  10. WPF之资源专题

    1.一般程序的资源可以分为四个等级: 数据库中的数据相当于放在仓库里 资源文件里的数据相当于放在旅行箱里 WPF对象资源里的数据相当于携带在背包里 变量中的数据相当于拿在手里 2.资源的查找顺序是沿着 ...