centos同步yum源到本地,建立本地網路yum源

小张1995發表於2024-04-20

軟體安裝

在安裝之前建議將yum源修改為國內的源

yum -y install vim createrepo yum-utils httpd net-tools reposync
ls -1 /etc/yum.repos.d/
[root@DESKTOP-L9O2H6T ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                                                                                       repo name                                                                                             status
base                                                                                          CentOS-7 - Base                                                                                       10072
extras                                                                                        CentOS-7 - Extras                                                                                       526
opennebula                                                                                    opennebula                                                                                               19
updates                                                                                       CentOS-7 - Updates                                                                                     5798
repolist: 16415

同步至本地

建立同步目錄
mkdir -p /var/www/html/yum/
開始同步
reposync -p /var/www/html/yum/
等待yum同步到本地目錄後,需要重新生成yum倉庫。因為同步完成後遠端yum倉庫中的repodata不會被同步到本地;

建立本地yum倉庫的命令為createrepo,該命令由createrepo安裝包提供。

本地網路yum源製作

建立yum倉庫
[root@DESKTOP-L9O2H6T ~]# cd /var/www/html/yum/
[root@DESKTOP-L9O2H6T yum]# ls
base  extras  repo  updates


createrepo -p /var/www/html/yum/base/
# 製作完成後,相對應的路徑下會出現repodata檔案,則說明製作成功
[root@DESKTOP-L9O2H6T yum]# cd base/
[root@DESKTOP-L9O2H6T base]# ls
Packages 
[root@DESKTOP-L9O2H6T base]# createrepo -p /var/www/html/yum/base/
Spawning worker 0 with 1450 pkgs
Spawning worker 1 with 1450 pkgs
Spawning worker 2 with 1449 pkgs
Spawning worker 3 with 1449 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@DESKTOP-L9O2H6T base]# ls
Packages  repodata

#在同步下來的每一個yum倉庫目錄都需要執行,上述操作。
createrepo -p /var/www/html/yum/extras/
createrepo -p /var/www/html/yum/updates/


[root@DESKTOP-L9O2H6T extras]# ls
Packages  repodata

[root@DESKTOP-L9O2H6T updates]# ls
Packages  repodata
配置完成後啟動httpd服務,編寫repo yum檔案

#啟動httpd服務

systemctl start httpd

#10.xxx.xxx為你本地主機的IP地址

[root@DESKTOP-L9O2H6T ~]# cat /etc/yum.repos.d/local.repo
[base]
name=CentOS-$releasever - Base
baseurl=http://10.xxx.xxx.xxx/yum/base/
gpgcheck=0
enabled=1


[updates]
name=CentOS-$releasever - Updates
baseurl=http://10.2xxx.xxx.xxx/yum/updates/
gpgcheck=0
enabled=1


[extras]
name=CentOS-$releasever - Extras
baseurl=http://10.xxx.xxx.xxx/yum/extras/
gpgcheck=0
enabled=1


[opennebula]
name=opennebula
baseurl=http://10.xxx.xxx.xxx/yum/repo/6.4/CentOS/7/x86_64/
enabled=1
gpgcheck=0

後續更新了rpm軟體庫包的檔案後,都要進入相應的目錄,利用createrepo update進行同步。

reposync -p /var/www/html/yum/
cd base
createrepo --update /var/www/html/yum/base/
其他目錄命令相同
參考連結:https://juejin.cn/post/6993102842332446756

其它同步方式

wget

wget:用於從網路上自動下載檔案的工具。

我的同步命令,僅供參考

wget https://downloads.opennebula.io/repo/6.4/CentOS/7/x86_64/  -r -c -np -nH -e robots=off --no-check-certificate


參考連結:https://blog.csdn.net/Zp18189530679/article/details/111094102


關注小張的知識雜貨鋪,讓我們一起學習一起進步

相關文章