创建yum本地仓库,将阿里仓库同步到本地,并定时更新

Posted 莫孟林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建yum本地仓库,将阿里仓库同步到本地,并定时更新相关的知识,希望对你有一定的参考价值。

很多时候为了加速自己内部的rpm包安装速度,都会搭建自己的yum源仓库,而使用系统光盘自带的源,由于软件版本比较落后,所以不太适用,而大家都在用的阿里仓库比较好用,所以就想到了把阿里仓库的rpm全部拉到本地,并做yum仓库的定时更新。这样既能保证软件包是最新的,也能保证软件的安装速度。那么下面来具体实施,搭建自己的yum本地仓库,并定时从阿里仓库同步过来。

第一步:下载阿里镜像的repo安装包,centos6就下载6的,7的就下载7的地址:https://mirrors.aliyun.com/repo/

我们以centos7的镜像为例

  1. cd /etc/yum.repos.d/
  2. mkdir bak
  3. mv Centos* bak #将系统自带的源备份到bak目录下
  4. wget https://mirrors.aliyun.com/repo/Centos-7.repo
  5. cat Centos-7.repo
  6. # CentOS-Base.repo
  7. #
  8. # The mirror system uses the connecting IP address of the client and the
  9. # update status of each mirror to pick mirrors that are updated to and
  10. # geographically close to the client. You should use this for CentOS updates
  11. # unless you are manually picking other mirrors.
  12. #
  13. # If the mirrorlist= does not work for you, as a fall back you can try the
  14. # remarked out baseurl= line instead.
  15. #
  16. #
  17. [base]
  18. name=CentOS-$releasever - Base - mirrors.aliyun.com
  19. failovermethod=priority
  20. baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
  21. http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
  22. #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
  23. gpgcheck=1
  24. gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
  25. #released updates
  26. [updates]
  27. name=CentOS-$releasever - Updates - mirrors.aliyun.com
  28. failovermethod=priority
  29. baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
  30. http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
  31. #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
  32. gpgcheck=1
  33. gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
  34. #additional packages that may be useful
  35. [extras]
  36. name=CentOS-$releasever - Extras - mirrors.aliyun.com
  37. failovermethod=priority
  38. baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
  39. http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
  40. #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
  41. gpgcheck=1
  42. gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
  43. #additional packages that extend functionality of existing packages
  44. [centosplus]
  45. name=CentOS-$releasever - Plus - mirrors.aliyun.com
  46. failovermethod=priority
  47. baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
  48. http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
  49. #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
  50. gpgcheck=1
  51. enabled=0
  52. gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
  53. #contrib - packages by Centos Users
  54. [contrib]
  55. name=CentOS-$releasever - Contrib - mirrors.aliyun.com
  56. failovermethod=priority
  57. baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
  58. http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
  59. #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
  60. gpgcheck=1
  61. enabled=0
  62. gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

 

已经配置好的阿里仓库

  1. yum repolist #查看阿里的可用仓库,有启用的表示已经成功了
  2. 从阿里服务器将rpm同步到本地需要两个rpm软件createrepo 和 yum-utils
  3. yum install createrepo yum-utils -y #yum安装这两个包
  4. mkdir -p /mirrors/Packege #创建rpm包的存放目录
  5. reposync -r base -p /mirrors/Packege #将已经配置好的阿里仓库镜像内的rpm包拉到本地,b ase为本地已经配置好的仓库名,可以用yum repolist查看到
  6. createrepo -pdo /mirrors/ /mirrors/Packege #创建repo数据库

 

 
###############################同步rpm包,需要相当长一段时间################################
 
同步完成之后,本地的yum仓库已经基本完成了,只剩下定时更新了
 
  1. vim /cron/repository.sh #编写同步脚本
  2. reposync -r base -p /mirrors/Packege -d #来删除本地老旧
  3. reposync -r base -p /mirrors/Packege
  4. crontab -e #添加定时任务
  5. 0 0 1 * * sh /cron/repository.sh #每月1日0时更新yum仓库

以上是关于创建yum本地仓库,将阿里仓库同步到本地,并定时更新的主要内容,如果未能解决你的问题,请参考以下文章

YUM仓库构建(基于FTP的方式)

创建本地yum仓库

本地yum仓库创建及网络yum仓库创建

使用git命令将本地项目推送到远程仓库

Git常用操作

通过ftp创建本地yum仓库