首页 > 系统相关 >使用OSS搭建私有云内网yum仓库的方法

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

时间:2023-11-27 23:01:25浏览次数:52  
标签:tar OSS 云内网 yum file home Anolis7 repos

版权声明:原创作品,谢绝转载!否则将追究法律责任。 ————— 作者:kirin

使用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.com

3、安装包下载工具(该工具是YUM工具包的子集)
yum install -y yum-utils

4、启用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.9
 tar -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 config

The 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使用以下配置:

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

三、验证方法

3.1、客户端确认yum源可用

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

yum clean all
yum makecache
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

标签:tar,OSS,云内网,yum,file,home,Anolis7,repos
From: https://www.cnblogs.com/kirin365/p/17860778.html

相关文章

  • CrossEntropyLoss: RuntimeError: expected scalar type Float but found Long neural
    错误分析  这个错误通常指的是期望接受的参数类型是Float,但是程序员传入的是Int。通常会需要我们去检查传入的input和target的数据类型有没有匹配。在传入的数据中,通常input希望是Float类型,target是Int类型。  但是通常也许会发现传入的参数是符合要求的,但是......
  • Linux中yum管理器
    1.YUM的基本命令1.1安装软件包使用YUM安装软件包:yuminstallpackage_name例如,安装git:yuminstallgit1.2更新软件包更新已安装的软件包:yumupdate1.3卸载软件包卸载已安装的软件包:yumremovepackage_name2.YUM源的配置2.1查看当前配置查看当前......
  • Centos下如何Yum安装php5.5、php5.6、php7.0等版本
    1.检查当前安装的PHP包yumlistinstalled|grepphp如果有安装的PHP包,先删除他们yumremovephp.x86_64php-cli.x86_64php-common.x86_64php-gd.x86_64php-ldap.x86_64php-mbstring.x86_64php-mcrypt.x86_64php-mysql.x86_64php-pdo.x86_642、设置yum源WebtaticEL7for......
  • OSS Scan,Mend,BlackDuck,FOSS,ECCN 的概念
    1.OSSScanOSSScan是一个用于扫描开源软件(OpenSourceSoftware,简称OSS)的工具。它的主要目的是找出软件中可能存在的安全问题,包括但不限于漏洞、许可证冲突、违反的法规等。一个OSSScan的例子是OWASP的Dependency-Check工具,它能够检测项目中使用的开源库是否存在已知......
  • 什么是 SAP ABAP Cross Customizing Client
    CrossCustomizingClient(CCC)是SAP系统中的一个重要概念,它允许在不同的客户端(Client)之间共享和传输自定义的配置数据。在SAP中,客户端是系统中的独立实体,用于在同一系统中区分不同的业务场景或测试环境。CrossCustomizingClient的主要目的是通过一个客户端上的配置来影响另一个客......
  • Adaptive Sparse Pairwise Loss for Object Re-Identification
    https://blog.csdn.net/amusi1994/article/details/130037400tripletloss中需要计算每个样本之间的距离,从而计算出loss,作者认为同一类的某些样本可能存在有害的信息,所以不应该将所有样本都用于计算loss。作者提出的SPloss中只计算挑选出来的样本的距离,从而得到loss。我们提出......
  • vqvae的loss计算
    loss=torch.mean((z_q.detach()-z)**2)+self.beta*torch.mean((z_q-z.detach())**2)z_q是codebook找到的最接近z的向量.z是encoder生成的向量.L对z求导=2(z_q.detach()-z)*(-1)=2(z-z_q.detach())   #这个部分对于encoder做了训练.L对z_q求导=2(z_q-z.......
  • Ossclient无法自动装配和包aliyun-oss-spring-boot-starter导入错误
    无法导包 aliyun-oss-spring-boot-starter 解决办法:把 aliyun-oss-spring-boot-starter换成即可<dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>2.8.3......
  • uos挂载镜像和配置yum源
    1、挂载镜像mkdir/uos//创建挂载目录uosmount/dev/sr0/uos//把镜像挂载到uos目录上vi/etc/fstab//永久挂载/dev/sr0/uosiso9660defaults00mount-adf-Th//查看挂载是否成功2、配置yum源cd/etc/yum.repos.d///进入目录rm-rf*//移除viuos.repo......
  • 给oss加cdn
    最近公司有个网站有大量视频,而且都在100M以上。因为服务器的存储空间空间有限,因此我选择了阿里云的oss存储,并且给oss加了cdn。这篇博客记录一下给oss加cdn的过程(1)开oss服务按照阿里云界面要求填写就行。(2)开通cdn服务,在 域名管理 中添加域名(2.1)加速域名最好使用一个子......