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

    # 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

    备份系统自带的yum源

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

    修改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

    检验阿里云源是否正常

    # 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 reponame status

    !base/7/x86_64 CentOS-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

    # 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端。

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

    创建本地目录

    #mkdir /mirror

    同步到本地目录

    # reposync -p / mirror

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

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

    更新新的rpm包

    # reposync -np /mirror

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

    创建索引
    # createrepo -po /mirror/base/ /mirror/base/

    # createrepo -po /mirror/extras/ /mirror/extras/

    # createrepo -po /mirror/updates/ /mirror/updates/

    # createrepo -po /mirror/epel/ /mirror/epel/

    # createrepo --update /mirror/base

    # createrepo --update /mirror/extras

    # createrepo --update /mirror/updates

    # createrepo --update /mirror/epel

    创建定时任务脚本
    #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

    将脚本加入到定时任务中

    # 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源

    安装nginx开启目录权限保证本地机器可以直接本地yum源
    创建运行账户

    groupadd nginx

    useradd -r -g nginx -s /bin/false -M nginx

    # yum install nginx -y

    找到nginx配置文件,并修改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;

    }

    }

    }

    在客户端修改yum源,并指向本地搭建的yum源主机
    注:搭建好后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

    只要你不认老,就会永远年轻
  • 相关阅读:
    洛谷 1736 创意吃鱼法
    有多重限制的背包
    洛谷 1417 烹调方案
    2008 noip 传纸条
    环形石子合并 洛谷 1880 && hdu 3506 Monkey Party
    洛谷 1282 多米诺骨牌
    (金明的预算方案)依赖性的背包
    分组背包问题
    混合背包问题
    多重背包问题
  • 原文地址:https://www.cnblogs.com/young886/p/14006500.html
Copyright © 2011-2022 走看看