使用OSS搭建私有云内网yum仓库的方法

使用OSS搭建私有云内网yum仓库的方法

文字&图片内容已脱敏

#、前几天接到一个搭建内网yum源的任务。刚接到这个任务的时候还是比较头疼的,因为内部有很多VPC。VPC与VPC之间是不互通的,又不能打高速通道,也不可能每个VPC下边都建一个yum仓库,也很不现实!
#、我想到了两种方法:
一、在任意VPC下建一个ECS,然后创建一个公共读的OSS作为yum源,因为OSS可以设置不绑定VPC,这样的话任意VPC下的ECS都可以去访问它了。
二、在任意VPC下建一个ECS作为yum源,然后绑定一个内网SLB。内网机器通过访问SLB到后端的ECS上拉取软件包。#、这里我选择了第一种方法。因为是内网环境,在自己的电脑上下载了VMware,安装了Anolis7/8的系统,通过VM虚拟机访问公网,下载所有rpm包(网速太慢了。。。下了3天),拷包到内网oss,形成一个yum仓库后为内网机器提供yum源。

一、环境准备

1.1、资源申请

#1、 申请一台ECS
配置为:
anolis8.6-X86系统、4C8G+SSD100GB+高效云盘500GB#2、申请一台OSS
配置为:500GB

1.2、下载公共yum源

#、准备公网机器
1、因现场环境不能连外网。在自己的电脑上安装的VMware虚拟机,安装的Anolis7/8系统。硬盘空间500G,挂载到/home/目录。连接外网,下载yum源2、检查是否能正常请求公共yum源:
ping www.baidu.com3、安装包下载工具(该工具是YUM工具包的子集)
yum install -y yum-utils4、启用epel软件源
yum install -y  epel-release

1.2.1、Anolis7下载

reposync -r $(源名称) -p $(下载目录)
#、使用方法示例:
[root@anolis7 ~]# reposync -r base -p /home/anolis7/#、参数解释:
-r :指定本地已经配置的yum仓库的repo源名称
-p :指定下载的文件保存路径

1.2.2、Anolis8下载

#、使用方法示例:
[root@anolis8 ~]# reposync --repo BaseOS -p /home/anolis8/#、参数解释:
--repo :指定本地已经配置的yum仓库的repo源名称
-p :指定下载的文件保存路径

二、配置步骤

2.1、安装createrepo工具

#、createrepo是一个对rpm文件进行索引建立的工具。 大体功能就是对指定目录下的rpm文件进行检索,把每个rpm文件的信息存储到指定的索引文件中,这样方便远程yum命令在安装更新时进行检索。
yum install -y createrepo

2.2、安装python2

#、createrepo工具需要用python2使用
yum install -y python2

2.3、索引建立

#1、yum软件包下载完成后,进入对应的软件包存放的目录执行索引建立命令
#、使用方法示例:
[root@anolis7 ~]# cd /home/Anolis7.9/os/Packages/
[root@anolis7 /home/Anolis7.9/os/Packages]# createrepo .#2、等待一会儿,软件包比较多的话,执行时间比较长。
索引建立完成后会出现一个`repodata`目录,里面存放检索文件repomd.xml#3、注意!!每个源目录下的Packages/目录下都要执行`createrepo .`命令创建索引。没有软件包的无需创建,删除空目录即可

2.4、打包yum软件包目录,上传至内网机中

 tar -zcvf Anolis7.tar.gz /home/Anolis7.9tar -zcvf Anolis8.tar.gz /home/Anolis8.6

2.5、下载ossutil工具上传到内网机器中并配置

https://gosspublic.alicdn.com/ossutil/1.7.1/ossutil64

2.5.1、安装ossutil工具

#、将下载好的ossutil工具上传到内网机器中,然后执行以下命令
chmod +x ossutil64
mv ossutil64 /usr/local/bin/

2.5.2、配置ossutil工具(交互式配置)

#、根据提示配置:oss endpoint、accessKeyID、accessKeySecret信息,其它默认回车即可
ossutil64 configThe command creates a configuration file and stores credentials.
Please enter the config file name,the file name can include path(default /root/.ossutilconfig, carriage return will use the default file. If you specified this option to other file, you should specify --config-file option to the file when you use other commands):
No config file entered, will use the default config file /root/.ossutilconfig
For the following settings, carriage return means skip the configuration. Please try "help config" to see the meaning of the settings
Please enter language(CH/EN, default is:EN, the configuration will go into effect after the command successfully executed):
Please enter endpoint:·`xxxxxxxxxxxxxxxx`
Please enter accessKeyID:`xxxxxxxxxxxx`
Please enter accessKeySecret:`xxxxxxxxxxxx`
Please enter stsToken:

2.5.3、确认配置是否正确,执行以下命令是否能正常返回oss的bucket

ossutil64 ls oss://test#、注意://test请替换为对应的bucket

2.6、解压上传的tar包

tar xvf Anolis7.tar.gz -C /home/anolis7-x86/
tar xvf Anolis8.tar.gz -C /home/anolis8-x86/

