美文网首页系统性能优化YumLinux
使用Yumsync搭建内网Yum源同步阿里Yum源

使用Yumsync搭建内网Yum源同步阿里Yum源

作者: A二十一画 | 来源:发表于2022-07-11 15:48 被阅读0次

    背景:
     因内网环境无法从外网获取安装包,所以需要搭建内网YUM源同步阿里YUM源

    环境:
     内网YUM源服务器:192.168.33.129
      CentOS7:3.10.0-1160.el7.x86_64
      yumsync版本:1.3.0
      Python版本:2.7
      nginx版本:1.20.1

     客服端(测试YUM源):192.168.33.128
      CentOS7:3.10.0-1160.el7.x86_64

    内网YUM源服务器配置

    安装yumsync

    1、获取yumsync安装包

    # Github地址:https://github.com/cea-hpc/yumsync/tags
    wget https://github.com/cea-hpc/yumsync/archive/refs/tags/v1.3.0.tar.gz
    tar -zxvf yumsync-1.3.0.tar.gz 
    

    2、安装yumsync

    # 安装yumsync所依赖的模块/包
    pip install blessings PyYAML==5.4.1 pyliblzma
    yum -y install createrepo dnf
    
    # 安装yumsync
    cd yumsync 
    python setup.py install
    
    # 查看版本
    yumsync -v
    

    同步阿里YUM源镜像

    以zabbix的yum源为例

    1、创建存储yum源的目录

    mkdir /data 
    

    2、创建需要同步的yum源列表,格式如下所示

    vim /root/repos.yml
    ---
    zabbix/zabbix/4.0/rhel/7/x86_64:
      baseurl: 'https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/'
      gpgkey: 'https://mirrors.aliyun.com/RPM-GPG-KEY-ZABBIX-A14FE591'
    

    3、同步阿里yum源到本地

    # -o:指定存储目录;
    # -c:指定配置文件;
    # 其他相关参数详见yumsync -h
    # 命令执行之后会同步到/data,并在/data自动创建/public,用于暴露YUM源
    yumsync -o /data/ -c /root/repos.yml
    

    4、定时任务同步

    # 编写同步脚本
    vim /root/yumsync/yumsync.sh
        yumsync -o /data/ -c /root/repos.yml
    
    # 设置定时任务
    crontab -e
    10 * * * 6 sh /root/yumsync/yumsync.sh > /dev/null 2>&1
    

    Nginx暴露YUM源

    如果有其他需要自行设定,此处只设置暴露yum源的基础设置

    1、安装nginx

    yum -y install nginx
    

    2、配置nginx暴露yum源

    cd /etc/nginx
    # 配置nginx
    vim nginx.conf
        http{
            ...
            sendfile on; # 开启高效文件传输模式
            server{
                ...
                location / {
                    autoindex on; # 开启目录浏览模式
                    root /data/public;
                    index index.html index.htm;
                }
                ...
            }
            ...
        }
    # 重启nginx
    systemctl restart nginx
    

    3、在/data/public下创建index.hmtl(套用别人的,有需要自行修改)

    vim /data/public/index.html(内容详见:)
    mkdir /data/public/.media
    vim /data/public/.media/mirror.css(内容详见:)
    

    4、访问网页测试

    image.png

    客户端测试

    1、备份原有yum源

    mkdir /etc/yum.repo.d/backup
    mv /etc/yum.repo.d/* /etc/yum.repo.d/backup
    

    2、配置内网Yum源

    如CentOS-Base等源需要key的话,gpgcheck=1,并将gpgkey=配置为内网YUM源的正确地址

    vim /etc/yum.repo.d/zabbix.repo
        [zabbix]
        name=Zabbix Official Repository - $basearch
        baseurl=http://192.168.33.129/zabbix/5.0/rhel/6/x86_64/
        enabled=1
        gpgcheck=0
        gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
    

    3、更新yum缓存

    yum clean all
    yum makecache
    

    相关文章

      网友评论

        本文标题:使用Yumsync搭建内网Yum源同步阿里Yum源

        本文链接:https://www.haomeiwen.com/subject/lbynbrtx.html