centos7 自建yum源同步阿里源仓库

2023/1/6 centosyum

🖥 使用 nginx 暴露自建yum源,使用 reposync 同步阿里yum源,使用 createrepo 创建yum源

# 1、安装nginx

# 1.1 配置nginx.conf

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    autoindex on;               # 开启nginx目录浏览功能
    autoindex_exact_size off;   # 文件大小从KB开始显示
    autoindex_localtime on;     # 显示文件修改时间为服务器本地时间

    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

# 1.2 启动nginx

docker rm -f centos_yum;
docker run -d --name centos_yum --restart always -p 80:80 \
    -v ${PWD}/yum:/usr/share/nginx/html:ro \
    -v ${PWD}/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
    nginx:1.22.1;

# 2、获取阿里云镜像配置文件

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

# 3、同步镜像到本地

# 3.1 创建存储仓库路径

mkdir -p /home/centos/yum/{base,extras,updates}

# 3.2 使用reposync同步镜像到本地

reposync -r base -p /home/centos/yum/
reposync -r extras -p /home/centos/yum/
reposync -r updates -p /home/centos/yum/

# 4、创建yum仓库

# 4.1 安装必备工具

yum -y install createrepo yum-utils

# 4.2 创建yum仓库

createrepo /home/centos/yum/base
createrepo /home/centos/yum/extras
createrepo /home/centos/yum/updates

# 5、客户端设置

# 5.1 客户端repo文件备份

cp -rp /etc/yum.repos.d /etc/yum.repos.d.bak
rm -rf /etc/yum.repos.d/CentOS-Base.repo

# 5.2 创建自建repo文件

cat /etc/yum.repos.d/CentOS-Base.repo
[24-base]
name=24-base
baseurl=http://192.168.1.24/base/
enabled=1
gpgcheck=0 

[24-extras]
name=24-extras
baseurl=http://192.168.1.24/extras/
enabled=1
gpgcheck=0 

[24-updates]
name=24-updates
baseurl=http://192.168.1.24/updates/
enabled=1
gpgcheck=0

# 5.3 清理缓存

yum clean all && yum makecache