2.7、上传包到公开读的oss

ossutil64 cp -r home/ oss://$(bucket)/mirrors/

2.8、客户端修改环境yum配置

2.8.1、登录到分配的 ECS云主机系统后,执行如下命令:

cd /etc/
mv /etc/yum.repos.d /etc/yum.repos.d.bak
mkdir /etc/yum.repos.d
cd /etc/yum.repos.d

2.8.2、Anolis7使用以下配置:

cat >> /etc/yum.repos.d/store.repo <<EOF
[anolis7-os-x86]
name=anolis7-os-Packages
baseurl=http://$(oss内网地址)/mirrors/Anolis7.9/os/Packages
enabled=1
gpgcheck=0
[anolis7-updates-x86]
name=anolis7-updates-Packages
baseurl=http://$(oss内网地址)/mirrors/Anolis7.9/updates/Packages
enabled=1
gpgcheck=0
EOF

2.8.3、Anolis8使用以下配置:

 

三、验证方法

3.1、客户端确认yum源可用

3.1.1、 执行以下命令清空缓存并创建

cat >> /etc/yum.repos.d/store.repo <<EOF
[anolis8-AppStream-x86]
name=anolis8-AppStream-Packages
baseurl=http://$(oss内网地址)/mirrors/Anolis8.6/AppStream/Packages
enabled=1
gpgcheck=0
[anolis8-BaseOS-x86]
name=anolis8-BaseOS-Packages
baseurl=http://$(oss内网地址)/mirrors/Anolis8.6/BaseOS/Packages
enabled=1
gpgcheck=0
[anolis8-Extras-x86]
name=anolis8-Extras-Packages
baseurl=http://$(oss内网地址)/mirrors/Anolis8.6/Extras/Packages
enabled=1
gpgcheck=0
[anolis8-Plus-x86]
name=anolis8-Plus-Packages
baseurl=http://$(oss内网地址)/mirrors/Anolis8.6/Plus/Packages
enabled=1
gpgcheck=0
[anolis8-PowerTools-x86]
name=anolis8-PowerTools-Packages
baseurl=http://$(oss内网地址)/mirrors/Anolis8.6/PowerTools/Packages
enabled=1
gpgcheck=0
EOF
Anolis7

Anolis8

3.2、执行yum repolist可以看到如下信息即为正常

yum repolist
Anolis7

Anolis8

3.3、回退方法

#、执行已下命令:
cd /etc/
rm -rf yum.repos.d
mv yum.repos.d.bak/ yum.repos.d

文章转载自:kirin(麒麟)

原文链接:https://www.cnblogs.com/kirin365/p/17860778.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/180126.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 判断域名是否合规且是否可访问

需求 获得参数为域名的字符串后 1. 判定是否为合规域名 2. 该域名是否活着&#xff08;可访问&#xff09; 实例 headers { # 默认标头User-Agent: $,Accept: text/html,application/xhtmlxml,application/xml;q0.9,*/*;q0.8,Accept-Language: en-US,en;q0.5,Accept-Enc…

csv文件EXCEL默认打开乱码问题

这里讨论的问题是&#xff0c;当用记事本打开带有中文字符的csv正常时&#xff0c;用excel打开却是乱码。 简单概括就是&#xff1a;编码问题&#xff0c;windows的 excel打开csv文本文件时&#xff0c;默认使用的是系统内的ANSI&#xff0c;在中文环境下就是GB2312。如果写文件…

mySQL踩坑记录

1.MYSQL Workbench-8.0.27.1出现"Exception: Current profile has no WMI enabled"错误的解决方法 MYSQL Workbench-8.0.27.1出现“Exception: Current profile has no WMI enabled“错误的解决方法_赛风扥的博客-CSDN博客 C:\Program Files\MySQL\MySQL Workbench …

windows11 phpstudy_pro php8.2 安装redis扩展

环境&#xff1a;windows11 phpstudy_pro php8.2.9 一、命令查看是否安装redis扩展 在对应网站中通过打开&#xff0c;&#xff0c;选择对应的PHP版本&#xff0c;用命令 php -m 查看自己的php 有没有redis扩展 上面如果有&#xff0c;说明已经安装了,如果没有安装&#xff1…

AWL中英文对照表

Sublist 1 sector&#xff1a;部门、 available&#xff1a;可用的、 financial&#xff1a;财务的、 process&#xff1a;过程、 individual&#xff1a;个人的、 specific&#xff1a;具体的、 principle&#xff1a;原则、 estimate&#xff1a;估计、 variables&#xff1…

5 时间序列预测入门:LSTM+Transformer

0 引言 论文地址&#xff1a;https://arxiv.org/abs/1706.03762 1 Transformer Transformer 模型是一种用于处理序列数据的深度学习模型&#xff0c;主要用于解决自然语言处理&#xff08;NLP&#xff09;任务。它在许多 NLP 任务中取得了重大突破&#xff0c;如机器翻译、文本…

docker安装elasticsearch

