yum配置,文件,命令详解

news2024/11/14 11:55:30

前言

yum(Yellowdog Updater Modified)是一个基于 RPM 包管理的工具,广泛用于 CentOS、RHEL、Fedora 等 Linux 发行版的软件包管理。yum 的工作依赖于配置文件,这些文件控制了它的行为和如何从不同的软件源安装、更新和删除软件包。

一、YUM 配置文件

1. YUM 配置文件的位置

YUM 的配置文件主要存储在 /etc/yum.repos.d/ 目录下,每个源有一个 .repo 文件,文件的内容决定了该源的配置。每个 .repo 文件代表一个 YUM 仓库配置。系统的主配置文件是 /etc/yum.conf,不过大部分配置都是通过各个仓库的 .repo 文件来实现的。

2. /etc/yum.conf 文件

/etc/yum.conf 文件是 YUM 的主配置文件,包含了一些全局的设置。它的典型内容如下:

[main]
# 设置 YUM 的缓存目录 
cachedir=/var/cache/yum 
# 设置 YUM 是否会在安装包之前验证 GPG 签名 
gpgcheck=1 
# 是否启用本地缓存,1 表示启用,0 表示禁用 
keepcache=0 
# 设置下载失败时的重试次数 
retries=3 
# 设置 YUM 的最大并发下载数 
# num_threads=10 
# 是否启用插件 
pluginpath=/usr/lib/yum-plugins 
# 启用插件 
plugins=1
  • cachedir: 设置缓存目录,YUM 会将下载的软件包缓存到这个目录中。
  • gpgcheck: 是否检查 GPG 签名,如果设置为 1,YUM 会验证每个 RPM 包的 GPG 签名。
  • keepcache: 是否保留已下载的安装包,0 表示安装后删除,1 表示保留安装包。
  • retries: 如果 YUM 下载失败,重试的次数。
  • pluginpath: 插件目录。
  • plugins: 是否启用插件,1 启用,0 禁用。

3. /etc/yum.repos.d/ 目录中的 .repo 文件

每个 .repo 文件代表一个 YUM 源,其基本格式如下:

