本文的实验环境:aws上的Redhat 7.x , 同样也适用于Centos 7.x

简单说主要分为三步:

(1) 向官网同步yum数据,可以根据具体情况,创建脚本及配置周期例行任务 

(2) 搭建web服务器,通过配置,允许指定的服务器进行访问 

(3) 客户端配置,配置一个指向到yum服务器的url即可 

由于公司服务器都是在内网的、一般是不允许访问外面

因此要解决内网rhel 系统的补丁及升级问题,就需要在公司搭建一台本地yum服务器,数据则需要向官网同步

当然安全策略即为,yum服务器,只能访问指定的官网地址,而内部服务器将yum源配置到搭建的yum服务器即可

下面记录一下方法,本文主要针对HK项目aws上的redhat 7.x 系统

1、首先需要在yum服务器上安装createrepo,这个主要用于后期创建仓库源数据等信息

 [root@qq_5201351 ~]# yum install createrepo -y

2、创建一个存放脚本的目录,及脚本文件

[root@qq_5201351 ~]# mkdir -p /server/scripts/yum_related/
[root@qq_5201351 ~]# touch /server/scripts/yum_related/yum_repository_sync.sh

3、脚本文件,以后用于向官网同步数据的,当然后续还需要得根据实际情况,结合周期例行一起使用,脚本内容如下:

#!/bin/bash
#
#############################################################
#Author:QQ,5201351 #
#Blog:https://www.cnblogs.com/5201351 #
#Date:2020-10-31 #
#Script Version:1.0 #
#Supported OS: Cenots/rhel 6.x/7.x #
#Description: yum_repository_sync_from_Official_website #
#############################################################
# date=$(date +%Y%m%d-%H%M%S)
scriptdir=$(dirname $0) cd $scriptdir && mkdir -p log
logfile=$(pwd)/log/yum_repository_sync.log yum clean all ; yum makecache if [ $? -ne 0 ];then
echo "${date}: Error,Please check if yum of this machine is available" | tee -a $logfile
else
reposync --repoid=rhel-7-server-rhui-rpms --downloadcomps -l -n -p /patch/rhel7/
cd /patch/rhel7/rhel-7-server-rhui-rpms/ && createrepo -v /patch/rhel7/rhel-7-server-rhui-rpms/ -g comps.xml
find /patch -type d -exec chmod o+x {} \;
chmod -R o+r /patch && touch yum_repository_sync.log
echo "${date}: Success,yum_repository synchronized" | tee -a $logfile
fi

说明:关于-g comps.xml 不写也会创建这个文件的,基本也可用,只是不会创建软件包组索引元数据

4、安装apache服务器(httpd),为yum创建相应的web配置文件,/etc/httpd/conf.d/local_yum_server.conf

alias /rhel-7-x86_64 /patch/rhel7/rhel-7-server-rhui-rpms

<VirtualHost *:80>
DocumentRoot "/patch/rhel7/"
</VirtualHost> <directory "/patch/rhel7/">
options +indexes
Require all granted
</directory>

5、然后运行上面的脚本及重启httpd服务,客户端的核心配置如下:

[Internal-yum-rhel-client]
name=Red Hat Enterprise Linux AWS Local reposerver
baseurl=http://192.168.1.2/rhel-7-x86_64
enabled=1
gpgcheck=0
gpgkey=http://192.168.1.2/RPM-GPG-KEY-redhat-release

说明:关于gpgkey的文件,需要在自己手动放到站点的根下,还有上面的url也可以写成 http://192.168.1.2/rhel-7-server-rhui-rpms

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/13907018.html

