系统性能优化YumLinux

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

2022-07-11  本文已影响0人  A二十一画

背景:
 因内网环境无法从外网获取安装包,所以需要搭建内网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
上一篇下一篇

猜你喜欢

热点阅读