zoukankan      html  css  js  c++  java
  • yum源仓库搭建

    系统:centos7

    一、安装nginx

    yum install -y nginx

    yum  install -y createrepo   安装建yum源仓库的工具,可以用来建立yum仓库
    yum  install  -y yum-plugin-priorities 安装控制yum源更新优先级工具,这个工具可以用来控制进行yum源检索的先后顺序,建议可以用在client端。

    二、配置nginx

    /etc/nginx/nginx.conf

    server{
    listen 80;
    autoindex on;
    autoindex_exact_size on;
    autoindex_localtime on;
    }

    默认index路径/usr/share/nginx/html

    那么在html下面建立以下目录:

    mkdir -p /usr/share/nginx/html/CentOS-YUM/CentOS/version_6.6/64bit/
    mkdir -p /usr/share/nginx/html/CentOS-YUM/CentOS/version_7.0/64bit/
    mkdir -p /usr/share/nginx/html/CentOS-YUM/Aliyun/version_6.6/64bit/
    mkdir -p /usr/share/nginx/html/CentOS-YUM/Aliyun/version_7.0/64bit/

    且不要忘记给目录增加可读和可执行权限,否则在web页面显示不出来。

    chmod -R +x  /usr/share/nginx/html/

    在web的index.html首页里面添加指向文件目录的超链接:

    <p style="font-weight:bolder;color:green;font-size:30px;">ALL of the packages in the below:</p>
    <br/>

    <a href="http://159.138.1.77/CentOS-YUM/Aliyun">Aliyun</a><br/>

            These packagers from of CentOS ISO.<br/>

    <a href="http://159.138.1.77/CentOS-YUM/CentOS">CentOS</a><br/>

            These packagers from of "Internet service provider".<br/>

    <p style="font-weight:bolder;color:red;font-size:18px;">Please replace the file and fill in the following content:</p>
    <p style="font-weight:bolder;color:blue;font-size:15px;">Way: /etc/yum.repos.d/CentOS-Base.repo</p>

    重启nginx

    systemctl restart nginx

    三、修改当前系统yum来源repo文件

    1.首先对此文件进行备份

    cp -p /etc/yum.repos.d/CentOS-Base.repo    /etc/yum.repos.d/CentOS-Base.repo.bak

    2.接下来去阿里云的官方网站下载阿里云的CentOS-Base.repo文件,如下所示:

    mkdir -p /etc/yum.repos.d/Aliyun
    wget -O /etc/yum.repos.d/Aliyun/CentOS-6.repo http://mirrors.aliyun.com/repo/Centos-6.repo wget -O /etc/yum.repos.d/Aliyun/CentOS-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    四、进行同步脚本的创建并执行同步

    vim /etc/yum.repos.d/yum.reposync.sh

    #!/bin/bash
    reposync -p /usr/share/nginx/html/CentOS-YUM/CentOS/version_7.0/64bit/
    /usr/bin/sed -i "s/7/6/g" `grep 7 -rl /etc/yum.repos.d/CentOS-Base.repo`
    reposync -p /usr/share/nginx/html/CentOS-YUM/CentOS/version_6.6/64bit/
    cat /etc/yum.repos.d/Aliyun/CentOS-6.repo > /etc/yum.repos.d/CentOS-Base.repo
    reposync -p /usr/share/nginx/html/CentOS-YUM/Aliyun/version_6.6/64bit/
    /usr/bin/sed -i "s/6/7/g" `grep 6 -rl /etc/yum.repos.d/CentOS-Base.repo`
    reposync -p /usr/share/nginx/html/CentOS-YUM/Aliyun/version_7.0/64bit/
    cat /etc/yum.repos.d/CentOS-Base.repo.bak > /etc/yum.repos.d/CentOS-Base.repo

    chmod +x  /etc/yum.repos.d/yum.reposync.sh

    然后执行脚本

    sh /etc/yum.repos.d/yum.reposync.sh

    createrepo -p /usr/share/nginx/html/CentOS-YUM/CentOS/version_6.6/64bit/base/Packages
    createrepo -p /usr/share/nginx/html/CentOS-YUM/CentOS/version_7.0/64bit/base/Packages
    createrepo -p /usr/share/nginx/html/CentOS-YUM/Aliyun/version_6.6/64bit/base/Packages
    createrepo -p /usr/share/nginx/html/CentOS-YUM/Aliyun/version_7.0/64bit/base/Packages

    当yum源仓库建立好以后,会在对应的目录下面出现“repodata”的目录。如下图所示:

    五、客户端Client的yum配置:

    1、安装优先级软件:

    yum install -y yum-plugin-priorities 

    2.首先对client端的/etc/yum.repos.d/目录下的repo文件进行更改。

    mkdir –p /etc/yum.repos.d/back
    mv /etc/yum.repos.d/* /etc/yum.repos.d/back/
    vim /etc/yum.repos.d/CentOS-Base.repo
    [mylocal]
    name=source_from_localserver  #这里是整合到server端的centos6的光盘镜像yum源
    baseurl=http://http://159.138.1.77/centos/6.6/x86_64/Packagers/
    gpgcheck=0
    enable=1
    priority=1    #这里的priority就是上面安装的优先级工具,设定从小到大
    
    [Aliyun_6.6_base]
    name=source_from_localserver
    baseurl=http://159.138.1.77/CentOS-YUM/Aliyun/version_6.6/64bit/base/Packages
    gpgcheck=0
    enable=1
    priority=2
    
    [Centos_6.6_base]
    name=source_from_localserver
    baseurl=http://159.138.1.77/CentOS-YUM/CentOS/version_6.6/64bit/base/Packages
    gpgcheck=0
    enable=1
    priority=3
    
    [Aliyun_6.6_extras]
    name=source_from_localserver
    baseurl=http://159.138.1.77/CentOS-YUM/Aliyun/version_6.6/64bit/extras/Packages
    gpgcheck=0
    enable=1
    priority=4
    
    [Centos_6.6_extras]
    name=source_from_localserver
    baseurl=http://159.138.1.77/CentOS-YUM/CentOS/version_6.6/64bit/extras/Packages
    gpgcheck=0
    enable=1
    priority=5
    
    [Aliyun_6.6_updates]
    name=source_from_localserver
    baseurl=http://159.138.1.77/CentOS-YUM/Aliyun/version_6.6/64bit/updates/Packages
    gpgcheck=0
    enable=1
    priority=6
    
    [Centos_6.6_updates]
    name=source_from_localserver
    baseurl=http://159.138.1.77/CentOS-YUM/CentOS/version_6.6/64bit/updates/Packages
    gpgcheck=0
    enable=1
    priority=7
    --------------------- 

     3.然后进行本利的缓存的清理和建立

    yum clean all 
    yum makecache 
    yum repolist 

    当缓存建立好以后,就可以在client端直接使用yum进行安装软件包了。而检索的顺序就是根据优先级来的。

    六、配置server端的yum源自动更新机制

     1.首先来写一个bash脚本在/home/crontab/下,这个脚本的作用说白了就是通过一条一条自动执行,最终达到,自动更新yum源的目的,代码如下:

    vim /home/crontab/oderforrepo.sh
    #!bin/bash /usr/bin/reposync -np /usr/share/nginx/html/CentOS-YUM/CentOS/version_7.0/64bit/ /usr/bin/sed -i "s/7/6/g" `grep 7 -rl /etc/yum.repos.d/CentOS-Base.repo` /usr/bin/reposync -np /usr/share/nginx/html/CentOS-YUM/CentOS/version_6.6/64bit/ cat /etc/yum.repos.d/CentOS-Base.aliyun.repo.bak > /etc/yum.repos.d/CentOS-Base.repo /usr/bin/reposync -np /usr/share/nginx/html/CentOS-YUM/Aliyun/version_6.6/64bit/ /usr/bin/sed -i "s/6/7/g" `grep 6 -rl /etc/yum.repos.d/CentOS-Base.repo` /usr/bin/reposync -np /usr/share/nginx/html/CentOS-YUM/Aliyun/version_7.0/64bit/ cat /etc/yum.repos.d/CentOS-Base.repo.bak > /etc/yum.repos.d/CentOS-Base.repo

    “-np”的意思为仅仅更新新更新的软件到指定目录

     其他的跟第四步的语句是一个意思。

     2、然后再来添加定时计划:

    vim /etc/crontab
    0 2 * * 6 rootrun-parts /home/crontab/oderforrepo.sh

    这个定时任务表示:每周6的晚上凌晨2点开始执行oderforrepo.sh的脚本.

    这样就可以自动更新yum源了。

    最后记得查看本地系统的系统时间,如果觉得有必要可以将时间同步。

    参考:https://blog.csdn.net/u012402276/article/details/53158682

  • 相关阅读:
    leetcode 2 Add Two Numbers
    log4j2 springboot 特点与使用方法
    数据类型和运算符
    初识Java
    《梦断代码》阅读笔记02
    《梦断代码》阅读笔记01
    场景调研
    【站立会议】第九天
    【站立会议】第八天
    【站立会议】第七天
  • 原文地址:https://www.cnblogs.com/kevincaptain/p/10348437.html
Copyright © 2011-2022 走看看