搭建本地yum镜像源
概述
由于内网有大量机器不能访问公网,安装软件比较费劲,那么,如何让这些机器也能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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