简介
dnf 是基于 Red Hat Linux 发行版的下一代包管理工具,它代替 yum 提供更好的性能、更好的依赖处理和更好的模块化架构。
基础语法
dnf [options] [command] [package]
常用命令用法
更新元数据缓存
sudo dnf check-update
# 检查已安装的包是否有可用的更新
更新所有安装的包到最新的版本
sudo dnf update
更新所有安装的包到最新的版本且移除过时的包
sudo dnf upgrade
安装指定的包
sudo dnf install
安装多个包
sudo dnf install
安装指定的包版本
sudo dnf install
移除指定的包
sudo dnf remove
移除包和它未使用的依赖包
sudo dnf autoremove
通过关键词搜索指定的包
dnf search
显示包的详细信息
dnf info
列出所有可用的包组
dnf group list
安装一组包
sudo dnf group install "
移除一组包
sudo dnf group remove "
列出所有仓库源
dnf repolist
启用指定的仓库
sudo dnf config-manager --set-enabled
禁用指定的仓库
sudo dnf config-manager --set-disabled
清除所有缓存的数据
sudo dnf clean all
仅清除过期的缓存数据
sudo dnf clean expire-cache
列出所有已安装的包
dnf list installed
列出所有可用的包
dnf list available
列出指定的已安装的包
dnf list
包降级到上一个版本
sudo dnf downgrade
查看包操作的历史记录
dnf history
撤销指定的操作
sudo dnf history undo
重做指定的操作
sudo dnf history redo
配置文件
dnf 主配置文件在 /etc/dnf/dnf.conf
示例配置如下:
[main]
gpgcheck=1 # 确保软件包使用 GPG 密钥签名
installonly_limit=3 # 确保软件包使用 GPG 密钥签名
clean_requirements_on_remove=True # 当删除包时,删除未使用的依赖项。
DNF 模块
模块提供多个软件包的版本
列出可用的模块
dnf module list
安装指定的模块
sudo dnf module install
启用指定的模块
sudo dnf module enable
禁用指定的模块
sudo dnf module disable
DNF 插件
DNF 支持插件扩展额外的功能,如:
dnf-plugins-core:提供如 config-manager 的工具的插件
dnf-plugin-subscription-manager:管理 Red Hat 订阅
安装插件
sudo dnf install dnf-plugins-core
高级用法
并行下载包
在配置文件 /etc/dnf/dnf.conf 中添加如下配置:
max_parallel_downloads=5
锁定包版本阻止更新
sudo dnf versionlock add
解除锁定包版本
sudo dnf versionlock delete