用reposync 同步YUM源到本地,搭建本地YUM源服务器

  以前总结的搭建本地yum源是经过rsync直接同步其余在线的yum源,例如清华大学大YUM源,可是相似的阿里云的yum源,由于其不支持rsync因此不能进行同步,node

  一样的,想要同步其余一些官方的YUM源,也要对方支持rsync才能支持同步,而有很但愿安装的YUM源并不支持rsync,这样怎么办呢?nginx

  因上述缘由我想到了另外一种思路去同步“全部”我想同步的YUM源,而且搭建成本地可用的YUM源,下面记录下个人思路。apache

 

1、首先预备好一台nginx或者apacheserver来作本地的YUM源(我喜欢nginx),该操做能够去参考“YUM本地源搭建,且Rsync同步官方”的操做。centos

 

2、搭建好的本地YUMserver后,再下载想要同步YUM源的repo文件。bash

  例如:ide

wget -O /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-6.repo工具

3、安装几个工具,默认的centos是没有安装,yum installcreaterepo yum-utils -yoop

  安装这两个工具主要使用 createrepo reposync 这两个命令阿里云

4、上面的操做完毕后,执行命令yum repolistspa

  例如:

wKiom1aAoC7DfC35AAIwQqJ5cJE228.jpg


其中“仓库标识:中的名字是咱们下面将要用到的

 

 

5、例如我想要把HDP-2.2做为本地YUM源(这是我在作Ambari + hadoop实验的yum源,由于该源可能被不少台hadoop datanode端用到全部,搭建本地yum源会节约大量的出口带宽

提升工做效率。)那么我执行以下命令行

         [root@localhosttmp]# reposync -r HDP-2.2

         以下开始自动更新yum源到本地文件夹

wKioL1aAoMOBlDP8AAiaDw7MLRE421.jpg



wKiom1aAoPvzsdhZAADsi8YOMUc281.jpg


固然在这一步,咱们能够参考下reposync的帮助,直接把想要同步的yum源直接定位到但愿下载的某个目录,

例如使用参数 -p

也能够使用 -d 来删除本地老旧,yum源已经不存的安装包。



wKioL1aAoWfhdCMrAAObuuHE9J4797.jpg



6、当经过reposync命令同步yum源到想要指定的路径之下后,而后使用createrepo命令创对该路径下的rpm建立为本地的YUM仓库

 

6.1、到这里的时候,其实想要的yum本地仓库已经算是制做完毕, 为了简化工做量,咱们能够把上面的操做制做成bash脚本

 思路以下:

 reposync自动同步想要的yum 源到指定的路径,由于每次同步后,内容可能有所改变,因此须要从新执行createrepo命令从新建立YUM仓库。

 

 

7、上面的操做完毕后,就是在client端制做repo文件并指向咱们本地的YUM源了,由于咱们同步YUM源的时候,可能会忽略掉对方的gpgkey,那么记得“gpgcheck=0

 

 

  以上是思路总结,暂时没有时间和精力作这样的本地YUM源,遇到的时候再参考此思路作吧。

相关文章
相关标签/搜索