Linux小项目/rhel-基于同步官网yum仓库数据搭建本地yum服务器的更多相关文章

  1. 搭建本地yum源并定时同步

    在生产中内网的机器都是不能访问外网,所以需要搭建本地yum源.以中国科学科技大学的yum源为基准.http://mirrors.ustc.edu.cn/ 有些模块会同步失败,可以wget下载至指定位置 ...

  2. 在linux上搭建本地yum源

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

  3. Linux Centos7 离线安装docker 【官网翻译和注释】

    Centos7的Docker安装 需要一个维护版本的centos7,所以6不行. 卸载旧版本 旧版本的docker被称为 docker or docker-engine 如果存在请删除它们. sudo ...

  4. 一个让我很不爽的外包项目——奔驰Smart2015新官网

    七月份的下半个月,有幸做了奔驰 Smart 2015年新官网,包括手机端和PC端的宣传页,地址: PC端 手机端 这里,为了证明这个是一个事实,我还特意的留存了两张截图: 这里只想说明这么几个问题: ...

  5. 编写 python 小程序,将LOL官网的皮肤保存下来,上传百度云,记录那些强撸灰飞烟灭的日子

    to 撸的血泪史:大学四年几乎都在宿舍打撸,So,把官网的皮肤都保存下来,存到百度云,就当一种纪念 编辑器:pycharm 用到的包:urllib.request, requests, json, r ...

  6. linux下pip安装无法连接官网

    为了安装pwntools等工具,要先安装pip,系统安装好了,却遇到了无法连接到pip官网的报错,找了半天方法最终解决 wget https://bootstrap.pypa.io/get-pip.p ...

  7. 基于koa模块和socket.io模块搭建的node服务器实现通过jwt 验证来渲染列表、私聊、群聊功能

    1. 具体代码在需要的下载 https://gitee.com/zyqwasd/socket 效果: 2. package.json文件 1. 下载基本的模块  修改了start 脚本  nodemo ...

  8. CentOS7搭建本地YUM仓库,并定期同步阿里云源

    CentOS7同步阿里云镜像rpm包并自建本地yum仓库 系统环境 # cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) # u ...

  9. Linux虚拟机搭建本地yum源

    Yum本地源的配置 本教程是在虚拟机里安装Red Hat Enterprise Linux 7 ,以其为例使用iso文件进行Yum本地源的配置.所使用的软件如下: (1)虚拟机:Vmware work ...

随机推荐

  1. hexo博客添加gitalk评论系统

      经过了一天的折腾,我终于为自己的博客添加上了评论系统.坦率的讲,为什么网上那么多方案我还要自己写一篇博客,那就是因为他们说的都有bug,所以我要自己总结一下.   我选用的是gitalk评论系统, ...

  2. Ubuntu修改时区和更新时间

    先查看当前系统时间 root@ubuntu:/# date -R 结果时区是:-0500 我需要的是东八区,这儿显示不是,所以需要设置一个时区 1.运行tzselect root@ubuntu:/# ...

  3. spring的AspectJ基于XML和注解(前置、后置、环绕、抛出异常、最终通知)

    1.概念 (1)AspectJ是一个基于Java语言的AOP框架 (2)Spring2.0以后新增了对AspectJ切入点表达式的支持 (3)AspectJ是AspectJ1.5的新增功能,通过JDK ...

  4. FastReport.Mono添加了新的条形码ITF-14

    FastReport.Mono 是一款为Mono Framework设计的功能全面的报表生成工具.FastReport.Mono 是一个多平台的报表解决方法.它可以应用于Windows, Linux, ...

  5. Springer editorial manager上传latex文件

    Springer的投稿系统editorial manager在初次投稿时只需要上传pdf文件,修改后要求上传Latex源文件.上传过程遇到好多问题,花了快两天才搞定,整理如下: 1. 主要上传的文件包 ...

  6. Laravel Event的分析和使用

    Laravel Event的分析和使用 第一部分 概念解释 请自行查看观察者模式 第二部分 源码分析 (逻辑较长,不喜欢追代码可以直接看使用部分) 第三部分 使用 第一部分 解释 当一个用户阅读了一篇 ...

  7. Windows控件的属性与事件

    Treeview控件重要属性和事件 属性 说明 Nodes Treeview控件中所有树节点 SelectdNode 当前Treeview控件中选定的树节点,如果当前没有选定树节点,返回值为null ...

  8. 1. Spring Boot入门

    1.Spring Boot简介 简化Spring应用开发的一个框架 整个Spring技术栈的一个大整合 J2EE开发的一站式解决方案 优点: – 快速创建独立运行的Spring项目以及与主流框架集成 ...

  9. C语言编程入门之--第六章C语言控制语句

    导读:本章带读者理解什么是控制语句,然后逐个讲解C语言常用的控制语句,含有控制语句的代码量多起来后就要注意写代码的风格了,本章末节都是练习题,大量的练习才能掌握好控制语句的使用. 6.1 什么是控制语 ...

  10. Redis GEO 功能使用场景

    本文来源:https://www.dazhuanlan.com/2020/02/05/5e3a0a3110649/ 背景 前段时间自己在做附近直播相关业务,其中有一个核心的点就是检索用户附近的主播,也 ...