reposync 同步 repo
本文約定
在文中將有以下提示符對重點進行標注說明,請注意文中提示。
考慮到復制方便,就不開啟禁止復制了,但:文章未經授權禁止轉載
?? - 文中出現此標記,代表重要提示,指需要格外注意的地方
?? - 文中出現此標記,代表可選配置,建議配置,但不必要
? - 文中出現此標記,代表檢查項目,需要檢查對應的配置文件
?? - 文中出現此標記,代表該操作不可隨意修改,如更改此步操作,請預先測試
需求
現在公司內網很難訪問互聯網,由于內部需要,先需要搭建內網 yum 源
同步互聯網軟件包
- 安裝所需軟件包
yum -y install yum-utils createrepo yum-plugin-priorities httpd
# 此步驟安裝 httpd 目的是生成 /var/www/html 目錄,在此步也可以不安裝 httpd 手動創(chuàng)建對應目錄
- 配置網絡 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 用以創(chuàng)建 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 安裝,同步國外鏡像源