首页 / 世界杯吉祥物

Linux dnf 命令

2026-11-04 09:25:51世界杯吉祥物 7184

Linux dnf 命令

Linux 命令大全

dnf (Dandified YUM) 是新一代的 RPM 软件包管理器,用于基于 RPM 的 Linux 发行版(如 Fedora、RHEL 8+、CentOS 8+ 等)。它是 yum 的替代品,提供了更快的依赖解析、更现代的代码库和更好的性能。

dnf 的主要功能包括:

从软件仓库安装、更新和删除软件包

自动解决软件包依赖关系

查询软件包信息

管理软件仓库

dnf 基本语法

dnf 命令的基本语法格式为:

dnf [选项] <命令> [参数]

其中:

[选项]:用于修改 dnf 行为的可选参数

<命令>:要执行的主要操作(如 install、remove 等)

[参数]:命令所需的额外信息(通常是软件包名)

常用 dnf 命令

软件包管理

实例

# 安装软件包

dnf install

# 重新安装软件包

dnf reinstall

# 更新软件包

dnf update

# 更新所有可更新的软件包

dnf update

# 删除软件包

dnf remove

# 删除不需要的依赖项

dnf autoremove

查询操作

实例

# 搜索软件包

dnf search

# 列出已安装的软件包

dnf list installed

# 列出所有可用软件包

dnf list available

# 显示软件包信息

dnf info

# 查看软件包提供的文件

dnf provides

仓库管理

实例

# 列出所有启用的仓库

dnf repolist

# 列出所有仓库(包括禁用的)

dnf repolist all

# 启用仓库

dnf config-manager --enable

# 禁用仓库

dnf config-manager --disable

# 添加新仓库

dnf config-manager --add-repo

系统升级

实例

# 检查系统升级

dnf check-update

# 执行系统升级

dnf upgrade

# 升级到新发行版

dnf system-upgrade

dnf 常用选项

选项

说明

-y

自动回答"yes"

-q

安静模式,减少输出

-v

详细输出

--refresh

在操作前刷新仓库元数据

--nogpgcheck

禁用 GPG 签名检查

--skip-broken

跳过有问题的软件包

--best

尝试安装最佳可用版本

实际应用示例

示例 1:安装开发工具组

实例

# 安装开发工具组(包含gcc、make等)

sudo dnf groupinstall "Development Tools" -y

示例 2:查找并安装特定软件

实例

# 搜索包含nginx的软件包

dnf search nginx

# 安装nginx

sudo dnf install nginx -y

# 启动nginx服务

sudo systemctl start nginx

示例 3:清理缓存

实例

# 清理下载的软件包缓存

sudo dnf clean packages

# 清理所有缓存(元数据和软件包)

sudo dnf clean all

示例 4:查看历史记录

实例

# 列出dnf操作历史

dnf history

# 查看特定事务的详细信息

dnf history info

# 撤销特定事务

dnf history undo

dnf 配置文件

dnf 的主要配置文件位于 /etc/dnf/dnf.conf,常见的配置项包括:

实例

[main]

gpgcheck=1 # 是否检查GPG签名

installonly_limit=3 # 保留的内核版本数量

clean_requirements_on_remove=True # 删除时清理依赖

best=True # 总是尝试安装最佳版本

可以通过以下命令查看当前配置:

dnf config-manager --dump

dnf 与 yum 的比较

特性

dnf

yum

依赖解析算法

libsolv (更快)

自定义 (较慢)

API

稳定

不稳定

内存使用

较低

较高

性能

更快

较慢

插件系统

兼容yum插件

原生插件

历史记录

更详细

基本记录

常见问题解决

1. 依赖冲突

实例

# 尝试自动解决依赖问题

sudo dnf --skip-broken install

# 或者尝试排除特定包

sudo dnf install --exclude=

2. 仓库元数据损坏

实例

# 清理并重建仓库缓存

sudo dnf clean all

sudo dnf makecache

3. 软件包版本锁定

实例

# 锁定软件包防止更新

sudo dnf versionlock add

# 列出锁定的软件包

sudo dnf versionlock list

# 删除锁定

sudo dnf versionlock delete

最佳实践

定期更新系统:

sudo dnf update -y

安装前先搜索:

dnf search <keyword>

查看变更影响:

sudo dnf update --assumeno

使用组命令管理相关软件:

# 列出可用组

dnf group list

# 安装组

sudo dnf groupinstall "组名"

保持仓库清洁:

# 定期清理不需要的包

sudo dnf autoremove

通过本文,你应该已经掌握了 dnf 命令的基本用法和高级技巧。dnf 作为现代 RPM 系统的包管理工具,提供了强大而高效的软件管理能力。建议在实际使用中多尝试不同的命令和选项,逐步熟悉其各种功能。

Linux 命令大全