本文的实验环境: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. 报错: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))

    你没打开 1.双击打开 2.点击:

  2. RT Thread的SPI设备驱动框架的使用以及内部机制分析

    注释:这是19年初的博客,写得很一般,理解不到位也不全面.19年末得空时又重新看了RTThread的SPI和GPIO,这次理解得比较深刻.有时间时再整理上传. -------------------- ...

  3. selenium学习之元素等待(四)

    --为什么要设置元素等待: 目前大多数web应用程序都是使用AJAX和JavaScript开发,每次加载一个网页,包括静态网页和动态网页,也就是加载各种HTML标签和JS文件.在网页中进行元素定位时, ...

  4. Spring Boot第五弹,WEB开发初了解~

    持续原创输出,点击上方蓝字关注我吧 目录 前言 Spring Boot 版本 前提条件(必须注意) 添加依赖 第一个接口开发 如何自定义tomcat的端口? 如何自定义项目路径? JSON格式化 日期 ...

  5. 【随笔】菜刀(代码执行)函数和命令执行函数详解及Getshell方法

    代码执行函数 VS 命令执行函数 一直想整理这两块的内容,但是一直没时间弄,直到前两天碰上一个写入了菜刀马但是死活连不上菜刀的站,顿时不知道怎么继续了,所以就趁这个机会整理了一下代码执行函数怎么get ...

  6. Java (二)基于Eclipse配置Commons IO的环境

    上一篇:Java (一)下载APACHE Commons IO 一.新建一个Java Project 二.使用鼠标右键点击工程,选择New > Folder 三.在Folder name输入文件 ...

  7. Java安全之Commons Collections1分析(二)

    Java安全之Commons Collections1分析(二) 0x00 前言 续上篇文,继续调试cc链.在上篇文章调试的cc链其实并不是一个完整的链.只是使用了几个方法的的互相调用弹出一个计算器. ...

  8. IDEA设置External Tools之Javap反编译字节码

    通过Jdk的命令javap可以反编译查看字节码,但是在使用idea的时候一直用命令行去操作不太好操作,而且因为idea会把class码 放在target里面,经常会忘记切换目录.这个时候idea的Ex ...

  9. Cypress系列(63)- 使用 Custom Commands

    如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html Custom Commands 自定义命 ...

  10. java基础知识总结(续写)

    1.两个容易搞混的C盘文件夹 文件名 描述 Progrm Files 默认存储的64位软件 Progrm Files(x86) 默认存储32位软件 2.常用基础DOS命令(Windows+R打开命令) ...