zoukankan      html  css  js  c++  java
  • Centos 7 局域网 yum 源搭建

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

      需求:现在各个软件版本更新迭代很快,在我们部署一套集群(比如: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

     

  • 相关阅读:
    sublime开启vim模式
    git命令行界面
    搬进Github
    【POJ 2886】Who Gets the Most Candies?
    【UVA 1451】Average
    【CodeForces 625A】Guest From the Past
    【ZOJ 3480】Duck Typing
    【POJ 3320】Jessica's Reading Problemc(尺取法)
    【HDU 1445】Ride to School
    【HDU 5578】Friendship of Frog
  • 原文地址:https://www.cnblogs.com/weijie0717/p/12970965.html
Copyright © 2011-2022 走看看