目录
一、使用 DNF 管理软件包:
1、 DNF 查找软件:
2、DNF 安装软件:
3、DNF 删除软件:
二、使用 DNF 管理软件包组:
1、DNF 显示组信息:
2、DNF 安装组:
三、使用 DNF 查看事务历史记录:
1、存储 :
2、dnf history:
四、BaseOS 和 AppStream:
1、BaseOS:
2、 Application Stream:
3、通过 DNF 管理模块:
五、DNF 软件存储库:
1、启用红帽软件存储库:
2、本地软件仓库:
上篇文章介绍的 rpm 命令可以用于安装软件包,但不可与软件包存储库一起使用,也不能解决多个源的依赖关系。( RPM 文章点此转跳:https://blog.csdn.net/m0_68756914/article/details/144826175 )
而本篇文章介绍的 DNF ( Dandified YUM )改进了基于 RPM 的软件安装和更新。借助 dnf 命令,我们可以查找、安装、更新、删除以及获取有关软件包及其依赖项的信息。
一、使用 DNF 管理软件包:
DNF 取代了 YUM,作为 RHEL 9 中的软件包管理器。DNF 命令在功能上与 YUM 命令相同。同时,出于兼容性考虑,YUM 命令依然作为 DNF 的符号链接而存在。
1、 DNF 查找软件:
(1)dnf list:
dnf list 命令可显示已安装和可用的软件包。
注:dnf help 命令可显示用法信息。
(2)dnf search:
dnf search KEYWORD 或者 dnf search all KEYWORD 命令列出按名称、摘要字段和描述字段中根据关键字查找到的软件包。
(3)dnf into:
dnf info 后加软件包名可查看软件包的详细信息,包括安装所需的磁盘空间。
(4)dnf provides:
dnf provides 后加路径名可显示与指定路径名匹配的软件包。
2、DNF 安装软件:
(1)dnf install:
dnf install 后加软件包名可获取并安装软件包,包括所有依赖项。
(2)dnf update:
dnf update 加软件包名可升级安装指定软件包的最新版本,包括所有依赖项,如未指定软件包名称,则安装所有更新。
注:1)内核升级可以通过 dnf update kernel 实现,而且会有多个内核共存。
2)dnf list kernel 命令可列出所有已安装和可用的内核。
3)uname 命令可查看当前运行的内核。其中 -r 选项仅显示内核的版本和发行版本;-a 可选项显示内核发行版和其他信息。
3、DNF 删除软件:
dnf remove 加软件包名可删除安装的软件包,包括所有受支持的软件包。
二、使用 DNF 管理软件包组:
dnf 也具有组的概念,即针对特定目的而一起安装的相关软件集合。
组中的软件包可以为 mandatory (安装该组时必须安装)、default (安装该组时通常会安装)、或 optional (安装该组时不予以安装,除非特别要求) 。
1、DNF 显示组信息:
(1)dnf group list:
dnf group list 命令可显示已安装和可用的组的名称。
(2)dnf group into:
dnf group into 命令可显示组信息,将列出必选、默认和可选软件包名称。
2、DNF 安装组:
dnf group install 命令将安装一个组,同时安装其必选、默认以及依赖的软件包。
三、使用 DNF 查看事务历史记录:
1、存储 :
所有安装和删除事务的日志记录在 /var/log/dnf.rpm.log 中。
2、dnf history:
dnf history 命令可显示安装和删除事务的摘要。
(1)dnf history into:
dnf history info 命令可确认事务的信息。
(2)dnf history undo:
dnf history undo 命令可以撤销事务。
四、BaseOS 和 AppStream:
RHEL 9 通过两个主要的软件仓库分发内容,分别为 BaseOS 和 AppStream 。
1、BaseOS:
BaseOS 以 RPM 软件包的形式为 RHEL 提供核心操作系统内容。 BaseOS 组件的生命周期与 RHEL 发行版中的内容相同。
2、 Application Stream:
Application Stream 提供具有不同生命周期的内容,作为模块和传统 RPM 软件包。模块描述了属于一个整体的一组 RPM 软件包,可以包含多个流,使多个版本的应用可供安装。启用模块流后,系统能够访问该模块流中的 RPM 软件包。
注:AppStream 仓库包含两种类型的内容: Module 和传统的 RPM 软件包。
Module 描述了属于一个整体的一组 RPM 软件包,可以包含多个流,使多个版本的应用可供安装。启用Module Stream 后,系统能够访问该 Module Stream 中的RPM 软件包。通常,Module 围绕软件应用或编程语言的特定版本来整理 RPM 软件包。
3、通过 DNF 管理模块:
RHEL 9 支持应用流的模块化功能。可使用 dnf module 命令处理模块化内容,否则,dnf 命令将按照与软件包类似的方式处理模块。
(1)dnf module list 命令可列出可用的模块,以及模块名称、流、配置集和摘要;
(2)dnf module list module-name 命令可列出特定模块的模块流并检索其状态;
(3)dnf module info module-name 命令可显示模块的详细信息;
(4)dnf module provides package 命令可显示哪个模块提供特定的软件包。
五、DNF 软件存储库:
1、启用红帽软件存储库:
系统可以访问众多红帽存储库。
(1) dnf repolist all:
dnf repolist all 命令可列出所有可用的存储库以及其状态。
(2)dnf config-manager 命令可用于启用或禁用仓库。
1)启用仓库:
2)禁用仓库:
2、本地软件仓库:
一些仓库将配置文件和 GPG 公钥作为 RPM 软件包的一部分来提供,以简化它们的安装。
dnf install 命令可以下载并安装这些 RPM 软件包。