目录层次结构中区分不同功能的RPM包,同时只有一份共享的repodata

news/2024/7/5 5:30:22

使用本地的yum源有几个潜在的好处:

  1. 更快的下载速度: 本地yum源通常位于本地网络上,因此可以通过局域网快速获取软件包,而不需要依赖互联网连接。这样可以提供更快的下载速度,节省时间和带宽消耗。

  2. 离线访问: 使用本地yum源可以在没有互联网连接的环境中访问软件包。这对于在没有网络连接或希望独立于互联网的封闭环境中部署系统的情况非常有用。

  3. 更好的控制: 通过使用本地yum源,你可以更好地控制可用的软件包版本和更新。你可以选择在本地镜像中保留特定的软件包版本,而不受远程仓库的变化影响。这有助于确保系统中使用的软件包版本符合你的要求和稳定性需求。

一、把需要的rpm包下载到本地

1、配置yum工具

使用yum命令加上参数
--downloadonly:只下载
--downloaddor:指定下载目录

mkdir -p /data/yum

yum install --downloadonly --downloaddir=/data/yum/ mysql-community-server
 

此时,就将MySQL的相关安装包和依赖包下载到了/yum/目录。

完成上面的步骤,第一步本地rpm包准备好了

2、生成yum仓库数据文件信息(repodate信息)

没有生成仓库数据信息,在使用yum的时候会报错,使用仓库需要有repomd.xml这个文件。
repomd.xml:文件就是仓库rpm包的索引信息。
使用createrepo生成即可,默认是没有这个命令的。

yum install createrepo -y # 安装createrepo

createrepo /data/yum/ # 生成repomd.xml文件

通过上述命令生成的


 

3、配置本地yum仓库

vim /etc/yum.repos.d/local.repo
[local]
name=local repository
baseurl=file:///data/merged_repodata
enabled=1
gpgcheck=0

yum repoinfo local

清除缓存

yum clean all && yum repolist # 清除缓存


 

二、合并yum源

之前没有合并多个yum源,每次生成单独的yum源和repodata,会造成客户端配置时候要配置多个

yum.repo

当需要在目录层次结构中区分不同功能的RPM包,同时只有一份共享的repodata时,可以采取以下步骤:

  1. 创建一个新的目录,用于存储合并后的repodata和分目录的RPM包。假设你创建了一个名为"merged_data"的目录。
  2. 将所有的RPM包复制到"merged_data"目录中。
  3. 打开终端,导航到"merged_data"目录。使用以下命令安装createrepo工具(如果尚未安装):

yum install createrepo

   4.运行以下命令生成repodata:

这将在"merged_data"目录中生成一个名为"repodata"的新目录,其中包含合并后的repodata文件。

  5.在"merged_data"目录中创建用于区分不同功能的子目录。例如,假设你有两个功能(func1和func2),你可以创建两个子目录:func1和func2。

6.将每个功能的RPM包分别复制到相应的子目录中。

现在,你的目录结构看起来像这样:

merged_data/
├── func1/
│   ├── rpm1.rpm
│   ├── rpm2.rpm
│   └── ...
├── func2/
│   ├── rpm3.rpm
│   ├── rpm4.rpm
│   └── ...
└── repodata/
    ├── repomd.xml
    └── ...

其中,"repodata"目录包含合并后的repodata文件,而每个功能的RPM包则分别存放在对应的子目录中。

其他人可以使用生成的repodata和相应的目录结构来创建yum.repo文件。他们只需要在yum.repo文件中引用合并后的repodata的路径即可。


http://lihuaxi.xjx100.cn/news/1165482.html

相关文章

「实在RPA·电力数字员工」助推电力行业提质增效

一、电力行业数字化转型的重要性: 电力行业作为节能减排的关键,其数字化转型是推动碳达峰、碳中和目标如期实现的重要一环。实现“双碳”目标,能源是主战场,电力是主力军。对此,国家有关部门出台了一系列引导相关产业数字化发展的…

次氯酸消毒剂制备中的全氟醚橡胶密封耐腐蚀电动阀门解决方案

摘要:次氯酸作为是一种新型消毒剂,近年来广泛应用于医疗卫生机构、公共卫生场所和家庭的一般物体表面、医疗器械、医疗废物等。由于次氯酸的酸性和强氧化性,使得次氯酸生产制备过程中会给流量调节阀门带来腐蚀并影响寿命和控制精度&#xff0…

【Netty】Netty ChannelHandler(四)

文章目录 前言一、ChannelHandler二、ChannelInboundHandler三、ChannelOutboundHandler四、ChannelDuplexHandler总结 前言 前两篇文章我们已经对Netty进行了简单的了解和架构设计原理的剖析。 相关文章链接如下: Netty 概述(一)Netty 架构…

【CMU 15-445】学习笔记与Lab汇总

又来开新坑啦!本门课程为CMU的数据库原理课程15-445,我学习的版本为Fall2022,教授为Andy(上课有DJ)。准备跟着课程的Schedule来做,就是先看配套教材的相应章节(Database-System-Concept-7th&…

「API 接口获取方法」

在创建一个应用程序的过程中,获取数据是非常关键的一步。而通过API接口获取数据通常是最好的方式之一。那么,如何通过关键字获取API接口呢?以下是一些步骤: 1.确定你需要获取的数据类型 首先,你需要确定你需要获取的…

HTML+CSS实训——Day03——仿网易云音乐的主页界面

仓库链接:https://github.com/MengFanjun020906/HTML_SX 一些今天需要用到的知识点 弹性盒子 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedg…

Extjs 学习ing

启用Ext.Loader (function(){Ext.Loader.setConfig({enabled:true});ext.onReady(function(){})})();创建数据模型对象 model // Model定义为字段、任意方法和与模型相关的属性的集合( 如 validations 验证器等&#xff09; //define 创建 Ext.define(student,{extend:Ext…

VMware是什么?VMware虚拟机最新安装教程

VMware Workstation是一款虚拟机软件&#xff0c;允许用户将Linux、Windows等多个操作系统作为虚拟机在单台PC上运行; 用户可以在虚拟机上重现服务器、桌面和平板电脑环境&#xff0c;无需重新启动即可跨不同操作系统同时运行应用。 通过对个人笔记本(PC)硬件资源的虚拟&#…