一、YUM工具的使用
yum可以说是一个管理rpm软件包的前端工具,其基于rpm软件包进行管理,能够从指定服务器自动下载rpm软件包并进行安装,可以自动处理依赖关系,并一次安装所有需要的软件包。在RHEL本地操作系统中设置相应的软件仓库地址,即可使用yum软件包管理器。yum软件包管理器提供了查询、安装、删除某一个、某一组甚至全部软件包的命令,简单易懂。
yum软件包管理器的特点如下:
(1)便于管理大量的系统更新问题。其能自动解决软件包的依赖问题,能更方便地添加、删除、更新rpm软件包。
(2)可以同时配置多个软件仓库,且可以在多个软件仓库中定位软件包。
(3)配置文件非常简洁,只需“/etc/yum.conf”和“/etc/yum.repos.d/*.repo”两个文件。
(4)保持与rpm数据库的一致性。
(5)有一个比较详细的log,可以查看何时升级、安装了什么软件包等。
1.安装
使用yum命令安装rmp软件包时,将查询数据库中是否有该软件包,若有,则检查其依赖、冲突关系并给出提示,询问是否同时安装依赖软件包或删除冲突软件包。
yum命令的语法格式如下:yum [选项] [命令] [软件包名]
使用yum命令安装rmp软件包的选项为“install”,“yum install”命令表示获取并安装软件包,包括其所有依赖项,如下图所示。
使用yum命令安装rmp软件包组的命令是“yum group install”,该命令能够安装一个组,同时安装其必选和默认的软件包,以及它们依赖的软件包,如右图所示。
2.升级
使用yum命令升级rmp软件包的选项为“update”,“yum update”命令用于获取并安装指定软件包的新版本,包括所有依赖项。通常该命令适当保留配置文件,如果认为旧文件在更新后无法正常使用,则可能对其进行重命名。如果没有指定软件包名称,它将安装所有相关的更新软件包,如图下图所示。
3.查询
可以使用“yum list”命令显示已安装的软件包,如下图所示。
3.删除
使用yum命令删除软件包时,只能删除rpm格式的软件包。和安装时一样,yum软件包管理器也会先对rpm数据库进行查询,给出解决依赖关系的提示。
使用yum命令删除rmp软件包的选项为“remove”,如右图所示。若要删除指定软件包组中的软件包,则使用“yum group remove”命令。
4.其他查询相关命令如下:
可以使用“yum search all”命令根据提供的摘要字段找到关键字并列出软件包。
可以使用“yum info”命令查询软件包的详细信息。
可以使用“yum provides”命令显示指定路径的软件包。
使用“yum group list”命令可以显示已安装软件包组和可用软件包组的名称。
使用“yum group info”命令显示软件包组的详细信息,列出必选、默认和可选的软件包名称。
使用“yum history”可以显示安装和删除事务的摘要。
二、dnf软件包管理器
从CentOS 8开始,系统默认的软件包管理器是dnf,系统提供的yum命令仅为dnf命令的软链接。dnf是dandified yum的简称,是基于rpm软件包的Linux发行版本的软件包管理器。
dnf与yum的区别在于:
(1)yum禁止删除正在使用的内核,而dnf允许删除所有内核,包括正在使用的内核;
(2)在更新软件包时,yum不进行依赖包相关性的检查,而dnf如果检查到存在不相关的依赖包,则不会进行软件包更新。
(3)yum在解决依赖包问题时,存在性能较差、内存占用大等问题,而dnf采用了由 SUSE 开发的“libsolv”库,用以提升依赖包解析性能,其依赖包解析速度比yum更快,且比yum消耗更少内存。
(4)dnf代码比yum简单,约有29000行代码,而yum代码有59000多行。
dnf使维护软件包组变得容易,能够自动解决依赖性问题,能够解决yum软件包的一些瓶颈,优化内存使用,执行速度等,它不仅解决了yum待解决的问题,还添加了许多新功能,以实现rpm软件包管理。
使用dnf命令安装软件包时,虽然取消了yum的配置方法,改变了软件包的安装方式,但是还能兼容yum的配置文件和命令。dnf软件仓库所在的目录依旧为“/etc/yum.repos.d/”,只不过需要配置“.repo”文件,dnf源的配置方法和yum源一样。
dnf的常用命令如下表所示。
dnf的常用命令
命 令 | 说 明 |
dnf install | 安装软件包 |
dnf update | 检查并升级可用软件包 |
dnf search | 搜索软件包 |
dnf repolist | 列出可用的软件源 |
dnf clean | 删除缓存 |
dnf remove | 删除软件包 |
在使用的过程中,可以执行“man dnf”命令查看帮助,还可以执行“dnf --help”命令查看dnf使用的命令参数。
dnf命令与yum命令的用法相似,下面以“dnf repilist”“dnf --version”“dnf list”命令为例,演示dnf命令的使用方法,如下图所示。
dnf repilist:用于列出默认情况下启用的所有软件仓库。添加“-v”选项时,可列出更详细的信息。此外,它不会强制同步过期的元数据,可以使用“--refresh”命令强制同步开关启用所有的软件仓库。
dnf --version:用于查看安装在系统中的dnf软件包管理器的版本
dnf list:用于列出系统中所有来自软件仓库的可用软件包和所有已经安装在系统上的软件包。