在生产中内网的机器都是不能访问外网,所以需要搭建本地yum源。以中国科学科技大学的yum源为基准。http://mirrors.ustc.edu.cn/

有些模块会同步失败,可以wget下载至指定位置。

代码如下:

  1. #!/bin/bash
  2. #Script name:rsync_yumrepo.sh
  3.  
  4. RsyncPerm='-avSH --delete-after --no-iconv --bwlimit=5000'
  5. Centos_6_base='/app/YumRepo/Centos6/x86_64/Base/'
  6. Centos_6_update='/app/YumRepo/Centos6/x86_64/update/'
  7. Centos_6_epel='/app/YumRepo/Centos6/x86_64/Epel'
  8. Centos_6_salt='/app/YumRepo/Centos6/x86_64/Salt'
  9. Centos_6_docker='/app/YumRepo/Centos6/x86_64/Docker'
  10. Centos_7_base='/app/YumRepo/Centos7/x86_64/Base/'
  11. Centos_7_update='/app/YumRepo/Centos7/x86_64/update/'
  12. Centos_7_epel='/app/YumRepo/Centos7/x86_64/Epel'
  13. Centos_7_salt='/app/YumRepo/Centos7/x86_64/Salt'
  14. Centos_7_docker='/app/YumRepo/Centos7/x86_64/Docker'
  15. LogFile='/app/YumRepo/rsync_yum_log'
  16. Date=`date +%Y-%m-%d`
  17.  
  18. function CheckDir(){
  19. if [ -d $ ];then
  20. echo "$1 dir is exist,Please check it!"
  21. else
  22. echo "$1 dir is not exist,will create it!"
  23. mkdir $ -p
  24. fi
  25. }
  26. function CheckFile(){
  27. if [ -e $ ];then
  28. echo "$1 dir is exist,Please check it!"
  29. else
  30. echo "$1 dir is not exist,Please install on there!"
  31. fi
  32. }
  33. function CheckStatus(){
  34. if [ $? -eq ];then
  35. echo -e "\033[1;32mRsync is success!\033[0m" >>$LogFile/$Date.log
  36. else
  37. echo -e "\033[1;31mRsync is fail!\033[0m" >>$LogFile/$Date.log
  38. fi
  39. }
  40. CheckDir ${LogFile}
  41. CheckDir ${Centos_6_base}
  42. CheckDir ${Centos_6_update}
  43. CheckDir ${Centos_6_epel}
  44. CheckDir ${Centos_6_salt}
  45. CheckDir ${Centos_6_docker}
  46. CheckDir ${Centos_7_base}
  47. CheckDir ${Centos_7_update}
  48. CheckDir ${Centos_7_epel}
  49. CheckDir ${Centos_7_salt}
  50. CheckDir ${Centos_7_docker}
  51.  
  52. ###rsync centos base
  53. echo 'Now start to rsync centos 6 base!' >>$LogFile/$Date.log
  54. rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64/ $Centos_6_base >>$LogFile/$Date.log
  55. CheckStatus
  56. echo 'Now start to rsync centos 7 base!' >>$LogFile/$Date.log
  57. rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/ $Centos_7_base >>$LogFile/$Date.log
  58. CheckStatus
  59.  
  60. ###rsync epel
  61. echo 'Now start to rsync centos 6 epel!' >>$LogFile/$Date.log
  62. rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/epel/6/x86_64/ $Centos_6_epel >>$LogFile/$Date.log
  63. CheckStatus
  64. echo 'Now start to rsync centos 7 epel!' >>$LogFile/$Date.log
  65. rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/epel/7/x86_64/ $Centos_7_epel >>$LogFile/$Date.log
  66. CheckStatus
  67.  
  68. ###rsync salt
  69. echo 'Now start to rsync centos 6 salt!' >>$LogFile/$Date.log
  70. rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/salt/yum/redhat/6/x86_64/ $Centos_6_salt >>$LogFile/$Date.log
  71. CheckStatus
  72. echo 'Now start to rsync centos 7 salt!' >>$LogFile/$Date.log
  73. rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/salt/yum/redhat/7/x86_64/ $Centos_7_salt >>$LogFile/$Date.log
  74. CheckStatus
  75.  
  76. ###rsync docker
  77. #echo 'Now start to rsync centos 6 docker!' >>$LogFile/$Date.log
  78. #rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/docker-yum/repo/centos6/ $Centos_6_docker >>$LogFile/$Date.log
  79. #CheckStatus
  80. echo 'Now start to rsync centos 7 docker!' >>$LogFile/$Date.log
  81. rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/docker-ce/linux/centos/7/x86_64/stable/ $Centos_7_docker >>$LogFile/$Date.log
  82. CheckStatus
  83.  
  84. ###rsync golang
  85. rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/golang/go1.9.linux-arm64.tar.gz /app/YumRepo/golang/go1.9.linux-arm64.tar.gz
  86. CheckStatus
  87.  
  88. ###rsync centos update
  89. echo 'Now start to rsync centos 6 update!' >>$LogFile/$Date.log
  90. rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/centos/6/updates/x86_64/ $Centos_6_update >>$LogFile/$Date.log
  91. CheckStatus
  92. echo 'Now start to rsync centos 7 base!' >>$LogFile/$Date.log
  93. rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/centos/7/updates/x86_64/ $Centos_7_update >>$LogFile/$Date.log
  94. CheckStatus

同步完成后,启用httpd服务

配置DocumentRoot "/app/YumRepo"

ServerName *:80

<Directory "/app/YumRepo/">

  Options Indexes FollowSymLinks

  AllowOverride None

  Order allow,deny

  Allow from all

</Dircetory>

检查语法错误httpd -t

重载配置service httpd reload

