yum和repo详细解析

news2024/11/18 9:22:56

目录

一、rpm、yum、repo

二、repo文件详细解析

三、常用命令

四、更改epel.repo为清华源

一、rpm、yum、repo

RPM
RPM(Red-hat Package Manager),是一个由红帽最早开发出来的包管理器,目前已经是大多数Linux发行的默认包管理器。RPM管理的包都是以.rpm结尾,其中存储了该软件的安装压缩包,以及一些额外信息,例如所依赖的其余的包还有安装,升级,卸载时候执行的一些脚本。

看起来很美好,想要安装软件的时候下载一个官方的.rpm文件,然后用RPM安装一下即可。但是事实往往没这么顺利。一个包在安装的时候往往依赖于很多的其它的包,如果这些被依赖的包没有被安装会造成很多意想不到的麻烦。RPM的一大缺点,就是它可以检测这些被依赖的包有没有被安装,但是假如有包没有安装它不会自动去进行安装。

于是需要一种新的工具来弥补这个缺点,这个新工具在Centos中就是Yum。

Yum
Yum(Yellowdog Updater Modified),也是包管理工具,只适用于红帽和Centos发行版本。比起RPM来,Yum的优势在于可以自动检测依赖,并且对于不存在的依赖会自动去进行安装。

所以通常是用Yum来进行包的操作,例如查看,安装,更新,删除等等。

但是又有了另一个问题,RPM包里面只是写了依赖包的名字,Yum怎么知道去哪下载这些包呢?如果能有一个仓库,里面放着成千上万的包给Yum去选择,这个问题也就迎刃而解了。

是的,很多的公司和团体都维护着这样的仓库,这些仓库就叫做repository,简称repo。

Repo
Repo就像是一个大仓库,每个repo里面包含着很多的.rpm文件,但是一个repo不可能把这个世界所有的.rpm包都包括进去,往往是某个特定目的的包集合放在一个repo里面,例如centos需要的基础包做一个repo,额外特性的包再放一个repo,mysql维护自己的repo,docker维护自己的repo,等等。所以我们往往一台机器上要配置好几个repo的地址供yum去查询和选择,而且安装新软件的时候可能还需要新安装他们自己维护的repo来使用。

下面我们就来详细看看怎么在本地配置repo。

repo文件详解
centos中存放repo文件的路径在/etc/yum.repos.d/,每个文件都以.repo结尾,每个文件中可能包含一个或多个repo的信息。
 

二、repo文件详细解析

[root@k8s-master yum.repos.d]# cat /etc/yum.repos.d/CentOS-Base.repo 
[base]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

[base] - 这是repo的id,必须要在该文件中独一无二才可以。一个repo文件中可以有多个repo。

name=xxx - 这是repo的描述信息,这其中带入了一个变量,在我这里就是7

mirrorlist=xxx - 这个url打开后是一个地址列表,yum会依次去各个地址尝试下载想安装的包,如果所有地址遍历完依然下载失败,则会向用户抛出错误,epel.repo就包含mirrors.bfsu.edu.cn、mirrors.tuna.tsinghua.edu.cn等等源。

gpgcheck=1 - gpgcheck是官方镜像特有的一种密钥校验方法,1表示要校验

gpgkey=xxx - 本地存放的用于gpgcheck的公钥,用浏览器访问链接可以查看

enable=1 - 1表示启用,0表示弃用。

三、常用命令

#查看所有repo,展示所有repo源,包含enable和disable的。
yum repolist all
yum repolist | grep ****

#清除缓存,通常在卸载或更新服务时候会使用,防止重新安装老版本。
yum clean all  =  (= yum clean packages; yum clean oldheaders)

#将yum安装的包保存在缓存中,remove后且在断网情况下还能yum成功,但实际yum安装中,
会自动将文件保存在缓存中,所以这条命令其实没什么用,但最好还是在安装完成后使用该命令。
yum makcache

#升级所有包同时也升级软件和系统内核
yum -y update

#只升级所有包,不升级软件和系统内核
yum -y upgrade

#卸载服务或应用
yum remove -y ***

#列出任何可更新的软件清单
yum check-update

#安装任何更新软件
yum update ***

#仅安装指定的软件
yum install ***

#仅更新指定的软件
yum update ***

