搭建本地yum镜像源

Blog:博客园 个人

概述

由于内网有大量机器不能访问公网,安装软件比较费劲,那么,如何让这些机器也能yum快速安装最新的软件呢?搭建一个本地镜像源能解决这样的问题,而如何让本地镜像源仓库的软件保持最新,就需要一个神器--reposync。

reposync用于将远端镜像源同步到本地。

语法说明

/usr/bin/reposync [options]

参数说明

参数 说明
-c 要使用的配置文件(默认为/etc/yum.conf)
-d 删除存储库中不再存在的本地包
-r REPOID, --repoid=REPOID 指定repo id来查询,可以指定多个次(默认全部启用)
-p DESTDIR, --download_path=DESTDIR 下载包的路径:默认为当前目录
-g 删除未通过GPG签名检查的软件包
-u 只列出要下载的URL,不要下载
-n 仅下载per-repo的最新软件包
-l 启用yum插件支持

部署

  • 系统:CentOS Linux release 7.9.2009 (Core)
  • 主机IP:192.168.70.84

配置阿里云源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/CentOS-Epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Epel.repo
yum makecache

同步源

创建文件夹并同步

mkdir -p /data/centos/7/64bit
/usr/bin/reposync -np  /data/centos/7/64bit/

建仓

createrepo -p /data/centos/7/64bit/base/
createrepo -p /data/centos/7/64bit/epel/
createrepo -p /data/centos/7/64bit/updates/
createrepo -p /data/centos/7/64bit/extras/

Nginx配置

server {
    listen       80;
    server_name  localhost;

    access_log  /var/log/nginx/repo.access.log  main;
    autoindex on;
    autoindex_exact_size on;
    autoindex_localtime on;
    location / {
        root   /data;
        index  index.html index.htm;
    }
}

重启Nginx:

systemctl reload nginx

打开http://192.168.70.84即可看到镜像仓库中的软件。

配置定时计划

0 1 * * * /usr/bin/reposync -np  /data/centos/7/64bit/

yum配置

/etc/yum.repos.d/CentOS-Base.repo

[base]
name=CentOS-Base(GDS)
baseurl=http://192.168.70.84/centos/7/64bit/base
path=/
enabled=1
gpgcheck=0
 
[updates]
name=CentOS-Updates(GDS)
baseurl=http://192.168.70.84/centos/7/64bit/updates
path=/
enabled=1
gpgcheck=0
 
[extras]
name=CentOS-Extras(GDS)
baseurl=http://192.168.70.84/centos/7/64bit/extras
path=/
enabled=1

更新缓存

# 导入gpg公钥
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
# 更新缓存
yum makecache
posted @ 2020-12-15 08:20  不羁的罗恩  阅读(1103)  评论(0编辑  收藏  举报