1、拉取镜像 docker pull elasticsearch:7.17.5 (听说这玩意不同版本有不同的坑&#xff0c;不兼容程序等等&#xff0c;所以要注意下载对应版本号) 2、创建挂载目录 mkdir -p /mydata/elasticsearch/config mkdir -p /mydata/elasticsearch/data echo "http.host: …

Linux内存管理(六十四):ION 内存管理器——system heap

源码基于:Linux 5.4 约定: 芯片架构:ARM64内存架构:UMACONFIG_ARM64_VA_BITS:39CONFIG_ARM64_PAGE_SHIFT:12CONFIG_PGTABLE_LEVELS :30. 前言 ION 是 Google 在 Android 4.0 中引入,目的主要是通过在硬件设备和用户空间之间分配和共享内存,实现设备之间零拷贝共享内存…

Servlet-Vue-JSON交互

Servlet-Vue-JSON交互 统一结果返回 定义 package org.example.result;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;Data NoArgsConstructor AllArgsConstructor public class Result<T> {private Integer code;private St…

Android Studio 模拟器设置独立窗口

目录 模拟器在窗口内部运行 设置成独立窗口 模拟器在窗口内部运行 操作起来十分不便 设置成独立窗口 Android Studio -> Preferences(Settings) -> Tools-> Emulator ->取消勾选 Launch in a tool window -> 点击右下角的 OK 按钮 -> 重启 Android Studio

Python与微信交互(互动)神器yyds

Weixin-Python 是一个用于开发微信公众平台应用的 Python 库。它可以帮助你轻松地处理微信服务器发来的消息&#xff0c;以及向用户发送各种类型的消息。 Weixin-Python 的主要功能包括&#xff1a; 验证微信服务器的签名&#xff0c;确保请求来自微信服务器。解析微信服务器发…

前端---CSS篇(详解CSS)

1.CSS简介 CSS(Cascading Style Sheets)层叠样式表&#xff0c;是用来为结构化文档&#xff08;HTML、XML等应用&#xff09;添加样式,比如字体、颜色、大小、间距的计算机语言。CSS目前已经发展到了CSS3.0了。 2.CSS导入方式 CSS有三种导入方式&#xff1a; 1.行内样式&am…

MySQL在Docker容器中的性能损失分析与优化策略

文章目录 1. Docker容器对MySQL性能的潜在影响1.1. IO性能1.2. 网络性能1.3. 资源隔离 2. 优化策略2.1. 使用本地数据卷2.2. 配置合理的容器网络2.3. 限制容器资源2.4. 使用容器编排工具 3. 性能测试与监控4. 结论 &#x1f389;MySQL在Docker容器中的性能损失分析与优化策略 ☆…

Positive Technologies 公司发布了一种保护容器环境的产品 PT Container Security

根据 Positive Technologies 公司的数据&#xff0c;该类产品在俄罗斯的市场容量为 25 亿卢布&#xff0c;据预测&#xff0c;到 2026 年将增长两倍 Positive Technologies 公司正在增加应用安全方面的产品组合。新产品 PT Container Security可在构建、部署和工业运行阶段自动…

[MySQL--基础]函数、约束

hello! 这里是欧_aita的频道。 今日语录:不管你觉得自己能做什么&#xff0c;或者你觉得你不能做什么&#xff0c;你都是对的。 祝福语&#xff1a;愿你的程序像太阳一样明亮&#xff0c;给世界带来温暖和光明。 大家可以在评论区畅所欲言&#xff0c;可以指出我的错误&#xf…

转载:利用Flask实现深度学习模型部署

推荐博客 深度学习模型部署篇——利用Flask实现深度学习模型部署&#xff08;三&#xff09; pytorch中文文档-通过带Flask的REST API在Python中部署PyTorch 利用flask搭建深度学习服务

吴恩达《机器学习》10-6-10-7:学习曲线、决定下一步做什么

一、学习曲线 1. 学习曲线概述 学习曲线将训练集误差和交叉验证集误差作为训练集实例数量&#xff08;m&#xff09;的函数绘制而成。这意味着从较少的数据开始&#xff0c;逐渐增加训练集的实例数量。该方法的核心思想在于&#xff0c;当训练较少数据时&#xff0c;模型可能…

JDK 21 新特性一览

Java 21 已于 2023 年 9 月 19 日发布&#xff0c;是 Oracle 标准 Java 实现的下一个长期支持&#xff08;LTS&#xff09;版本。Java 21 具有以下 15 项新特性。 String Templates (Preview) 字符串模板&#xff0c;可以像其他语言那样子方便的做字符串拼接&#xff0c;是号&…

LeetCode Hot100 739.每日温度

题目&#xff1a; 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 方法&…

如何源码编译seaTunnel

如何源码编译seaTunnel 参考Set Up Develop Environment 编译前准备 下列软件需要提前安装好 GitJava ( JDK8/JDK11) 并设置JAVA_HOME 环境变量Scala (只支持 scala 2.11.12 )JetBrains IDEA . 下载源码并编译 git clone gitgithub.com:apache/seatunnel.git cd seatunne…