🖥 使用 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