CentOS7将阿里云镜像的epel源拖拽到本地

       工作上,最近遇到一个问题,我们需要使用网上的epel源。可是工作环境网络不通。确定需要的包,一个一个的下载,太繁琐,另外也不知道以后会使用其他的什么包,想着将网上aliyun的镜像同步到本地。

        在网上查了一下,确实有很多方法。这里根据我自己的测试,演示一下。

第一步:在本地侧CentOS服务器上(虚拟机即可),配置好本地的base源(base源比较容易解决,直接使用光盘镜像就好。)并确保主机可以连接外网。

第二步:配置好aliyun的epel源。

[root@CentOS7 ~]# wget http://mirrors.aliyun.com/repo/epel-7.repo -O /etc/yum.repos.d/epel-7.repo
--2018-09-13 09:15:54--  http://mirrors.aliyun.com/repo/epel-7.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 123.6.30.220, 123.6.30.185, 123.6.30.219, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|123.6.30.220|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 664 [application/octet-stream]
Saving to: ‘/etc/yum.repos.d/epel-7.repo’

100%[=============================>] 664         --.-K/s   in 0s      

2018-09-13 09:15:54 (51.7 MB/s) - ‘/etc/yum.repos.d/epel-7.repo’ saved [664/664]

        注意:因为epel源太大,我这里使用一个nginx的仓库,来替换这一步操作。

[root@CentOS7 ~]# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
Retrieving http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
warning: /var/tmp/rpm-tmp.ikQw59: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:nginx-release-centos-7-0.el7.ngx ################################# [100%]

        注意:nginx-release-centos-7-0.el7.ngx.noarch.rpm包中配置了nginx官方的nginx使用的仓库。只有108个rpm包,比较适合演示使用。

[root@CentOS7 ~]# yum clean all
[root@CentOS7 ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id         repo name                                        status
!base           156                                                 108
!epel/x86_64    Extra Packages for Enterprise Linux 7 - x86_64   12,672
!nginx/x86_64   nginx repo                                          108
repolist: 12,888

        注意:此步骤是更新仓库缓存,并验证以上操作正常。

第三步:安装reposync命令。该命令来自于“yum-utils-1.1.31-45.el7.noarch”包,该包在base源中。

[root@CentOS7 ~]# yum install yum-utils-1.1.31-45.el7.noarch -y

        注意:reposync命令用于从epel源中下载包。

第四步:安装createrepo命令。该命令来自“createrepo-0.9.9-28.el7.noarch”包,该包在base源中。

[root@CentOS7 ~]# yum install createrepo-0.9.9-28.el7.noarch -y

       注意:createrepo命令用于根据同步到本地的包,重新生成repodata目录。

第五步:以上是准备操作,现在开始同步操作。

[root@CentOS7 ~]# reposync -r epel -p /root/        # 此处所需时间根据个人网速决定。

        注意:将epel源中的rpm包,同步到本地的/root目录下。由于epel源太大,此处用# reposync -r nginx -p /root/命令替换。

[root@CentOS7 ~]# reposync -r nginx -p /root/

第六步:制作本地仓库。

[root@CentOS7 ~]# createrepo -v /root/epel        由于epep源比较大,此步骤需要比较长的时间;
[root@CentOS7 ~]# ls /root/epel/
Packages Repodata

        注意:考虑到时间关系,上面两步操作使用下面两部替代;

        注意:看到/root/epel目录下多了一个repodata目录,即表示完成;

[root@CentOS7 ~]# createrepo -v /root/nginx     
[root@CentOS7 ~]# ls /root/nginx
RPMS Repodata

        注意:看到/root/nginx目录下多了一个repodata目录,即表示完成;

第七步:如果想要验证的话,将本地的baseurl地址改成:baseurl=file:///root/epel(baseurl=file:///root/nginx)即可。

[root@CentOS7 ~]# rm -fr /etc/yum.repos.d/epel-7.repo /etc/yum.repos.d/nginx.repo        删除多余的仓库;
[root@CentOS7 ~]# yum clean all        清理yum的缓存;
[root@CentOS7 ~]# yum repolist         生成yum缓存;
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                           repo name                      status
!base                             156                            108
repolist: 108
[root@CentOS7 ~]# yum install nginx -y        安装nginx服务,测试一下;
[root@CentOS7 ~]# systemctl start nginx       启动nginx服务;
[root@CentOS7 ~]# ss -ntl | grep 80           确认nginx服务已经启动;
LISTEN     0      128          *:80                       *:*      

注意:此处安装nginx服务,只是用来测试nginx源是否同步到本地,并能够使用。在大规模集群环境中,还需要通过http协议(Nginx、Apache服务)对外提供。方法很简单,安装好nginx服务后,更改配置文件中的“root”参数。然后再更改目标主机的yum仓库,指向仓库的repodata目录即可。

注意:【Base源】只可以提供给同版本系统使用,【epel源】可以提供给同一大版本的系统使用。

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值