【Linux】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 源后,清除旧缓存并重新创建新的缓存。

  • 12
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hyt的笔记本

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值