dnf包管理器使用指南与技巧总结

一、命令结构概览

基本语法

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

二、核心子命令详解

1. 安装相关命令

install- 安装软件包
sudo dnf install package_name sudo dnf install package1 package2 package3 # 多个包 sudo dnf install package-1.0-1.el8.x86_64 # 指定版本 sudo dnf install @group_name # 安装组 sudo dnf install --allowerasing package # 允许删除冲突包

选项:

  • -y, --assumeyes:自动回答 yes

  • --nogpgcheck:跳过 GPG 签名检查

  • --skip-broken:跳过有依赖问题的包

  • --best:尝试安装最佳可用版本

  • --setopt=option=value:临时设置配置选项

reinstall- 重新安装
sudo dnf reinstall package_name sudo dnf reinstall package* # 使用通配符

2. 更新相关命令

update- 更新软件包
sudo dnf update # 更新所有包 sudo dnf update package_name # 更新指定包 sudo dnf update --security # 仅安全更新 sudo dnf update-minimal # 最小化更新 sudo dnf update --bugfix # 仅错误修复更新 sudo dnf update --enhancement # 仅功能增强更新
upgrade- 升级系统
sudo dnf upgrade # 升级所有包(类似 update) sudo dnf upgrade --refresh # 刷新元数据后升级 sudo dnf system-upgrade # 发行版升级(Fedora)

3. 移除相关命令

remove- 移除软件包
sudo dnf remove package_name sudo dnf remove package1 package2 sudo dnf remove --oldinstallonly # 移除旧的内核包
erase- 删除软件包(与 remove 同义)
sudo dnf erase package_name
autoremove- 自动移除
sudo dnf autoremove # 移除不需要的依赖 sudo dnf autoremove --dry-run # 模拟运行

4. 查询与搜索命令

search- 搜索软件包
dnf search keyword # 在包名和摘要中搜索 dnf search all keyword # 在所有字段搜索 dnf search --showduplicates keyword # 显示所有版本 dnf search -C keyword # 使用缓存搜索
list- 列出软件包
dnf list installed # 已安装的包 dnf list available # 可用的包 dnf list updates # 可更新的包 dnf list recent # 最近添加的包 dnf list extras # 外部安装的包 dnf list obsoletes # 已废弃的包 dnf list --showduplicates package # 显示所有版本
info- 显示包信息
dnf info package_name dnf info --available package # 仅显示可用包信息 dnf info --installed package # 仅显示已安装包信息
provides/whatprovides- 查找文件所属包
dnf provides /usr/bin/vim dnf provides "*/vim" dnf provides "MIME::Entity" # 查找 Perl 模块
repoquery- 仓库查询(强大工具)
dnf repoquery -l package # 列出包文件 dnf repoquery --requires package # 列出依赖 dnf repoquery --whatrequires package # 列出反向依赖 dnf repoquery --changelog package # 显示变更日志 dnf repoquery --srpm package # 查询源码包 dnf repoquery --duplicates # 列出重复包

5. 仓库管理命令

repolist- 列出仓库
dnf repolist # 启用的仓库 dnf repolist all # 所有仓库 dnf repolist enabled # 启用的仓库 dnf repolist disabled # 禁用的仓库 dnf repolist -v # 详细信息
repomanager- 仓库管理
dnf config-manager --add-repo URL # 添加仓库 dnf config-manager --enable repo_id # 启用仓库 dnf config-manager --disable repo_id # 禁用仓库 dnf config-manager --save # 保存设置
makecache- 创建缓存
sudo dnf makecache # 刷新所有缓存 sudo dnf makecache --timer # 定时刷新 sudo dnf makecache fast # 快速刷新

6. 依赖与验证命令

deplist- 依赖列表
dnf deplist package_name # 列出包依赖 dnf deplist --arch x86_64 package # 指定架构
check- 检查问题
sudo dnf check # 检查包数据库 sudo dnf check --dependencies # 检查依赖
verify- 验证包
sudo dnf verify package # 验证包完整性 sudo dnf verify all # 验证所有包

7. 历史与回滚命令

history- 操作历史
dnf history # 列出历史 dnf history list # 列出历史(同上) dnf history info 5 # 查看第5次操作详情 dnf history summary # 摘要信息 dnf history stats # 统计信息
历史操作
sudo dnf history undo 5 # 撤销第5次操作 sudo dnf history redo 5 # 重做第5次操作 sudo dnf history rollback 5 # 回滚到第5次操作前