[repo_name] 
name=Repository Name 
baseurl=http://path/to/repository 
enabled=1 
gpgcheck=1 
gpgkey=http://path/to/gpgkey
  • [repo_name]:仓库的名称,通常是该源的标识符。
  • name:仓库的描述名称,用于表示该仓库的目的。
  • baseurl:仓库的 URL 地址,指向 RPM 包所在的目录。它可以是 HTTP、FTP 或本地文件路径(例如 file:///path/to/repo/)。
  • enabled:是否启用该仓库,1 表示启用,0 表示禁用。
  • gpgcheck:是否检查 GPG 签名,1 表示启用签名检查,0 表示不检查。
  • gpgkey:用于验证软件包签名的 GPG 公钥 URL。

例如,如果要配置一个阿里云的 YUM 源,可以编辑 /etc/yum.repos.d/CentOS-Base.repo 文件并添加以下内容:

[base] name=CentOS-$releasever - Base baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ 
enabled=1 
gpgcheck=1 
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7 
[updates] name=CentOS-$releasever - Updates baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ 
enabled=1 
gpgcheck=1 
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7

二、常用 YUM 命令详解

yum 命令是用于包管理的工具,下面是一些常见的 YUM 命令及其参数解释。

1. 安装软件包

yum install <package_name>

这个命令用于安装一个或多个软件包。<package_name> 是你想安装的软件包的名称。

例如,安装 vim

yum install vim

安装多个软件包:

yum install vim git wget

2. 卸载软件包

yum remove <package_name>

这个命令用于卸载指定的软件包。你可以提供一个或多个包名。

例如,卸载 vim

yum remove vim

3. 更新软件包

yum update

这个命令会更新所有已安装的软件包到最新版本。

如果只想更新某个特定的软件包:

yum update <package_name>

例如,更新 vim

yum update vim

4. 查看软件包信息

yum info <package_name>

显示软件包的详细信息,包括版本、描述和安装状态。

例如:

yum info vim

5. 搜索软件包

yum search <package_name>

这个命令搜索所有已配置的仓库中,符合 <package_name> 模糊匹配的软件包。

例如,查找与 vim 相关的包:

yum search vim

6. 列出已安装的软件包

yum list installed

列出所有已安装的软件包。

7. 列出可用软件包

yum list available

列出所有可从已启用的仓库中安装的包。

8. 列出可更新的软件包

yum list updates

列出所有可用的更新包。

9. 清除 YUM 缓存

yum clean all

清除 YUM 的缓存目录,删除所有的缓存数据。这个命令可以帮助解决由于缓存数据损坏或不一致导致的安装问题。

yum clean metadata

清除元数据缓存。

10. 生成 YUM 缓存

yum makecache

创建或更新 YUM 缓存。执行此命令后,YUM 将会尝试从所有启用的仓库下载并更新元数据(例如,软件包信息和仓库状态),以便在没有网络的情况下安装软件包。

11. 查看 YUM 仓库

yum repolist

显示已启用仓库的列表及其状态。

如果想查看所有仓库(包括已禁用的),可以使用:

yum repolist all

12. 列出仓库中的软件包

yum list <package_name> --disablerepo=<repo_name>

这个命令会列出指定仓库中是否存在某个软件包。

13. 禁用或启用仓库

/etc/yum.repos.d/ 中每个 .repo 文件都有 enabled 字段。你可以通过以下命令启用或禁用某个仓库:

  • 禁用仓库:
yum --disablerepo=<repo_name> <command>

例如,禁用 base 仓库后执行安装命令:

yum --disablerepo=base install vim
  • 启用仓库:
yum --enablerepo=<repo_name> <command>

三、YUM 源的优先级配置

YUM 源的优先级可以通过 yum-plugin-priorities 插件来设置。如果多个仓库提供相同的软件包,YUM 会优先选择优先级较高的仓库。

  1. 安装 yum-plugin-priorities 插件:

yum install yum-plugin-priorities
  1. 在 .repo 文件中设置优先级:

[repo_name] priority=10

优先级数值越小,优先级越高。priority 数值范围是 1 到 99。

四、总结

  • YUM 配置文件:YUM 配置文件分为 /etc/yum.conf 和 /etc/yum.repos.d/*.repo 文件,/etc/yum.conf 用于全局设置,而 .repo 文件则配置各个仓库的详细信息。
  • YUM 命令:YUM 提供了一系列命令来安装、更新、卸载软件包,管理仓库源,清理缓存等。
  • YUM 源管理:可以通过编辑 .repo 文件添加、修改、删除仓库,也可以控制仓库的启用/禁用以及优先级。

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

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

相关文章

从手动到自动:掌握Shell脚本转换为System服务的魔法!

背景介绍 从 Ubuntu 17.10 版本开始&#xff0c;系统默认不再包含 /etc/rc.local 文件了&#xff0c;这是因为systemd已经成为了主要的系统初始化工具。不过别担心&#xff0c;如果你希望在开机时自动运行一些特定的命令&#xff0c;可以通过创建一个简单的 Shell脚本&#xf…

力扣-Hot100-哈希【算法学习day.30】

前言 ###我做这类文档一个重要的目的还是给正在学习的大家提供方向&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非常非常高滴&am…

【数字静态时序分析】复杂时钟树的时序约束SDC写法

以上图为例&#xff0c;SoC芯片上往往存在几种不同的时钟源&#xff0c;有pll时钟、环振时钟、外部的晶振时钟&#xff0c;在SoC不同的模块或者不同的运行阶段使用的时钟也往往不同&#xff0c;所以在使用的时候&#xff0c;相同的模块会出现选择不同的时钟源的情况。上图的情形…

前端Cypress自动化测试全网详解

Cypress 自动化测试详解&#xff1a;从安装到实战 Cypress 是一个强大的端到端&#xff08;End-to-End, E2E&#xff09;功能测试框架&#xff0c;基于 Node.js 构建&#xff0c;支持本地浏览器直接模拟测试&#xff0c;并具有测试录屏功能&#xff0c;极大地方便了测试失败时的…

Qt_day4_Qt_UI设计

目录 Qt_UI设计 1. Designer 设计师&#xff08;掌握&#xff09; 2. Layout 布局&#xff08;重点&#xff09; 2.1 基本使用 2.2 高级用法 2.3 代码布局&#xff08;了解&#xff09; 3. Designer与C的关系&#xff08;熟悉&#xff09; 4. 基本组件&#xff08;掌握…

杨中科 .Net Core 笔记 DI 依赖注入2

ServiceCollection services new ServiceCollection();//定义一个承放服务的集合 services.AddScoped<iGetRole, GetRole>();using (ServiceProvider serviceProvider services.BuildServiceProvider()) {var list serviceProvider.GetServices(typeof(iGetRole));//获…

机器学习—Additional Layer Types

到目前为止&#xff0c;我们使用的所有神经网络都是密集型的&#xff0c;一层中的每个神经元&#xff0c;上一层的所有激活&#xff0c;事实证明&#xff0c;仅仅使用密集层类型&#xff0c;可以建立一些非常强大的学习算法&#xff0c;并帮助你建立关于神经网络能做什么的进一…

力扣 LeetCode 206. 反转链表(Day2:链表)

解题思路&#xff1a; pre &#xff0c;cur双指针 需要通过tmp暂存cur的下一个位置&#xff0c;以方便cur的下一步移动 class Solution {public ListNode reverseList(ListNode head) {ListNode pre null;ListNode cur head;while (cur ! null) {ListNode tmp cur.next;c…

硬件---4电感---基本概念与特性

一电感是什么 1电感的概念 电感就是一根导线加一个磁性原料。生活中&#xff0c;所有由线圈组成的器件都是电感。 如下图&#xff0c;常见的电感封装&#xff0c;有裸露的也有贴片的。 二电感的基本特性 1流过电感的电流不能发生突变 注意和电容的区别&#xff0c;一个是…

【软件工程】深入理解一下SOA(面向服务的架构)

关于SOA的一些看法 概述SOA的核心特性包括&#xff1a;一、服务自治与独立性二、松耦合与标准化三、服务重用与粒度四、服务可发现与安全 五、其他核心原则SOA的应用领域非常广泛&#xff0c;包括&#xff1a;SOA的一些挑战包括&#xff1a; &#x1f680; SOA在云计算中的应用…

【论文复现】ChatGPT多模态命名实体识别

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀ChatGPT ChatGPT辅助细化知识增强&#xff01;1. 研究背景2. 模型结构和代码3. 任务流程第一阶段&#xff1a;辅助精炼知识启发式生成第二阶段…

隆盛策略正规炒股恒生科技指数跌4.19%,中芯国际跌近8%

查查配分析11月12日,香港恒生指数收跌2.84%,恒生科技指数跌4.19%。中兴通讯跌超9%,中芯国际跌近8%,蔚来跌超6%,美团、京东集团、理想汽车均跌超5%。 11月12日,港股跌幅扩大,恒生科技指数跌超4%,恒生指数跌超3%。 隆盛策略以其专业的服务和较低的管理费用在市场中受到不少关注。…

MFC图形函数学习07——画扇形函数

绘制扇形函数是MFC中绘图的基本函数&#xff0c;它绘制的仍是由椭圆弧与椭圆中心连线构成的椭圆扇形&#xff0c;特例是由圆弧与圆心连线构成的圆扇形。 一、绘制扇形函数 原型&#xff1a;BOOL Pie(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4); …

qt QHttpMultiPart详解

1. 概述 QHttpMultiPart是Qt框架中用于处理HTTP多部分请求的类。它类似于RFC 2046中描述的MIME multipart消息&#xff0c;允许在单个HTTP请求中包含多个数据部分&#xff0c;如文件、文本等。这种多部分请求在上传文件或发送带有附件的邮件等场景中非常有用。QHttpMultiPart类…

SpringBoot使用TraceId日志链路追踪

项目场景&#xff1a; 有时候一个业务调用链场景&#xff0c;很长&#xff0c;调了各种各样的方法&#xff0c;看日志的时候&#xff0c;各个接口的日志穿插&#xff0c;确实让人头大。为了解决这个痛点&#xff0c;就使用了TraceId&#xff0c;根据TraceId关键字进入服务器查询…

SSE (Server-Sent Events) 服务器实时推送详解

Server-Sent Events 一、什么是 SSE ?二、SSE 的工作原理三、SSE 的基本配置1.HTTP 请求和响应头设置2.SSE 字段介绍3.SSE 事件数据流示例 四、SseEmitter 的基本配置1.SseEmitter 介绍及用法2.使用 SseEmitter 示例11)编写核心 SSE Client2)编写 Controller3)前端接收与处理 …

【C++】踏上C++的学习之旅(六):深入“类和对象“世界,掌握编程的黄金法则(一)

文章目录 前言1. "面向过程"和"面向对象"的碰撞1.1 面向过程1.2 面向对象 2. "类"的引入3. "类"的定义3.1 &#x1f349;语法展示&#xff1a;3.2 "类"的两种定义方式3.3 "类"的命名规则 4. 类的访问限定符以及封…

机器学习:梯度提升树(GBDT)——基于决策树的树形模型

梯度提升树&#xff08;Gradient Boosting Decision Trees&#xff0c;GBDT&#xff09;是一种强大的机器学习方法&#xff0c;广泛用于回归和分类任务。它通过构建一系列决策树来优化模型的预测能力&#xff0c;基于梯度提升框架&#xff0c;使得每一棵树都试图纠正前一棵树的…

Spark SQL大数据分析快速上手-伪分布模式安装

【图书介绍】《Spark SQL大数据分析快速上手》-CSDN博客 《Spark SQL大数据分析快速上手》【摘要 书评 试读】- 京东图书 大数据与数据分析_夏天又到了的博客-CSDN博客 Hadoop完全分布式环境搭建步骤-CSDN博客,前置环境安装参看此博文 伪分布模式也是在一台主机上运行&…

github使用基础

要通过终端绑定GitHub账号并进行文件传输&#xff0c;你需要使用Git和SSH密钥来实现安全连接和操作。以下是一个基本流程&#xff1a; 设置GitHub和SSH 检查Git安装 通过终端输入以下命令查看是否安装Git&#xff1a; bash 复制代码 git --version配置Git用户名和邮箱 bash …