reposync 同步 repo
本文约定
在文中将有以下提示符对重点进行标注说明,请注意文中提示。
考虑到复制方便,就不开启禁止复制了,但:文章未经授权禁止转载
⚠️ - 文中出现此标记,代表重要提示,指需要格外注意的地方
🔘 - 文中出现此标记,代表可选配置,建议配置,但不必要
✅ - 文中出现此标记,代表检查项目,需要检查对应的配置文件
❗️ - 文中出现此标记,代表该操作不可随意修改,如更改此步操作,请预先测试
需求
现在公司内网很难访问互联网,由于内部需要,先需要搭建内网 yum 源
同步互联网软件包
- 安装所需软件包
yum -y install yum-utils createrepo yum-plugin-priorities httpd
# 此步骤安装 httpd 目的是生成 /var/www/html 目录,在此步也可以不安装 httpd 手动创建对应目录
- 配置网络 yum
由于需要将网络上的 rpm 软件包下载到本地,需要先配置 远程 yum 源
vi /etc/yum.repos.d/os-extras.repo
[os-extras]
name=os-extras
baseurl=http://mirrors.163.com/centos/7/extras/x86_64/
enable=1
gpgcheck=0
# ⚠️ http 路径配置需要到 http://mirrors.163.com/centos/7/extras/x86_64/Packages/ 目录,即能列出软件包的上一层
- 同步互联网软件包
cd /var/www/html
reposync --repoid=os-extras
# os-extras 对应 os-extras.repo 里的 [os-extras],此命令会把公网对应目录里的所有软件包同步到 /var/www/html 目录中
国内镜像站
阿里:http://mirrors.aliyun.com
网易:http://mirrors.163.com 「推荐」
生成本地 repodata
cd /var/www/html/os-extras
createrepo *
# 也可以使用如下方法
createrepo -p -d -o /var/www/html/os-extras /var/www/html/os-extras
createrepo 用以创建 yum 源数据,为存放于本地的 rpm 包建立索引、描述包依赖、形成元数据,其中 -o 元数据输出路径
配置 http 方式 yum
- 备份本地原有 yum
cd /etc/yum.repos.d/
rename *.repo *.repo.bak *.repo
# rename 原有后缀 目的后缀 需要修改的文件
- 配置 http 方式 yum
# 修改之前配置的互联网 yum 源的配置
+ --------
+ baseurl=DIR
+ --------
- --------
- baseurl=http://mirrors.163.com/centos/7/extras/x86_64/
- --------
- 安装 httpd 启动 httpd
yum install -y httpd && systemctl start httpd && systemctl enable httpd
检测
yum clean all
yum makecache fast
定时同步互联网源
#!/bin/bash
# sync repo
echo 开始同步centos7
reposync -n --repoid=os-extras --repoid=os-extras --repoid=os-extras -p /var/www/html/
# update metadata
createrepo --update /var/www/html/os-extras
设置 crontab
0 6 * * * /data/update.sh
附录
参考资料:
https://www.cnblogs.com/duxingren/p/11353242.html
https://blog.csdn.net/yjf147369/article/details/80052154?locationNum=4&fps=1
相关文档:
CDH 安装,同步国外镜像源