8. 组管理命令

group- 软件组管理
dnf group list # 列出组 dnf group list hidden # 包括隐藏组 dnf group info "Development Tools" # 组信息 sudo dnf group install "Development Tools" sudo dnf group remove "Development Tools" sudo dnf group upgrade "Development Tools"

9. 环境管理命令

environment- 环境管理(RHEL/CentOS)
dnf environment list # 列出环境 dnf environment info "Minimal Install" sudo dnf group install environment "Minimal Install"

10. 模块管理命令(RHEL8+/CentOS8+)

module- 模块管理
dnf module list # 列出模块 dnf module info module_name # 模块信息 sudo dnf module enable module:stream # 启用模块流 sudo dnf module install module:stream/profile sudo dnf module remove module sudo dnf module reset module # 重置模块

11. 清理命令

clean- 清理缓存
sudo dnf clean all # 清理所有缓存 sudo dnf clean packages # 清理包缓存 sudo dnf clean metadata # 清理元数据 sudo dnf clean dbcache # 清理数据库缓存 sudo dnf clean expire-cache # 清理过期缓存

三、高级选项详解

1. 输出控制选项

dnf -q install package # 安静模式 dnf -v install package # 详细模式 dnf -d 5 install package # 调试级别5 dnf -e 0 install package # 错误级别0 dnf --setopt=tsflags=noscripts # 不运行脚本

2. 安装选项

dnf install --downloadonly package # 仅下载不安装 dnf install --downloaddir=/path # 指定下载目录 dnf install --exclude=package # 排除特定包 dnf install --obsoletes # 允许废弃包

3. 更新选项

dnf update --security --bugfix # 安全和错误修复 dnf update --advisory=ADVISORY_ID # 特定公告 dnf update --cve=CVE-2023-XXXXX # 特定CVE

4. 配置选项

dnf --config=/path/to/config.conf # 指定配置文件 dnf --installroot=/mnt/sysroot # 指定安装根目录 dnf --releasever=8 # 指定发行版版本

四、实用命令组合示例

1. 安全更新检查

# 检查安全更新但不安装 sudo dnf updateinfo list updates security sudo dnf updateinfo info security sudo dnf updateinfo list cves

2. 包比较

# 比较两个版本 dnf repoquery --changelog package | head -50 rpmdev-vercmp package-version1 package-version2

3. 批量操作

# 批量安装包(从文件读取) sudo dnf install $(cat packages.txt) # 批量删除 sudo dnf remove $(dnf repoquery --installed --qf "%{name}" | grep pattern)

4. 回滚特定包

# 查看包版本历史 rpm -q --changelog package_name | head -20 # 降级到特定版本 sudo dnf downgrade package-version

五、配置文件详解

主配置文件:/etc/dnf/dnf.conf

[main] gpgcheck=1 installonly_limit=3 clean_requirements_on_remove=True best=False skip_if_unavailable=True retries=3 timeout=30 max_parallel_downloads=10 # 插件设置 plugins=1 pluginpath=/usr/lib/dnf/plugins # 仓库设置 cachedir=/var/cache/dnf keepcache=False

