【Linux】yum(工具篇)

news2024/12/23 23:36:14

文章目录

  • 前言:什么是软件包
  • 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” 的缩写。它的主要功能包括:

  1. 自动解决依赖关系:YUM 能够自动解决安装软件包时遇到的依赖问题。
  2. 简化软件管理:用户可以轻松地安装、更新和删除软件包。
  3. 支持多个仓库:YUM 支持从多个软件仓库(repositories)下载和安装软件包。
  4. 易于更新系统:通过简单的命令,用户可以轻松地更新系统中的所有软件包。

常用的 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 缓存中的所有数据。

具体来说,它会执行以下操作:

  1. 清除软件包缓存:删除本地存储的已下载软件包的信息。
  2. 清除元数据缓存:包括软件包的描述、依赖关系、版本等相关的元数据信息。

执行这个命令有助于解决 Yum 在操作过程中可能出现的缓存相关问题,例如缓存数据损坏、过期或与实际软件源不一致等,从而确保 Yum 能够获取最新和准确的软件包信息来进行安装、更新等操作。但需要注意的是,执行该命令后,再次执行 Yum 操作时可能需要重新下载相关数据。

在 Linux 中, yum makecache 的作用是生成 Yum 缓存。
它会从配置的软件源获取软件包的元数据(如软件包的名称、版本、依赖关系等),并将这些信息缓存在本地,以加快后续的 Yum 操作(如软件包的查询、安装、更新等)的速度。
通过生成缓存,Yum 在后续执行相关任务时,可以更快地获取所需的信息,而不必每次都从软件源重新获取,从而提高了操作的效率。

如果更新 Yum 源但不清除缓存且不重新创建缓存,可能会出现以下情况:

  1. 可能会导致 Yum 在获取软件包信息时使用旧的、不准确的缓存数据,从而无法获取到最新的软件包版本和相关信息,可能导致安装或更新软件时出现错误或使用过时的软件版本。
  2. 由于缓存中的元数据与新的 Yum 源不一致,可能会出现依赖关系解析错误,影响软件的正常安装和更新。
  3. 部分新添加到源中的软件包可能不会在 Yum 的操作中显示,因为缓存中没有它们的相关信息。

所以,为了确保 Yum 能够准确、有效地从更新后的源获取软件信息,建议在更新 Yum 源后,清除旧缓存并重新创建新的缓存。

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

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

相关文章

【学术会议征稿】第三届环境遥感与地理信息技术国际学术会议(ERSGIT 2024)

第三届环境遥感与地理信息技术国际学术会议(ERSGIT 2024) 2024 3rd International Conference on Environmental Remote Sensing and Geographic Information Technology&#xff08;ERSGIT 2024&#xff09; 第三届环境遥感与地理信息技术国际学术会议&#xff08;ERSGIT 20…

LVS-DR集群的部署

LVS-DR集群 LVS-DR(Linux Virtual Server Director Server)工作模式&#xff0c;是生产环境中最常用的一种工作模式。 LVS-DR工作原理 LVS-DR 模式&#xff0c;Director Server 作为群集的访问入口&#xff0c;不作为网关使用&#xff0c;节点 DirectorServer 与 Real Serve…

zabbix7.0TLS-01-部署服务端

文章目录 1 介绍1.1 架构1.2 主要概念和名词1.3 最新 7.0 TLS 版本的部分新特性更灵活的资源发现和管理 2 官方部署指导地址3 在 Rocky Linux 9 上安装 zabbix3.1 安装软件包3.2 创建初始化数据库3.3 配置zabbix-server3.4 启动Zabbix server和agent进程3.5 默认监听端口3.6 访…

Linux中Samba服务配置和管理

文章目录 一、Samba介绍1.1、Samba是什么1.2、Samba的核心功能1.3、Samba的主要组件1.4、Samba的工作流程1.5、Samba主要配置文件smb.conf 二、Samba安装2.1、更新yum源2.2、安装Samba客户端和服务器软件包2.3、启动Samba 三、Samba的使用3.1、设置Samba服务的全局选项3.2、tes…

Simulink模型开发中的一些自动化方法

随着Simulink模型的产品化开发进程&#xff0c;许多模型开发人员会关心模型的建模自动化问题。比如如何对模型中的元素进行批量查找和修改&#xff1b;如何构建自己的建模规则对模型进行检查&#xff1b;如何实现测试自动化等。在这些使用场景中我们都需要了解一些Simulink函数…

Puppeteer-py:Python 中的无头浏览器自动化

1. 引言 在当今快速发展的互联网时代&#xff0c;自动化测试和数据抓取变得越来越重要。Puppeteer-py 作为一个 Python 库&#xff0c;提供了一种简单而强大的方法来控制无头浏览器&#xff0c;实现网页的自动化操作。无论是进行端到端的测试&#xff0c;还是抓取动态生成的数…

公司新来的两个Java后端,因题背太熟轻松过面试?

以前面试是背八股文&#xff0c;而2024年的后端面试都是流行问场景题&#xff01;建议大家把面试想简单一点&#xff0c;顺的场景题直接给有需要的人&#xff0c;希望能对大家有所帮助&#xff01; 由于平台篇幅原因&#xff0c;很多java面试资料内容展示不了&#xff0c;需要…