#列出任何可安裝的软件清单
yum list
yum list | grep ***

 可以看到该repo文件有三个repo源

#查看阿里云的CentOS-Base.repo
[root@k8s-master yum.repos.d]# cat CentOS-Base.repo 
[base]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

yum repolist | grep CentOS

最右边的数字表示该repo中rpm文件的个数

将id为[extras]的repo的enable属性设为0

 yum repolist | grep CentOS

再次查看,刚刚设置为0的[extras]已经不显示了。

四、更改epel.repo为清华源

yum install epel-release

当前tuna已经在epel的官方镜像列表里,所以不需要做任何修改,mirrorlist机制就能让你的服务器就近使用tuna的镜像。如果你想强制你的服务器使用tuna的镜像,可以修改/etc/yum.repos.d/epel.repo,将mirrorlist和metalink开头的行注释掉。

接下来,取消注释这个文件里baseurl开头的行,并将其中的http://download.fedoraproject.org/pub替换成https://mirrors.tuna.tsinghua.edu.cn。

更改前

更改后

参考:

rpm,repo和yum的区别和使用详解(centos7安装和升级mysql举例)_centos yum repo_T型人小付的博客-CSDN博客

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

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

相关文章

Docker镜像与制作

Docker镜像与制作 Docker镜像是没有内核的,镜像在启动为容器后将直接使用宿主机的内核。 Docker镜像的制作分为了手动制作和自动制作(基于DockerFile) 1、制作nginx镜像 先准备一个目录, mkdir docker-images && cd d…

借助ChatGPT实现 PPT | 导图 | 短视频文案生成【AIGC】

文章目录 1、chatgpt 自动制作 PPT2、chatgpt 生成 Excel 公式3、chatgpt 生成思维导图4、chatgpt 快速生成短视频5、总结 1、chatgpt 自动制作 PPT 步骤如下: ①要求 chatgpt 生成 PPT 内容,以 markdown 格式输出; ②借助网站 mindshow.fun…

【C++】 哈希 (上)

文章目录 1. 哈希概念2. 哈希表直接定址法(常用)除留余数法(常用)解决哈希冲突方法1 ——闭散列 3. 闭散列的实现如何处理删除数据?定义数据结构insertlen为 _tables.size() 还是 _tables.capacity()?线性探测负载因子扩容 FindErase完整代码 1. 哈希概念…

SpringBoot项目打包部署到Nginx【无需配置Nginx】

0.前置知识 springboot打包的项目共分为jar和war两种类型 jar包 jar类型项目使用SpringBoot打包插件打包时,会在打成的jar中 内置一个tomcat 的jar 所以我们可以使用jdk直接运行,将功能代码放到其内置的tomcat中运行。 war包 在打包时需要将 内置的tom…

2023-05-20 技术与管理的照本宣科教条主义与从事实中成长-反思

摘要: 最近的两份工作遇到了极其严重的教条主义, 有多严重呢?几乎可以说人成了教条的教徒,做事就成了照本宣科的死板硬套, 简直匪夷所思。 结果就是对于现实问题简直就像是建立在空中楼阁之上,不但涉及到管理,更有技术上的。 教…

实训三:MLP配置(多链路捆绑的配置)

实训三:MLP配置 【实验目的】 掌握多链路捆绑的配置。验证配置。 【实验拓扑】 实验拓扑如图所示。 设备参数如表所示。 设备 接口 IP地址 子网掩码 默认网关 R1 Multilink 1 192.168.12.1 255.255.255.0 N/A R2 Multilink 1 192.168.12.2 255.255…

6年心得,从功能测试到测试开发,送给在测试路上一路走到黑的你

蓦然回首,软件测试风风雨雨的这就几年,起初每天的工作只是鼠标点点点,我还真不知道怎么办,闲的时候真的怀疑自己的存在价值,每天拿着7000的工资,飘荡在繁华的深圳,吃不饱也饿不死,未…

1.2 IAR 环境配置及编译

目录 一. 新建源码文件夹 二. 添加源文件到工程中 三. 编写一个简单的测试程序 四. 设置字体和行号 五. 工程配置 六. 编译链接工程 一. 新建源码文件夹 (1)在保存工作空间和工程的目录下,新建一个code文件夹,用于保存源码&…