配置客户端

把/etc/yum.repo.d/目录下的所有.repo文件。mv改为*.bak

新建文件vim /etc/yum.repo.d/CentOS-Base.repo

  1. [base]
  2. name=Centos6 - base
  3. baseurl=baseurl=http://HOSTADDR/Centos6/x86_64/Base
  4. gpgcheck=
  5. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
  6.  
  7. [updates]
  8. name=CentOS6 - updates
  9. baseurl=http://HOSTADDR/Centos6/x86_64/update
  10. gpgcheck=
  11. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

重新生成缓存

  yum clean all

  yum makecache

搭建本地yum源并定时同步的更多相关文章

  1. 使用光盘搭建本地yum源

    刚装好的系统,想安装一些常用软件和一些包组的时候,就可以使用安装光盘搭建本地yum 第一步:挂载安装光盘 mount /dev/cdrom /mnt 第二步:编辑repo yum源文件 [root@l ...

  2. centos 搭建本地YUM源并使用apache共享YUM源

    搭建本地YUM源 1.挂载镜像 2.搭建本地YUM源 删除多余repo文件保留一个就行 本地YUM源就搭建好了 yum repolist 查看yum源 3.使用apache共享YUM源 YUM服务器配 ...

  3. 【转载】搭建本地yum源:以下是以centos7为例子

    搭建本地yum源:以下是以centos7为例子  1)首先需要安装 createrepo(需要一个可以使用源的机器,可以访问互联网)安装方法可以使用yum安装epel源 1 yum -y instal ...

  4. 搭建本地yum源出现:mount: 在 /dev/sr0 上找不到媒体

    2021-07-27 在练习环境搭建时,因为是离线环境,故先搭建本地yum源,但是出现了一个往常没有的问题:mount: 在 /dev/sr0 上找不到媒体,参考其他博主的文章得到解决方法. 排查问题 ...

  5. 使用光盘无网络搭建本地yum源仓库

    目录 一:使用光盘搭建本地yum源 1,按顺序搭建本地yum源 第一步 : 搭载安装光盘 第二步 : 编辑repo yum源文件 第三步 : 检查 yum makecache 注意事项: 一:使用光盘 ...

  6. 在linux上搭建本地yum源

    准备yum仓库的光盘镜像IOS文件: 设置光驱加载本地磁盘的yum仓库的光盘镜像文件: 在linux的命令行输入setup命令打开设置窗口,选择"System Service": ...

  7. 搭建本地yum源

    本地yum源其实非常容易搭建 首先进入/etc/yum.repos.d/ 将原来的yum源备份后移除,然后新建dvd.repo: 内容如下: [base] name=base baseurl=file ...

  8. 如何搭建本地yum源,阿里yum源以及自己的网络yum源?

    环境:CentOS7 一.本地源的yum源的搭建 (一)添加新的yum源配置文件iso.repo(名字可以自己命名,但是后缀必须是repo结尾) 注意:目录 /etc/yum.repos.d 下的 . ...

  9. CentOS 7搭建本地yum源

    问题 CentOS7.1安装rpm包时提示缺失包,有些包iso里面也没有,只能从外网yum,这种情况下,可以提前yum好所需的依赖包,做成一个本地yum源.将这些文件拷贝到没联网的机器就可以使用了. ...

随机推荐

  1. CRM系统(第一部分)

      阅读目录 1.需求分析 2.数据库表设计 3.起步 4.录入数据 5.知识点 1.需求分析 CRM客户关系管理软件---> 学员管理 用户:企业内部用户 用户量: 业务场景: 2.数据库表设 ...

  2. JSP页面导致tomcat内存溢出一例

    今天发现一个奇怪的问题,一个tomcat应用,里面只有一个单纯的jsp页面,而且这个jsp页面没有任何java代码——想用这个jsp页面配合tomcat完成一个性能验证.但是用jmeter压测了几分钟 ...

  3. IdentityServer4【Topic】之定义客户端

    Defining Clients 定义客户端 客户端表示哪些可以从你的IdentityServer拿到token的应用. 除了一些可能会变化的细节之外,通常情况下你需要为一个客户端定义如下通用的设置: ...

  4. Java 里如何实现线程间通信(转载)

    出处:http://www.importnew.com/26850.html 正常情况下,每个子线程完成各自的任务就可以结束了.不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程 ...

  5. Programming好文解读系列(—)——代码整洁之道

    注:初入职场,作为一个程序员,要融入项目组的编程风格,渐渐地觉得系统地研究下如何写出整洁而高效的代码还是很有必要的.与在学校时写代码的情况不同,实现某个功能是不难的,需要下功夫的地方在于如何做一些防御 ...

  6. js中的call、apply、bind

    在js中每个函数都包含两个非继承而来的方法:call()和apply() call和apply的作用都是在特定的作用域中将函数绑定到另外一个对象上去运行,即可以用来重新定义函数的执行环境,两者仅在定义 ...

  7. js 解决中文乱码的问题

    1.对象 request response 对象setCharacterEncoding=UTF-8 1 <%@ page language="java" contentTy ...

  8. python爬虫之Phantomjs安装和使用

    phantomjs: PhantomJS是一个无界面的,可脚本编程的WebKit浏览器引擎.它原生支持多种web 标准:DOM 操作,CSS选择器,JSON,Canvas 以及SVG. phantom ...

  9. SimpleChannelInboundHandler与ChannelInboundHandlerAdapter

    参考https://blog.csdn.net/u011262847/article/details/78713881 每一个Handler都一定会处理出站或者入站(也可能两者都处理)数据,例如对于入 ...

  10. vue bug & data type bug

    vue bug & data type bug [Vue warn]: Invalid prop: type check failed for prop "value". ...