# 历史
每一个linux发行版都有对应的软件包管理器,用于安装,更新,查看,搜索和删除软件包。由于个人管理的服务器版本是centos版, 本期演示centos8 平台的包管理器, 并对比rpm包管理。 在介绍yum包管理器之前,现简单说说rpm。这两者多少存在一些联系
# RPM
rpm 是基于Red Hat系统所设计的包管理工具, 目前基于红帽系统的发行版有. 允许用于在基于红帽的linux平台,安装,更新,查询,删除和验证软件包
- RHEL(红帽企业版)
- Centos
- Fedroa
- openSUSE(基于 suse Enterprise Linux)
- Oracle Linux
- Mageia
# 文件格式
RPM 文件的扩展名为 .rpm。RPM 包由一个存档文件组成,其中包含了一个特定包的库和依赖关系,这些库和依赖关系与系统上安装的其他包不冲突。
# 劣势
依赖解析和包更新(全系统更新/升级)方面,RPM 包管理器有一个突出的限制. 通常,通过rpm安装一组包时,rpm会告诉依赖列表,对于软件包所需的依赖,虽然rpm能够列出包所需要依赖,但是无法安装处理, 需要手动下载安装. 为解决linux安装包的时候依赖问题, 由此诞生了比较优秀的前端软件包管里工具,其中yum就是接下来需要介绍的。
# YUM
Yum 是一个 Linux 操作系统上的自由开源的命令行包管理程序,它使用 RPM 包管理器。Yum 是一个 RPM 的前端工具,可以自动解决软件包的依赖关系。它可以从发行版官方仓库和其他第三方仓库中安装 RPM 软件包。
Yum 允许你在系统中安装、更新、搜索和删除软件包。如果你想让你的系统保持更新,你可以通过 yum-cron 启用自动更新。 此外,如果你需要的话,它还允许你在 yum update 中排除一个或多个软件包。
yum已默认安装,不需要另外安装.
# RPM 、 YUM对照
编号 | RPM | YUM |
---|---|---|
1 | 红帽在 1997 年引入了 RPM | Yellowdog UPdater(YUP)开发于 1999-2001 年,YUM 于 2003 年取代了原来的 YUP 工具 |
2 | RPM 代表 RPM Package manager(原名 Red Hat package manager) | YUM 代表 Yellowdog Updater Modified |
3 | RPM 文件的命名规则如下,httpd-2.4.6-92.el7.x86_64.rpm:httpd - 实际的包名;2.4.6 - 包发布版本号;92 - 包发布子版本号;el7 - Red Hat 版本;x86_64 - 硬件架构;rpm - 文件扩展名 | 后台使用 rpm 数据库 |
4 | 不解析依赖关系,你必须手动安装依赖 | 可以自动解析依赖关系并同时安装它们(任何包都会和它的依赖关系一起安装) |
5 | 允许你同时安装多个版本的软件包 | 不允许,并显示该软件包已经安装 |
6 | 当使用 RPM 命令安装一个软件包时,你必须提供 .rpm 软件包的确切位置 | 你可以安装仓库中的任何软件包,而你只需要知道软件包的名称就可以了 |
7 | RPM 不依赖于 YUM | 它是一个前端工具,在后台使用 RPM 包管理器来管理包 |
8 | RPM 在安装包的管理方面比较难 | YUM 是最简单的管理 RPM 包的方法 |
9 | RPM 不能让你将整个系统升级到最新的版本 | YUM 可以让你将系统升级到最新的版本(例如 7.0 到 7.x 的小版本升级) |
10 | RPM 不能让你自动更新/升级安装在系统上的软件包 | YUM 可以让你自动更新/升级系统上的更新 |
11 | 不使用在线仓库来执行任何操作 | 完全依赖在线仓库来完成所有的工作 |
12 | RPM 是一种包格式,它也是一个底层的包管理器,只做基本的事情 | 这是一个上层的包管理器前端,它可以完成你所需要的一切工作 |