【HarmonyOS NEXT星河版开发学习】小型测试案例03-QQ音乐登录

个人主页→VON 收录专栏→鸿蒙开发小型案例总结​​​​​ 基础语法部分会发布于github 和 gitee上面&#xff08;暂未发布&#xff09; 前言 本案例使用的还是一些基础的语法&#xff0c;主要是知道如何去布局以及分析&#xff0c;Harmony的布局方式也是特别多&#xff0c;没必…

java基础 之 重写equals时为什么要重写hashCode

文章目录 前言回答了解哈希hashCode()总结 前言 了解equals戳这里→java基础 之 equals和的区别 请记住这句话&#xff1a;两个对象相同&#xff0c;哈希码一定相同。哈希码相同&#xff0c;两个对象不一定相同。 回答 只重写equals()方法&#xff0c;不重写hashCode()方法&…

【漏洞复现】致远互联FE协作办公平台 apprvaddNew.jsp SQL注入

文章目录 0x00 漏洞描述影响范围 0x01 测绘工具0x02 漏洞复现0x03 Nuclei检测脚本0x04 修复建议0x05 免责声明 0x00 漏洞描述 致远互联FE协作办公平台是一款为企业提供全方位协同办公解决方案的产品。 在受影响的版本中&#xff0c;攻击者可以未授权访问/witapprovemanage/app…

Animate软件动画类型简介

在Animate软件中&#xff0c;有三种基本的补间动画和一种逐帧动画&#xff0c;这里就简单讲一下这几种动画的概念。 FlashASer&#xff1a;AdobeAnimate2021软件零基础入门教程https://zhuanlan.zhihu.com/p/633230084 FlashASer&#xff1a;实用的各种Adobe Animate软件教程…

Java第一个程序的开发

开发三步骤 编写: a.创建一个文本文档,将后缀名改成.java,变成一个java文件 b.注意:我们需要将文件的后缀名显示出来 编译: a.命令:javac java文件名.java b.注意:javac会将java文件编译,生成一个.class文件(字节码文件),jvm运行只认class文件 运行: a.命令:java class文件名…

开发一个自己的VSCode插件

1、前言 对于一个前端开发者来说&#xff0c;开发工具&#xff0c;最常用的应该就是VSCode了&#xff0c;因为它免费&#xff0c;速度快&#xff0c;提供了丰富了插件等优点&#xff0c;使得越来越多的前端开发者都来使用它了&#xff0c;在开发的时候如果有丰富的插件提供支持…

Spring Cloud微服务项目集成MyBatis

在现代软件开发中&#xff0c;微服务架构已经成为一种流行的解决方案&#xff0c;它能够将应用程序拆分成多个小的、独立的服务。每个服务负责一个特定的业务功能&#xff0c;并可以独立部署和扩展。Spring Cloud是一个提供各种工具和框架以支持微服务开发的开源框架&#xff0…

【工具】Sublime配置Anaconda的Python环境的简单方法

1 背景 Sublime Text对Python特别友好&#xff0c;自带Python编译器。只需CtrlB就能编译并控制台输出&#xff0c;特别适合小脚本的调试。 在安装了Anaconda后&#xff0c;如何使用Sublime Text调用Anaconda的Python以及Anaconda附带的众多实用的库呢&#xff1f; 也很简单。…

一个全新低代码快速开发平台,基于Activiti7和Vue3全开放式流程,简洁且强大(附源码)

前言 在当今数字化时代&#xff0c;企业面临着快速变化的市场环境和日益复杂的业务需求。现有的软件开发模式往往存在开发周期长、成-本高、迭代速度慢等问题&#xff0c;难以满足企业对快速响应市场变化的需求。此外&#xff0c;传统的开发平台往往缺乏灵活性和扩展性&#x…

servlet内存马

参考视频&#xff1a;java内存马专题1-servlet内存马 创建javaweb项目&#xff0c;勾选servlet 我们可以将idea给的注释写法&#xff0c;改到web.xml里面 <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://xmlns.jcp.org/xm…

C++详解->函数模板+类模版

文章目录 前言1、反泛型编程2、函数模板(1)、函数模板概念(2)、函数模板定义格式(3)、函数模板实例化(4)函数模板参数匹配原则 3、类模版(1)类模板实例化(2)类模板实现Stack&#xff08;压/出栈函数&#xff09; 前言 此篇主要描述函数模板的概念、格式以及实例化等&#xff1b…

AppInventor做的APP支持安卓14吗?

目前MIT最新版本也是Android13&#xff0c;我们与mit同步更新。如果官方支持14我们会第一时间跟进。不过&#xff0c;根据用户反馈&#xff0c;蓝牙相关的好像不兼容~ 有关安卓 14 的补充&#xff1a;根据反馈&#xff0c;是支持14的&#xff0c;不过需要手动开启蓝牙权限 …

【HarmonyOS】鸿蒙应用实现截屏

【HarmonyOS】鸿蒙应用实现截屏 组件截屏 通过componentSnapshot的get函数&#xff0c;将需要截图的组件设置id传进去即可。 import { componentSnapshot } from kit.ArkUI; import { image } from kit.ImageKit;/*** 截图*/ Entry Component Preview struct SnapShotPage {S…