斯坦福、Nautilus Chain等联合主办的 Hackathon 活动,现已接受报名

由 Stanford Blockchain Accelerator、Zebec Protocol、 Nautilus Chain、Rootz Lab 共同主办的黑客松活动,现已接受优秀项目提交参赛申请。 在加密行业发展早期,密码极客们就始终在对区块链世界基础设施,在发展方向的无限可能性进行探索。而…

计算机组成原理实验三-修改二进制文件的程序改变最终运行结果

实验资料: https://wwpv.lanzoue.com/b05drr8qh 密码:6wjx 计算机组成原理实验三 修改二进制文件的程序改变最终运行结果 复习实验二GCC选项:-E -S -c -o -v .\gcc.exe 1.c -> a.exe .\gcc.exe 1.c -o 21001302xx.exe(1)…

Nacos之服务配置中心

1.基础配置 1.1.新建模块cloudalibaba-config-nacos-client3377 1.1.1.POM <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance…

JVM学习(五)

1.1 JVM 类加载机制 JVM 类加载机制分为五个部分&#xff1a;加载&#xff0c;验证&#xff0c;准备&#xff0c;解析&#xff0c;初始化&#xff0c;下面我们就分别来看一下这 五个过程。 1.1.1 加载 加载是类加载过程中的一个阶段&#xff0c; 这个阶段会在内存中生成一…

路径规划算法:基于教与学优化算法的路径规划算法- 附代码

路径规划算法&#xff1a;基于教与学优化优化的路径规划算法- 附代码 文章目录 路径规划算法&#xff1a;基于教与学优化优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要&#xff1a;本文主要介绍利用智能…

Springcloud1--->负载均衡Ribbon

目录 负载均衡算法负载均衡原理启动两个服务实例开启负载均衡更改Ribbon随机策略 什么是Ribbon&#xff1a; 负载均衡算法 负载均衡算法&#xff1a; 1.轮询法&#xff1a;   将请求按顺序轮流地分配到后端服务器上&#xff0c;它均衡地对待后端的每一台服务器&#xff0c;而…

【正点原子STM32连载】 第十三章 跑马灯实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第十三…

chatgpt赋能Python-python3_9_7怎么用

介绍Python3.9.7及其用途 Python是一种高级编程语言&#xff0c;已成为Web开发、数据科学、机器学习等领域中最广泛使用的语言之一。Python3.9.7是Python的最新版本&#xff0c;于2021年9月6日发布。它包括各种新的特性、改进和安全性实现&#xff0c;提高了Python应用程序的稳…

计算机图形学-GAMES101-13

Ray Tracing &#xff08;1&#xff09;为什么使用光线追踪 Ray Tracing 和 Rasterization 是两种不同的成像方式。Rasterization最大的问题&#xff1a;不利于表达全局效果。整体来说光栅化做阴影是比较困难的。Glossy reflection&#xff1a;一种不那么光滑的反射镜面。Ind…

在 Linux 上使用 yuzu 模拟 Nintendo Switch 试玩王国之泪

王国之泪5月12日发售&#xff0c;DLC 玩家已经造出各种脑洞大开的东西了&#xff0c;但是买的卡带迟迟没有收到&#xff0c;因此&#xff0c;打算使用 yuzu 模拟器先体验一下 yuzu 是一款开源的 Ninetendo Switch 模拟器&#xff0c;支持在 Linux 或者 Windows 平台运行&#…

GoLand 2023 Crack函数的支持

GoLand 2023 Crack函数的支持 增加了对“MIN_BY”和“MAX_BY”函数的支持。 更新了Prisma插件previewFeatures以包含jsonProtocol。 改进了与角度相关的符号的文档-添加了更多关于管道、特性和指令的文档。当您将鼠标悬停在符号上或调用显示文档完成时(F1/CtrlQ)&#xff0c;您…

linux工作目录切换命令文件查看及管理命令

1、查看用户工作目录 2、切换工作目录 这里使用cd命令即可&#xff0c;输入对应的路径就可切换。 如果要返回上一次所处的目录输入 cd - 如果要返回上层目录使用 cd … 返回用户家目录使用 cd ~ 3、查看目录中文件信息命令 使用ls命令可以查看目录中文件信息-a 参数可以…