仓库配置:/etc/yum.repos.d/*.repo

[baseos] name=Fedora $releasever - BaseOS baseurl=https://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch metadata_expire=86400

六、性能优化技巧

1. 并行下载设置

# 临时设置 sudo dnf --setopt=max_parallel_downloads=20 install package # 永久设置 echo "max_parallel_downloads=20" >> /etc/dnf/dnf.conf

2. 使用本地镜像

# 生成镜像列表 sudo dnf install dnf-plugin-fastestmirror # 或手动指定镜像 sudo dnf --setopt=baseurl=http://local-mirror/path install

3. 缓存优化

# 保持包缓存 echo "keepcache=True" >> /etc/dnf/dnf.conf # 定期清理 sudo dnf clean expire-cache

七、故障排除命令

1. 依赖问题解决

# 强制解决依赖 sudo dnf --allowerasing install package # 跳过特定依赖 sudo dnf --skip-broken install package # 重建依赖数据库 sudo rpm --rebuilddb sudo dnf makecache

2. 锁定包版本

# 锁定包防止更新 sudo dnf versionlock add package sudo dnf versionlock list sudo dnf versionlock delete package

3. 检查冲突

# 检查包冲突 sudo dnf check # 验证包完整性 sudo rpm -Va # 查看问题详情 sudo dnf deplist problem_package

八、脚本编写示例

1. 自动化安装脚本

#!/bin/bash set -e # 更新系统 sudo dnf update -y # 安装基础包 sudo dnf install -y @base @development-tools # 安装特定软件 packages="vim git wget curl net-tools" sudo dnf install -y $packages # 清理缓存 sudo dnf clean all

2. 监控更新脚本

#!/bin/bash # 检查可用更新 updates=$(dnf check-update --quiet | wc -l) if [ $updates -gt 0 ]; then echo "有 $updates 个可用更新" dnf check-update --security else echo "系统已是最新" fi

九、注意事项

  1. 谨慎使用-y选项:生产环境中建议手动确认

  2. 备份重要数据:重要操作前建议备份

  3. 理解依赖关系:避免随意删除包

  4. 定期清理:防止缓存占用过多空间

  5. 验证源可靠性:只使用可信的仓库源

十、获取帮助

man dnf # 手册页 dnf --help # 简要帮助 dnf <command> --help # 子命令帮助 dnf help history # 特定子命令帮助 dnf shell # 进入交互式shell

这个详解涵盖了 dnf 的主要功能和高级用法,适用于从初学者到系统管理员的各个级别用户。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1169655.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2026年口碑好的温州商务车租车,温州大巴55座租车,温州商务车出租公司用户好评名录 - 品牌鉴赏师

引言在当今出行需求日益多样化的时代,租车服务成为了许多人商务出行、旅游度假等活动的重要选择。温州作为经济活跃、旅游资源丰富的城市,其租车市场也呈现出蓬勃发展的态势。为了帮助消费者在众多的租车公司中挑选到…

红队视角:内网是如何被一步步打穿的?

红队视角&#xff1a;内网是如何被一步步打穿的&#xff1f; 在数字化的世界里&#xff0c;信息已成为最具战略价值的资产之一&#xff0c;而与之相伴的信息安全威胁也愈发复杂多样&#xff0c;黑客攻击、恶意软件感染、数据泄露等安全事件频繁发生&#xff0c;给个人、企业乃…

RPM命令详解与技巧总结

一、RPM基础概念1.1 什么是RPMRPM&#xff08;Red Hat Package Manager&#xff09;&#xff1a;红帽包管理器用于安装、卸载、升级、查询和验证软件包文件扩展名&#xff1a;.rpm1.2 RPM包命名规范name-version-release.architecture.rpm 示例&#xff1a;nginx-1.18.0-2.el7.…

海沧装修大揭秘!这几家公司你绝对不能错过 - 品牌测评鉴赏家

海沧装修大揭秘!这几家公司你绝对不能错过一、装修的烦恼与困惑 家人们!当初我在海沧买房时满心欢喜,终于要拥有属于自己的温馨小窝了。而装修作为打造理想家的关键一步,我也是做足了功课,踩过不少摸索的弯路后,…

集美装修不踩坑!4家宝藏装修公司,风格、性价比全拿捏 - 品牌测评鉴赏家

集美装修不踩坑!4家宝藏装修公司,风格、性价比全拿捏一、开篇:集美装修人的 “痛点暴击”,谁懂? 在集美,装修就像一场充满未知的冒险,让每一位业主都操碎了心😩。看着毛坯房,脑海里满是对未来家的憧憬,可真…

黑客比普通程序员高在哪里

黑客比普通程序员高在哪里? 99%的程序员&#xff1a;搜&#xff0c;拿&#xff0c;改。纯自己手写个贪吃蛇小游戏都费劲。 99%的黑客&#xff1a;下&#xff0c;扫&#xff0c;查。离开下载的工具&#xff0c;徒手找个网页注入点都费劲。 没几个有真本事的。都瞎掰。骗骗小孩…

海沧装修大揭秘:带你找到梦中情司 - 品牌测评鉴赏家

海沧装修大揭秘:带你找到梦中情司一、装修前的迷茫 在海沧,当你拿到新房钥匙,满心欢喜地憧憬着未来温馨小窝的模样时,如何挑选到合适的装修公司,将这份美好憧憬落地,成了每个装修业主最关心的事情。海沧优质装修…

RPM .spec 文件详解

.spec 文件是 RPM 包构建的核心配置文件&#xff0c;包含构建、安装和卸载的所有指令。一、文件结构概览# 1. 导言&#xff08;Preamble&#xff09; - 元数据部分 Name: package-name Version: 1.0.0 Release: 1%{?dist} Summary: 简短描述 L…

2026年分布式供电架构/集中式供电架构/升压站架构制造企业推荐榜:电力系统架构实力供应商精选 - 品牌推荐官

随着能源结构调整和电力系统智能化升级,分布式供电架构、集中式供电架构及升压站架构的制造技术已成为电力行业发展的核心驱动力。本文将结合行业数据与市场调研,为工业、新能源及大型基建项目提供选型参考,并推荐多…

分销商城系统开发流程,分销系统哪个好用2026 - 码云数智

二级分销商城小程序,已成为广大商家实现低成本获客、驱动高复购增长的核心抓手。若想高效搭建该类小程序,无需编码开发、低成本运维的SaaS小程序搭建平台无疑是最优选择。借助成熟的SaaS技术体系,商家仅需1小时即可…

rpmbuild命令详解

1. 基本介绍rpmbuild是用于构建RPM软件包的命令行工具&#xff0c;它根据spec文件中的指令编译源代码并打包成可安装的RPM文件。2. RPM构建目录结构默认的RPM构建目录位于~/rpmbuild/&#xff1a;~/rpmbuild/ ├── BUILD # 编译时临时目录 ├── BUILDROOT # 虚拟安装…

2026同安装修攻略:千达成装饰深度解析,装修小白避坑必备 - 品牌测评鉴赏家

2026同安装修攻略:千达成装饰深度解析,装修小白避坑必备一、开篇引言:2026同安装修,优质本土品牌是关键 1.1 2026同安装修市场趋势:品质需求升级 2026年,同安房地产市场持续向好,新楼盘交付量稳步提升,越来越多…

微软VC运行库合集2005-2026合集 解决软件故障的必备工具

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

学习进度 2

继昨天完成 Spark 本地环境搭建并初步接触 Spark Shell 后,今天的学习重心放在了RDD 的核心操作逻辑上,还动手实现了大数据领域的入门经典案例 ——WordCount。今天的学习首先从区分 RDD 的两类核心操作开始。昨天在…

【拯救HMI】HMI设计中的色彩与视觉语言

一、色彩在HMI设计中的作用色彩是HMI设计中最有力的视觉效果&#xff0c;它不仅影响界面工具的美观性&#xff0c;更在信息传达、用户引导、情感表达等方面发挥关键作用。信息传递功能&#xff1a;色彩是传递信息最快速的方式。在工业控制系统中&#xff0c;红色通常表示快速警…

2026必备10个降AI率工具,本科生速看!

2026必备10个降AI率工具&#xff0c;本科生速看&#xff01; AI降重工具&#xff1a;论文写作的隐形助手 在当今学术写作中&#xff0c;AI生成内容&#xff08;AIGC&#xff09;已经成为一种常见现象&#xff0c;尤其对于本科生而言&#xff0c;如何有效降低AI痕迹、提升论文原…

【拯救HMI】工业HMI与消费级HMI的差异

一、应用场景的根本差异工业HMI和消费级HMI虽然都属于人机界面设计主流&#xff0c;但它们的应用场景、设计目标、用户群体存在根本性差异&#xff0c;这些差异决定了设计方法的不同。使用环境的差异&#xff1a;工业HMI通常安装在工厂、化工厂的工业环境中&#xff0c;可能面临…

翔安装修大揭秘:哪家公司才是你的梦中情“装”? - 品牌测评鉴赏家

翔安装修大揭秘:哪家公司才是你的梦中情“装”?一、翔安装修市场现状剖析 近年来,翔安的发展可谓日新月异,城市建设如火如荼。随着众多新楼盘的拔地而起以及二手房交易的日益活跃,装修市场迎来了前所未有的繁荣。…

VC运行库下载_微软VC运行库合集(全版本)

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

一位副主任护师的真实分享:如何找到真正高效的案例分析题库? - 医考机构品牌测评专家

一位副主任护师的真实分享:如何找到真正高效的案例分析题库?作为一名在临床护理岗位耕耘了十二年的主管护师,去年我踏上了冲刺副主任护师职称的征程。这条路远比我想象中更具挑战——它不仅是对专业知识的考核,更是…