【Linux】yum(工具篇)
文章目录
- 前言:什么是软件包
- yum 的介绍
- yum源
- yum源的配置
- 第三方源的配置
- 官方源的配置
- 镜像站点
- 安装wget包
- 备份本地yum源
- 配置网易yum源
- 重新生成yum缓存
前言:什么是软件包
- 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.
- 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.
- 软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系.
- yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat, Centos等发行版上.
yum 的介绍
YUM 是一个命令行软件包管理工具,主要用于基于 RPM 的 Linux 发行版(如 CentOS、Red Hat Enterprise Linux、Fedora 等)。YUM 是 “Yellowdog Updater, Modified” 的缩写。它的主要功能包括:
- 自动解决依赖关系:YUM 能够自动解决安装软件包时遇到的依赖问题。
- 简化软件管理:用户可以轻松地安装、更新和删除软件包。
- 支持多个仓库:YUM 支持从多个软件仓库(repositories)下载和安装软件包。
- 易于更新系统:通过简单的命令,用户可以轻松地更新系统中的所有软件包。
常用的 YUM 命令包括:
-
yum list | grep <软件包名>:查找软件包。
-
yum install <软件包名>:安装软件包。
-
yum remove <软件包名>:删除软件包。
-
yum update <软件包名>:更新软件包。
-
yum search <关键词>:搜索软件包。
-
yum info <软件包名>:显示软件包的详细信息。
yum源
YUM 提供了一个简单而强大的方式来管理系统的软件包,特别适合服务器和需要频繁更新的软件环境。
YUM 源(YUM Repository)是存储软件包及其相关元数据的服务器。YUM 源为 YUM 工具提供软件包的下载地址和必要的依赖信息,确保在安装或更新软件时能够自动处理依赖关系。通过配置 YUM 源,用户可以从特定的服务器或镜像站点下载和安装软件包。
YUM 源的主要组成部分:
软件包:实际的 RPM 软件包文件。
元数据:描述软件包的文件,包括包名、版本、依赖关系等信息。
配置 YUM 源:
YUM 源配置文件通常位于 /etc/yum.repos.d/
目录下,每个源都有一个 .repo 后缀的文件。每个文件包含一个或多个 YUM 源的配置信息。我们打开这个文件来看一看
配置文件中的关键字段:
- [base]:源的唯一标识符,可以是任意名称。
- name:对源的描述。
- baseurl:源的 URL 地址,可以是 HTTP、FTP 或本地文件路径。
- enabled:是否启用该源(1 表示启用,0 表示禁用)。
- gpgcheck:是否进行 GPG 签名验证(1 表示启用,0 表示禁用)。
- gpgkey:GPG 公钥的 URL 地址,用于验证软件包的签名。
使用 YUM 源:
配置好 YUM 源后,可以使用 YUM 命令进行软件包管理。例如:
yum repolist:列出已配置的所有 YUM 源。
yum install <软件包名>:从已配置的 YUM 源安装软件包。
常用的 YUM 源:
官方源:由操作系统发布方提供的官方软件包源。
第三方源:由社区或其他组织提供的软件包源,如 EPEL(Extra Packages for Enterprise Linux)。
配置和管理好 YUM 源,可以确保系统的软件包管理更加高效和灵活。
yum源的配置
第三方源的配置
配置第三方源,如epel
,我们直接使用yum下载就好
yum install epel-release
官方源的配置
镜像站点
清华大学开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/
网易开源镜像站:https://mirrors.163.com/
阿里开源镜像站:https://developer.aliyun.com/mirror/
安装wget包
wget
是一个用于从网络上下载文件的命令行工具,支持 HTTP、HTTPS 和 FTP 协议。它是 GNU 项目的一部分,非常适合在终端或脚本中使用,尤其是在需要批量下载文件或在不稳定的网络环境下进行下载时
yum -y install wget
-O
:将下载的文件保存为指定的文件名。-c
:断点续传。-r
:递归下载。-l
:递归下载的层级深度。--limit-rate=<rate>
:限制下载速度。-b
:后台下载。- e <command>
:执行一个命令,例如设置代理。
备份本地yum源
在配置系统文件之前,为了防止后续的操作中出现纰漏,所以最好还是将我们要动的文件先拷贝一份
配置网易yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.163.com/.help/CentOS7-Base-163.repo
重新生成yum缓存
// 删除缓存数据
yum clean all// 创建元数据缓存
yum makecache
在 Linux 中, yum clean all
命令的作用是清除 Yum 缓存中的所有数据。
具体来说,它会执行以下操作:
- 清除软件包缓存:删除本地存储的已下载软件包的信息。
- 清除元数据缓存:包括软件包的描述、依赖关系、版本等相关的元数据信息。
执行这个命令有助于解决 Yum 在操作过程中可能出现的缓存相关问题,例如缓存数据损坏、过期或与实际软件源不一致等,从而确保 Yum 能够获取最新和准确的软件包信息来进行安装、更新等操作。但需要注意的是,执行该命令后,再次执行 Yum 操作时可能需要重新下载相关数据。
在 Linux 中, yum makecache
的作用是生成 Yum 缓存。
它会从配置的软件源获取软件包的元数据(如软件包的名称、版本、依赖关系等),并将这些信息缓存在本地,以加快后续的 Yum 操作(如软件包的查询、安装、更新等)的速度。
通过生成缓存,Yum 在后续执行相关任务时,可以更快地获取所需的信息,而不必每次都从软件源重新获取,从而提高了操作的效率。
如果更新 Yum 源但不清除缓存且不重新创建缓存,可能会出现以下情况:
- 可能会导致 Yum 在获取软件包信息时使用旧的、不准确的缓存数据,从而无法获取到最新的软件包版本和相关信息,可能导致安装或更新软件时出现错误或使用过时的软件版本。
- 由于缓存中的元数据与新的 Yum 源不一致,可能会出现依赖关系解析错误,影响软件的正常安装和更新。
- 部分新添加到源中的软件包可能不会在 Yum 的操作中显示,因为缓存中没有它们的相关信息。
所以,为了确保 Yum 能够准确、有效地从更新后的源获取软件信息,建议在更新 Yum 源后,清除旧缓存并重新创建新的缓存。
相关文章:

【Linux】yum(工具篇)
文章目录 前言:什么是软件包yum 的介绍yum源yum源的配置第三方源的配置官方源的配置镜像站点安装wget包备份本地yum源配置网易yum源重新生成yum缓存 前言:什么是软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程…...

3GPP入门
官网地址 3GPP – The Mobile Broadband Standard 协议下载链接 Directory Listing /ftp/specs/archive 总纲 重点series Signalling protocols ("stage 3") - user equipment to network24 series信令Radio aspects25 series3G 基础LTE (Evolved UTRA), LTE-Adva…...
FFmpeg内存对齐简述
目录 引文 行字节数的计算 ffmpeg中的align ffmpeg中的linesize 内容参考 引文 在ffmpeg的使用过程中有时会发现align这个参数,那么这个参数代表什么意思,不同的值会产生什么影响呢,详见下文。 行字节数的计算 理解内存对齐之前首先要…...
手机号码归属地查询接口如何对接?(一)
一、什么是手机号码归属地接口? 通过手机号查询归属地信息、是否虚拟运营商等。 二、手机号码归属地接口适用哪些场景? 例如:市场营销领域 (1)精准营销:企业可以通过手机号归属地查询接口了解客户的大致…...

DDei在线设计器-加载数据
加载数据 本示例演示了怎样加载已有的JSON到设计器中。 如需了解详细的API教程以及参数说明,请参考DDei文档 外部数据JSON demo.vue <script setup lang"ts"> import DDeiEditorView from "ddei-editor"; import { DDeiCoreStandLayou…...

NetLLM: Adapting Large Language Models for Networking.
目录 NetLLM: Adapting Large Language Models for Networking.GlossaryNotesINTRODUCTIONThe Main Roadmap so farNew Opportunities and ChallengesDesign and Contributions BACKGROUNDLearning-Based Networking AlgorithmsLarge Language Models MOTIVATIONNETLLM DESIGNM…...

基于Yolov8面部七种表情检测与识别C++模型部署
表情识别 七种表情识别是一个多学科交叉的研究领域,它结合了心理学、认知科学、计算机视觉和机器学习等学科的知识和技术。 基本概念 表情的定义:表情是人们在情绪体验时面部肌肉活动的结果,是人类情感交流的基本方式之一。基本表情理论&a…...
未确认融资费用含义及会计处理流程
文章目录 一、含义二、会计处理流程2.1、初始计量2.2、后续计量2.3、报表列式 三、实务中的注意事项 一、含义 未确认融资费用: 由于企业现有资金不足,购买资产时选择分期支付款项,导致实际支付的款项大于资产的购入价值,两者的差额就是由于…...
Linux配置go程序为service后台开机自启动
1.编写需要启动的项目路径以及简单配置 sudo nano /etc/systemd/system/go.service#定义服务的元数据和依赖关系。 [Unit] #这是对服务的简短描述。 DescriptionMy Go Service #network.target 是一个虚拟目标,它表示网络服务已经初始化完成。该指令告诉 systemd 在…...

汇舟问卷:完成16份调查,挣了40美金,换算后美滋滋
这个世界有太多的人30岁,35岁以后,当初没有去做自己想做的工作,没有花时间去坚持想做的工作,他们在选择这份想做的事业的前提被自己的父母朋友爱人阻断了。 他们告诉你,要努力的做好现在的工作,争取升职…...

Nacos 202407月RCE漏洞(0day)与复现
免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 一、背景与…...

Dynamo修改共享参数绑定的分组——群问题整理005
Hello大家好!我是九哥~ 今天继续给大家分享一些短平快的小教程,是来自群里面的问题。 问题005:Dynamo修改共享参数绑定的分组 今天看到群里询问如何修改参数所在的分组,查了下API,项目参数是不行的,不过共享参数是允许ReInsert()的,那么就好办了。 然后在Document下…...

聚焦汽车软件开发与测试:静态代码扫描、单元测试与集成测试等方面的实践应用
2024年7月18-19日,龙智携汽车软件开发及管理解决方案创新亮相2024 ATC汽车软件与安全技术周。龙智技术支持部负责人&Atlassian认证专家叶燕秀、龙智功能安全高级工程师景玉鑫在活动主会场联合发表了精彩演讲,分享推动汽车软件开发与功能安全的创新实…...

「队列」实现FIFO队列(先进先出队列|queue)的功能 / 手撕数据结构(C++)
概述 队列,是一种基本的数据结构,也是一种数据适配器。它在底层上以链表方法实现。 队列的显著特点是他的添加元素与删除元素操作:先加入的元素总是被先弹出。 一个队列应该应该是这样的: --------------QUEUE-------------——…...
C++ STL中 `set` 和 `multiset` 简单对比
在 C STL 中,set 和 multiset 都是用于存储唯一或重复元素的关联容器,但它们在处理元素的唯一性和特性方面有显著的区别。以下是这两个容器的详细比较: 1. 数据结构 set:基于红黑树(自平衡的二叉搜索树)实…...
代码随想录算法训练营Day20 | Leetcode 235 二叉搜索树的最近公共祖先 Leetcode 701 二叉搜索树中的插入操作
Leetcode 235 二叉搜索树的最近公共祖先 题目链接:235. 二叉搜索树的最近公共祖先 - 力扣(LeetCode) 代码随想录题解:代码随想录 (programmercarl.com) 思路:相比普通二叉树更简单,因为二叉搜索树的节点…...

第九届世界3D渲染大赛:赛程安排、赛事规则
第九届世界3D渲染大赛即将拉开帷幕,汇聚全球顶尖CG艺术家,展现最具有视觉盛宴的CG创作。那么该赛事的行程如何安排呢,赛事规则又是什么呢?本篇整理了赛事安排、赛事规则等内容,希望帮助大家。 赛事主题:Kin…...
RocketMQ5.0 Consumer Group
消费者分组的概念 消费者分组(Consumer Group)是指一组消费同一类消息的消费者实例。每个消费者分组有一个唯一的名称,用于标识该分组。消费者分组的设计使得消息能够被多个消费者实例并行消费,同时确保每条消息只被一个消费者实例…...

vulnhub之serial
这次我们来做这个靶场 项目地址https://download.vulnhub.com/serial/serial.zip 使用vm新建虚拟机 以下为注意事项 第一步,收集资产 扫描靶场ip netdiscover -i eth0 -r 192.168.177.0/24 抓个包 扫描目录 看到了cookie中有一个user Tzo0OiJVc2VyIjoyOntzOj…...
卷积神经网络(CNN)简单原理与简单代码实现
卷积神经网络(CNN)简单原理与简单代码实现 卷积神经网络(CNN)简单原理基本原理卷积层(Convolutional Layer):激活层(Activation Layer):池化层(Po…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...

《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...

微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...

AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...