zoukankan      html  css  js  c++  java
  • CentOS 7 搭建本地YUM仓库,并定期同步阿里云源

    目录导航:

      1. 系统环境

      2. 修改yum 源为阿里云源

      3. 安装yum相关的软件

      4. 根据源标识同步源到本地目录

      5. 安装nginx开启目录权限保证本地机器可以直接本地yum源

      6. 客户端创建repo文件

      

     

    1. 系统环境 

    # cat /etc/centos-release
    CentOS Linux release 7.6.1810 (Core)
    
    
    # uname -r
    3.10.0-957.el7.x86_64
    
    # ip a |awk 'NR==9{print $2}'|awk -F '/' '{print $1}'
    10.0.0.100

    2. 修改yum 源为阿里云源

    2.1 备份系统自带的yum源

    # tar -zcvf CentOS-bk.tar.gz /etc/yum.repos.d/CentOS-*

    2.2 修改yum源 

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

    或者

    # curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
    # curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

    2.3 检验阿里云源是否正常

    # yum repolist
    
    Loaded plugins: fastestmirror
    
    Loading mirror speeds from cached hostfile
    
     * base: mirrors.aliyun.com
    
     * extras: mirrors.aliyun.com
    
     * updates: mirrors.aliyun.com
    
    #仓库标识仓库名称状态
    
    repo id                                                                     repo name                                                                                                status
    
    !base/7/x86_64                                                              CentOS-7 - Base - mirrors.aliyun.com                                                                     10,019
    
    !epel/x86_64                                                                Extra Packages for Enterprise Linux 7 - x86_64                                                           12,902
    
    !extras/7/x86_64                                                            CentOS-7 - Extras - mirrors.aliyun.com                                                                      371
    
    !updates/7/x86_64                                                           CentOS-7 - Updates - mirrors.aliyun.com                                                                   1,103
    
    repolist: 24,395

    3. 安装yum相关的软件

    # yum install -y wget make cmake gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel createrepo yum-utils

    yum-utils:reposync同步工具

    createrepo:编辑yum库工具

    plugin-priorities:控制yum源更新优先级工具,这个工具可以用来控制进行yum源检索的先后顺序,建议可以用在client端。

    注:由于很多人喜欢最小化安装,上边软件是一些常用环境。

    4. 根据源标识同步源到本地目录

    4.1 创建本地目录

    # mkdir /mirror

    4.2 同步到本地目录

    # reposync -p / mirror

    注:不用担心没有创建相关目录,系统自动创建相关目录,并下载,时间较长请耐心等待。

    可以用  repo -r --repoid=repoid 指定要查询的repo id,可以指定多个(# reposync -r base -p /mirror   #这里同步base目录到本地)

    更新新的rpm包

    # reposync -np /mirror

    注:时间同样较长,请耐心等待。

     

    4.3 创建索引

    # createrepo -po /mirror/base/ /mirror/base/
    # createrepo -po /mirror/extras/ /mirror/extras/
    # createrepo -po /mirror/updates/ /mirror/updates/
    # createrepo -po /mirror/epel/ /mirror/epel/

    4.4 更新源数据

    # createrepo --update /mirror/base
    # createrepo --update /mirror/extras
    # createrepo --update /mirror/updates
    # createrepo --update /mirror/epel

    4.5 创建定时任务脚本

    # vim /mirror/script/centos_yum_update.sh
    #!/bin/bash
    echo 'Updating Aliyum Source'
    DATETIME=`date +%F_%T`
    exec > /var/log/aliyumrepo_$DATETIME.log
         reposync -np /mirror
    if [ $? -eq 0 ];then
          createrepo --update /mirror/base
          createrepo --update /mirror/extras
          createrepo --update /mirror/updates
          createrepo --update /mirror/epel
        echo "SUCESS: $DATETIME aliyum_yum update successful"
      else
        echo "ERROR: $DATETIME aliyum_yum update failed"
    fi

    4.6 将脚本加入到定时任务中

    # crontab -e
    # Updating Aliyum Source
    00 13 * * 6 [ $(date +%d) -eq $(cal | awk 'NR==3{print $NF}') ] && /bin/bash /mirror/script/centos_yum_update.sh

    每月第一个周六的13点更新阿里云yum源

    5. 安装nginx开启目录权限保证本地机器可以直接本地yum源

    5.1 创建运行账户

    # groupadd nginx
    # useradd -r -g nginx -s /bin/false -M nginx
    # yum install nginx -y

    5.2  修改nginx 配置文件

    # vim nginx.conf
    worker_processes  1;
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
        server {
            listen       80;
            server_name  localhost;
            root         /mirror ;           #这里是yum源存放目录
            location / {
                autoindex on;        #打开目录浏览功能
                autoindex_exact_size off;  # off:以可读的方式显示文件大小
                autoindex_localtime on;    # on/off:是否以服务器的文件时间作为显示的时间
                charset utf-8,gbk;     #展示中文文件名
                index index.html;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    } 

    6. 客户端创建repo文件

    注:搭建好后yum安装速度并没有想象中的那么快,安装时解决依赖速度也很慢。 

    # vim CentOS7.x-Base.repo
    [base]
    name=CentOS-$releasever - Base - mirror.template.com
    baseurl=http://10.0.0.100/base/
    path=/
    enabled=1
    gpgcheck=0 
    
    [updates]
    name=CentOS-$releasever - Updates - mirror.template.com
    baseurl=http://10.0.0.100/updates/
    path=/
    enabled=1
    gpgcheck=0
    
    [extras]
    name=CentOS-$releasever - Extras - mirrors.template.com
    baseurl=http://10.0.0.100/extras/
    path=/
    enabled=1
    gpgcheck=0 
    
    [epel]
    name=CentOS-$releasever - epel - mirrors.template.com
    baseurl=http://10.0.0.100/epel/
    failovermethod=priority
    enabled=1
    gpgcheck=0
  • 相关阅读:
    (转载)linux 常用命令
    视图view
    Mysql增删改查
    mysql最基础命令
    mysql的基本操作
    (转载)RHEL7(RedHat 7)本地源的配置
    (转载)Linux之虚拟机 rehl7的ip
    js 基本
    java Servlet
    java Tttp协议和Tomcat
  • 原文地址:https://www.cnblogs.com/reachos/p/11303843.html
Copyright © 2011-2022 走看看