linux 科普扫盲----同步国内镜像源比如阿里云镜像站制作企业用离线yum源

本文介绍了如何在内网环境中搭建自己的yum源和apt源,以解决公司企业使用开源软件的复杂性和依赖问题,包括使用ISO挂载、EPEL源同步、reposync命令和本地仓库创建,以简化软件安装过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很多公司企业为了网络安全都建立了自己的内部网络,内部环境不与Internet相通,导致很多开源软件,系统rpm包,deb包安装都异常复杂,而且如果依赖关系复杂,通过手动上传rpm包或者deb包就更加麻烦,经常碰到连gcc都需要安装半天的情景。所以为了能使用centos,redhat和Ubuntu官方包管理软件yum和apt,需要在内网中将公网上的包下载下来,并制作成自己的yum源和apt源。

那么,基础的软件包可以通过系统安装包ISO文件挂载到系统内直接使用(也可以叫做系统yum源),详见本人博客:Linux的完全本地仓库搭建指南(科普扫盲贴)_zsk_john的博客-CSDN博客_linux仓库

另一类的软件,通常算是系统源的扩展,比如,PHP这些软件,就需要使用到epel源了,而安装文件ISO内通常是不包含此类软件的。

EPEL源搭建
redhat光盘中自带的我们一般称之为rhel源,是redhat公司在发布之前经过仔细测试兼容性的软件库,但是有的时候光盘中的那些包并不全面,所以有了epel源,大小比rhel多的多,里面有各种冷门的,未经仔细测试的包,比如PHP。有些情况下直接用epel源的东西比自己编译要方便的多,所以推荐把epel源也搭建上。

一般的redhat光盘也就4G左右的大小,epel7的大小约为27GB,首先保证你的yum服务器有足够的空间。epel源无法使用光盘了,需要使用rsync工具去internet上同步,同步命令如下,这里要注意,命令后面的目录要先建立或者使用其它的目录都可以,看自己需求了。

方法一,

注意,这仅仅是一种方法,rsync命令同步,如果需要长期同步,以下命令需要放到计划任务里时不时的同步。
 

rsync -vrt --bwlimit=3000 --exclude=debug/ rsync://rsync.mirrors.ustc.edu.cn/epel/7/x86_64/ /epel7/x86_64/  同步下载ustc教育网

rsync -avrt rsync://mirrors4.tuna.tsinghua.edu.cn/epel/ /data/epel/  同步下载清华源

方法二,

reposync命令进行同步

这个命令同步的时候必须要有指定的仓库文件,例如,我的仓库文件内容如下;

[openstack-queens]
name=openstack-queens
baseurl=https://mirrors.aliyun.com/centos-vault/7.8.2003/cloud/x86_64/openstack-queens/
enable=1
gpgcheck=0

[kvms]
name=kvms
baseurl=https://mirrors.aliyun.com/centos/7.9.2009/virt/x86_64/kvm-common/
enable=1
gpgcheck=0

仓库ID号查询:

[root@centos1 epel7]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                                                                 repo name                                                               status
kvms                                                                    kvms                                                                       63
openstack-queens                                                        openstack-queens                                                        3,109
repolist: 3,172

 只下载仓库ID为openstack-queens这个仓库到 /epel7 目录下

[root@centos1 epel7]# reposync  --repoid=openstack-queens  -n -p /epel7/
(1/1568): GitPython-1.0.1-5.el7.noarch.rpm                                                                                     | 501 kB  00:00:00     
(2/1568): PyQt4-devel-4.12-1.el7.x86_64.rpm                                                                                    | 419 kB  00:00:00     
(3/1568): PyQt4-4.12-1.el7.x86_64.rpm                                                                                          | 2.9 MB  00:00:00     
(4/1568): PyQt4-qsci-api-4.12-1.el7.x86_64.rpm                                                                                 | 156 kB  00:00:00     
(5/1568): XStatic-Angular-common-1.5.8.0-1.el7.noarch.rpm                                                                      | 455 kB  00:00:00     
(6/1568): Xaw3d-1.6.2-4.el7.x86_64.rpm                                                                                         | 170 kB  00:00:00     
(7/1568): Xaw3d-devel-1.6.2-4.el7.x86_64.rpm                                                                                   |  58 kB  00:00:00     
(8/1568): PyQt4-doc-4.12-1.el7.noarch.rpm                                                                                      | 8.5 MB  00:00:00     
(9/1568): ansible-pacemaker-1.0.3-1.el7.noarch.rpm                                                                             |  21 kB  00:00:00     
(10/1568): ansible-role-openstack-ml2-0.1.0-1.el7.noarch.rpm                                                                   |  17 kB  00:00:00     
(11/1568): ansible-role-redhat-subscription-1.0.1-1.el7.noarch.rpm                                                             |  21 kB  00:00:00     
(12/1568): ansible-tripleo-ipsec-8.1.0-1.el7.noarch.rpm                                                                        |  31 kB  00:00:00     
(13/1568): ansible-2.6.19-1.el7.ans.noarch.rpm                                                                                 |  10 MB  00:00:00     
(14/1568): apiextractor-0.10.10-11.el7.x86_64.rpm                                                                              | 426 kB  00:00:00     
(15/1568): apiextractor-devel-0.10.10-11.el7.x86_64.rpm 

reposync这个命令是在yum-utils 这个软件包内的,如果没有此命令,请执行以下命令安装它:

yum install yum-utils -y

 

reposync 这个命令的参数 -n是指的只下载最新的软件包,-p是指定路径   --repoid 指定要下载哪个仓库,如果/etc/yum.repos.d目录下有配置多个仓库的话。

等待所有软件下载完毕后,使用createrepo命令生成本地仓库即可。

方法二是具有通用性的,也就是只要你能够使用的互联网源都可以指定下载,而方法一是有局限性的,只有支持rsync协议的镜像站才可以同步。

但需要注意,如果reposync不适用a参数的话,会完全同步镜像站,此时,你需要留意你的磁盘空间是否够用哦。

如果是公司等单位使用,此方法可做完美克隆镜像站,内网环境下在也不担心安装各种软件啦。



 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚风_END

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值