yum 是什么

Yum(Yellowdog Updater Modified)是一个在 Linux 操作系统上用于管理软件包的包管理工具,它主要用于在 Red Hat Enterprise Linux (RHEL)、CentOS、Fedora 和其他基于 RPM 的 Linux 发行版上搜索、下载安装、更新和移除(卸载)软件包

在某种程度上,可以说yum与Linux系统中的包管理器(例如Fedora和CentOS的yum/dnf、Debian的apt等)在功能上类似于iOS中的App Store。它们都提供了一种方便的方式来搜索、安装、更新和管理软件包。

【Linux】 yum —— Linux 的软件包管理器-LMLPHP

什么是软件包

在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序

但是这样太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成windows上的安装程序)放在服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,然后就可以直接进行安装了

软件包和软件包管理器,就好比 “应用App” 和 “应用商店App Store” 这样的关系.

查看软件包

通过 yum list 命令可以罗列出当前一共有哪些软件包. 由于包的数目可能很多很多,这里我们需要使用 grep 命令只筛选出我们想要查看的包

例如:yum list | grep lrzsz
结果如下:

【Linux】 yum —— Linux 的软件包管理器-LMLPHP
❗注意:

  • “x86_64” 后缀表示64位系统的安装包。“i686” 后缀表示32位系统安装包. 选择包时要和系统匹配
  • 中间那一列是软件包的版本号,版本号通常由三部分组成:主版本号、次版本号和修订版本号,它们之间用连字符 - 分隔开来。但是这里没有修订版本号(上图中,主版本号(0.12.20)- 次版本号(36))
  • “el7” 表示操作系统发行版的版本。 “el7” 表示的是 Centos7 / redhat7 ( “el6” 表示 Centos6/redhat6)
  • 最后一列,os 表示的是 “软件源” 的名称类似于 “华为应用商店”, “小米应用商店” 这样的概念

*(了解)除了os,在使用yum或者dnf包管理器时,常见的软件源名称还可以是:

epel:Extra Packages for Enterprise Linux(企业版Linux的额外软件包)。提供了一些官方发布的软件包之外的额外软件包。

remi:由一个叫做 Remi Collet 的社区成员维护,提供了一些官方软件源中没有的软件包,通常用于Web开发环境。

rpmfusion:提供了一些官方软件源中没有的软件包,包括一些专有的或受限制的软件。

centos:CentOS 特有的软件源,类似于 Red Hat Enterprise Linux 的 os 软件源,包含 CentOS 自带的软件包。

base:同样类似于 os,是基本软件源的一个别名,提供了基本的操作系统组件。

updates:提供了操作系统更新的软件源,包含了安全补丁和更新的软件包。

extras:提供了额外的软件包,不是操作系统的一部分,但是可以作为补充提供。

docker:提供了与 Docker 容器相关的软件包。

yum 命令行工具

yum 提供了一个简单而强大的命令行接口,用于管理软件包。

用户可以使用 yum 命令来搜索、安装、更新和移除软件包,以及处理软件包之间的依赖关系。
例如:

安装软件包:yum install package_name
更新软件包:yum update package_name
移除软件包:yum remove package_name

(package_name为软件包名↑)

❗注意事项:

  • 安装软件时由于需要向系统目录中写入内容,一般需要 sudo提权 或者 切到 root 账户下才能完成
  • yum安装软件只能一个安装完成再装另一个 → 正在yum安装一个软件的过程中,如果尝试用yum安装另外一个软件,yum会报错

yum 配置文件

yum 使用配置文件来管理其行为和设置。

配置文件通常位于/etc/yum.repos.d/ 目录下。
用户可以通过编辑配置文件来修改 yum 的行为(例如添加新的存储库、配置代理服务器等)

yum 凭什么可以支持下载呢?

我们Linux系统里有一些配置文件(我们将其称为yum源),里面的内容就会告诉yum未来我们到哪里下载软件

查看yum源的命令:ls /etc/yum.repos.d/

【Linux】 yum —— Linux 的软件包管理器-LMLPHP

  • repos是 “仓库” 的英文简写(repository,仓库),末尾的d指的是目录

如上图所示,yum源↓

CentOS-Base.repo  CentOS-Epel.repo  epel.repo  epel-testing.repo

yum源包含了很多路径,yum安装时就会根据yum源中所指示的下载路径,查找对应的软件

yum 生态

yum 生态系统拥有庞大的用户社区和丰富的文档资源,我们用户可以通过社区论坛、邮件列表、博客文章等获取帮助和支持。此外,官方文档和教程也提供了详细的指导和使用说明,帮助用户更好地理解和使用 yum 工具

yum 社区

yum 生态系统依赖于一个庞大的社区和贡献者群体。这个社区包括了开源爱好者、Linux 发行版的开发者、系统管理员等不同背景的人士,他们积极参与到 Yum 的开发、测试和文档编写中,共同致力于改进和完善 yum 工具,使其能够更好地满足用户的需求。

yum 的故障排除和资源支持

yum 生态系统提供了丰富的故障排除和支持资源,帮助用户解决在使用 yum 过程中遇到的问题。这些资源包括官方文档、社区论坛、邮件列表、bug 跟踪系统等,用户可以在这些平台上寻求帮助并与其他用户交流经验。

yum 的持续集成和持续交付

为了保证 Yum 的质量和稳定性,开发团队采用持续集成和持续交付的方式进行软件开发和发布。通过自动化测试、代码审查、版本控制等工具和流程,确保每个版本的 Yum 都经过充分测试和验证,从而提供高质量的软件包管理解决方案

03-08 20:36