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

  需求:现在各个软件版本更新迭代很快,在我们部署一套集群(比如: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. layui 利用js原型方法来加载函数

    //举例如下: !function (win) { var FUNC = function () { this.v = "3.3" }; //这里添加函数 FUNC.prototy ...

  2. P6177-Count on a tree II/[模板]树分块

    正题 题目链接:https://www.luogu.com.cn/problem/P6177 题目大意 \(n\)个点的一棵树\(m\)次询问树上颜色. 强制在线 \(1\leq n\leq 4\ti ...

  3. Ybt#452-序列合并【期望dp】

    正题 题目链接:https://www.ybtoj.com.cn/contest/113/problem/2 题目大意 一个空序列,每次往末尾加入一个\([1,m]\)中的随机一个数.如果末尾两个数相 ...

  4. ASP.NET Core中将Json字符串转换为JsonResult

    ASP.NET Core中返回JsonResult 最近在使用NET 5.0做WebApi中,发现只能返回string类型,不能用JsonResult返回实体,于是查阅资料找到解决办法. 两种方式分别 ...

  5. 深度学习|基于LSTM网络的黄金期货价格预测--转载

    深度学习|基于LSTM网络的黄金期货价格预测 前些天看到一位大佬的深度学习的推文,内容很适用于实战,争得原作者转载同意后,转发给大家.之后会介绍LSTM的理论知识. 我把code先放在我github上 ...

  6. RabbitMQ 3.9.7 镜像模式集群的搭建

    1. 概述 老话说的好:做人脚踏实地,一步一个脚印,便定能战胜一切困难,最终取得成功!!! 言归正传,之前我们聊了 RabbitMQ 单点服务的安装,今天我们来聊聊 RabbitMQ 3.9.7 镜像 ...

  7. node.js及npm安装&配置

    之前我们在文言文安装教程里写过node.js及npm的安装,这里我们详细写一下. 下载node.js node.js下载分为两种,官网nodejs.org,和国内官网nodejs.cn,国内的童鞋建议 ...

  8. Dapr + .NET Core实战(十一)单机Dapr集群

    如何单机部署Dapr集群 第十篇讲过了K8S集群下如何使用Dapr运行程序,但是很多人一直在问如何单机下进行Dapr的负载,这节课我们来聊聊如何单机进行Dapr的负载. 首先要说的是单机下,通过 da ...

  9. 前端必会的Javascript经典面试题

    这是前端最基础的问题,也是在面试中难倒无数同学的经典问题 01. Javascript 数据类型 Javascript 数据类型 = 基本类型 + 引用类型 ES6 之前 5 + 1 = 6 种 ES ...

  10. Parcel Fabric Tools(宗地结构工具)

    宗地结构工具 1.图层和表视图 # Process: 创建宗地结构图层 arcpy.MakeParcelFabricLayer_fabric("", 输出图层) # Process ...