搭建本地yum源并定时同步
在生产中内网的机器都是不能访问外网,所以需要搭建本地yum源。以中国科学科技大学的yum源为基准。http://mirrors.ustc.edu.cn/
有些模块会同步失败,可以wget下载至指定位置。
代码如下:
- #!/bin/bash
- #Script name:rsync_yumrepo.sh
- RsyncPerm='-avSH --delete-after --no-iconv --bwlimit=5000'
- Centos_6_base='/app/YumRepo/Centos6/x86_64/Base/'
- Centos_6_update='/app/YumRepo/Centos6/x86_64/update/'
- Centos_6_epel='/app/YumRepo/Centos6/x86_64/Epel'
- Centos_6_salt='/app/YumRepo/Centos6/x86_64/Salt'
- Centos_6_docker='/app/YumRepo/Centos6/x86_64/Docker'
- Centos_7_base='/app/YumRepo/Centos7/x86_64/Base/'
- Centos_7_update='/app/YumRepo/Centos7/x86_64/update/'
- Centos_7_epel='/app/YumRepo/Centos7/x86_64/Epel'
- Centos_7_salt='/app/YumRepo/Centos7/x86_64/Salt'
- Centos_7_docker='/app/YumRepo/Centos7/x86_64/Docker'
- LogFile='/app/YumRepo/rsync_yum_log'
- Date=`date +%Y-%m-%d`
- function CheckDir(){
- if [ -d $ ];then
- echo "$1 dir is exist,Please check it!"
- else
- echo "$1 dir is not exist,will create it!"
- mkdir $ -p
- fi
- }
- function CheckFile(){
- if [ -e $ ];then
- echo "$1 dir is exist,Please check it!"
- else
- echo "$1 dir is not exist,Please install on there!"
- fi
- }
- function CheckStatus(){
- if [ $? -eq ];then
- echo -e "\033[1;32mRsync is success!\033[0m" >>$LogFile/$Date.log
- else
- echo -e "\033[1;31mRsync is fail!\033[0m" >>$LogFile/$Date.log
- fi
- }
- CheckDir ${LogFile}
- CheckDir ${Centos_6_base}
- CheckDir ${Centos_6_update}
- CheckDir ${Centos_6_epel}
- CheckDir ${Centos_6_salt}
- CheckDir ${Centos_6_docker}
- CheckDir ${Centos_7_base}
- CheckDir ${Centos_7_update}
- CheckDir ${Centos_7_epel}
- CheckDir ${Centos_7_salt}
- CheckDir ${Centos_7_docker}
- ###rsync centos base
- echo 'Now start to rsync centos 6 base!' >>$LogFile/$Date.log
- rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64/ $Centos_6_base >>$LogFile/$Date.log
- CheckStatus
- echo 'Now start to rsync centos 7 base!' >>$LogFile/$Date.log
- rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/ $Centos_7_base >>$LogFile/$Date.log
- CheckStatus
- ###rsync epel
- echo 'Now start to rsync centos 6 epel!' >>$LogFile/$Date.log
- rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/epel/6/x86_64/ $Centos_6_epel >>$LogFile/$Date.log
- CheckStatus
- echo 'Now start to rsync centos 7 epel!' >>$LogFile/$Date.log
- rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/epel/7/x86_64/ $Centos_7_epel >>$LogFile/$Date.log
- CheckStatus
- ###rsync salt
- echo 'Now start to rsync centos 6 salt!' >>$LogFile/$Date.log
- rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/salt/yum/redhat/6/x86_64/ $Centos_6_salt >>$LogFile/$Date.log
- CheckStatus
- echo 'Now start to rsync centos 7 salt!' >>$LogFile/$Date.log
- rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/salt/yum/redhat/7/x86_64/ $Centos_7_salt >>$LogFile/$Date.log
- CheckStatus
- ###rsync docker
- #echo 'Now start to rsync centos 6 docker!' >>$LogFile/$Date.log
- #rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/docker-yum/repo/centos6/ $Centos_6_docker >>$LogFile/$Date.log
- #CheckStatus
- echo 'Now start to rsync centos 7 docker!' >>$LogFile/$Date.log
- rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/docker-ce/linux/centos/7/x86_64/stable/ $Centos_7_docker >>$LogFile/$Date.log
- CheckStatus
- ###rsync golang
- rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/golang/go1.9.linux-arm64.tar.gz /app/YumRepo/golang/go1.9.linux-arm64.tar.gz
- CheckStatus
- ###rsync centos update
- echo 'Now start to rsync centos 6 update!' >>$LogFile/$Date.log
- rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/centos/6/updates/x86_64/ $Centos_6_update >>$LogFile/$Date.log
- CheckStatus
- echo 'Now start to rsync centos 7 base!' >>$LogFile/$Date.log
- rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/centos/7/updates/x86_64/ $Centos_7_update >>$LogFile/$Date.log
- 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
- [base]
- name=Centos6 - base
- baseurl=baseurl=http://HOSTADDR/Centos6/x86_64/Base
- gpgcheck=
- gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
- [updates]
- name=CentOS6 - updates
- baseurl=http://HOSTADDR/Centos6/x86_64/update
- gpgcheck=
- gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
重新生成缓存
yum clean all
yum makecache
搭建本地yum源并定时同步的更多相关文章
- 使用光盘搭建本地yum源
刚装好的系统,想安装一些常用软件和一些包组的时候,就可以使用安装光盘搭建本地yum 第一步:挂载安装光盘 mount /dev/cdrom /mnt 第二步:编辑repo yum源文件 [root@l ...
- centos 搭建本地YUM源并使用apache共享YUM源
搭建本地YUM源 1.挂载镜像 2.搭建本地YUM源 删除多余repo文件保留一个就行 本地YUM源就搭建好了 yum repolist 查看yum源 3.使用apache共享YUM源 YUM服务器配 ...
- 【转载】搭建本地yum源:以下是以centos7为例子
搭建本地yum源:以下是以centos7为例子 1)首先需要安装 createrepo(需要一个可以使用源的机器,可以访问互联网)安装方法可以使用yum安装epel源 1 yum -y instal ...
- 搭建本地yum源出现:mount: 在 /dev/sr0 上找不到媒体
2021-07-27 在练习环境搭建时,因为是离线环境,故先搭建本地yum源,但是出现了一个往常没有的问题:mount: 在 /dev/sr0 上找不到媒体,参考其他博主的文章得到解决方法. 排查问题 ...
- 使用光盘无网络搭建本地yum源仓库
目录 一:使用光盘搭建本地yum源 1,按顺序搭建本地yum源 第一步 : 搭载安装光盘 第二步 : 编辑repo yum源文件 第三步 : 检查 yum makecache 注意事项: 一:使用光盘 ...
- 在linux上搭建本地yum源
准备yum仓库的光盘镜像IOS文件: 设置光驱加载本地磁盘的yum仓库的光盘镜像文件: 在linux的命令行输入setup命令打开设置窗口,选择"System Service": ...
- 搭建本地yum源
本地yum源其实非常容易搭建 首先进入/etc/yum.repos.d/ 将原来的yum源备份后移除,然后新建dvd.repo: 内容如下: [base] name=base baseurl=file ...
- 如何搭建本地yum源,阿里yum源以及自己的网络yum源?
环境:CentOS7 一.本地源的yum源的搭建 (一)添加新的yum源配置文件iso.repo(名字可以自己命名,但是后缀必须是repo结尾) 注意:目录 /etc/yum.repos.d 下的 . ...
- CentOS 7搭建本地yum源
问题 CentOS7.1安装rpm包时提示缺失包,有些包iso里面也没有,只能从外网yum,这种情况下,可以提前yum好所需的依赖包,做成一个本地yum源.将这些文件拷贝到没联网的机器就可以使用了. ...
随机推荐
- CRM系统(第一部分)
阅读目录 1.需求分析 2.数据库表设计 3.起步 4.录入数据 5.知识点 1.需求分析 CRM客户关系管理软件---> 学员管理 用户:企业内部用户 用户量: 业务场景: 2.数据库表设 ...
- JSP页面导致tomcat内存溢出一例
今天发现一个奇怪的问题,一个tomcat应用,里面只有一个单纯的jsp页面,而且这个jsp页面没有任何java代码——想用这个jsp页面配合tomcat完成一个性能验证.但是用jmeter压测了几分钟 ...
- IdentityServer4【Topic】之定义客户端
Defining Clients 定义客户端 客户端表示哪些可以从你的IdentityServer拿到token的应用. 除了一些可能会变化的细节之外,通常情况下你需要为一个客户端定义如下通用的设置: ...
- Java 里如何实现线程间通信(转载)
出处:http://www.importnew.com/26850.html 正常情况下,每个子线程完成各自的任务就可以结束了.不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程 ...
- Programming好文解读系列(—)——代码整洁之道
注:初入职场,作为一个程序员,要融入项目组的编程风格,渐渐地觉得系统地研究下如何写出整洁而高效的代码还是很有必要的.与在学校时写代码的情况不同,实现某个功能是不难的,需要下功夫的地方在于如何做一些防御 ...
- js中的call、apply、bind
在js中每个函数都包含两个非继承而来的方法:call()和apply() call和apply的作用都是在特定的作用域中将函数绑定到另外一个对象上去运行,即可以用来重新定义函数的执行环境,两者仅在定义 ...
- js 解决中文乱码的问题
1.对象 request response 对象setCharacterEncoding=UTF-8 1 <%@ page language="java" contentTy ...
- python爬虫之Phantomjs安装和使用
phantomjs: PhantomJS是一个无界面的,可脚本编程的WebKit浏览器引擎.它原生支持多种web 标准:DOM 操作,CSS选择器,JSON,Canvas 以及SVG. phantom ...
- SimpleChannelInboundHandler与ChannelInboundHandlerAdapter
参考https://blog.csdn.net/u011262847/article/details/78713881 每一个Handler都一定会处理出站或者入站(也可能两者都处理)数据,例如对于入 ...
- vue bug & data type bug
vue bug & data type bug [Vue warn]: Invalid prop: type check failed for prop "value". ...