当前位置: 首页 > news >正文

Linux dnf 包管理工具使用教程

简介

dnf 是基于 Red Hat Linux 发行版的下一代包管理工具,它代替 yum 提供更好的性能、更好的依赖处理和更好的模块化架构。

基础语法

dnf [options] [command] [package]

常用命令用法

更新元数据缓存
sudo dnf check-update# 检查已安装的包是否有可用的更新
更新所有安装的包到最新的版本
sudo dnf update
更新所有安装的包到最新的版本且移除过时的包
sudo dnf upgrade
安装指定的包
sudo dnf install <package_name>
安装多个包
sudo dnf install <package1> <package2>
安装指定的包版本
sudo dnf install <package_name-version>
移除指定的包
sudo dnf remove <package_name>
移除包和它未使用的依赖包
sudo dnf autoremove
通过关键词搜索指定的包
dnf search <keyword>
显示包的详细信息
dnf info <package_name>
列出所有可用的包组
dnf group list
安装一组包
sudo dnf group install "<group_name>"
移除一组包
sudo dnf group remove "<group_name>"
列出所有仓库源
dnf repolist
启用指定的仓库
sudo dnf config-manager --set-enabled <repo_name>
禁用指定的仓库
sudo dnf config-manager --set-disabled <repo_name>
清除所有缓存的数据
sudo dnf clean all
仅清除过期的缓存数据
sudo dnf clean expire-cache
列出所有已安装的包
dnf list installed
列出所有可用的包
dnf list available
列出指定的已安装的包
dnf list <package_name>
包降级到上一个版本
sudo dnf downgrade <package_name>
查看包操作的历史记录
dnf history
撤销指定的操作
sudo dnf history undo <transaction_id>
重做指定的操作
sudo dnf history redo <transaction_id>

配置文件

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 <module_name>
启用指定的模块
sudo dnf module enable <module_name>
禁用指定的模块
sudo dnf module disable <module_name>

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 <package_name>
解除锁定包版本
sudo dnf versionlock delete <package_name>

linux

http://www.lryc.cn/news/507484.html

相关文章:

  • Java 创建线程的方式有哪几种
  • 计算机的错误计算(一百八十七)
  • 12. 最大括号深度
  • 进程与线程以及如何查看
  • BlueLM:以2.6万亿token铸就7B参数超大规模语言模型
  • Webpack学习笔记(4)
  • 28、论文阅读:基于像素分布重映射和多先验Retinex变分模型的水下图像增强
  • 5.interview-self-introduction
  • 高性能MySQL-查询性能优化
  • 如何有效修复ffmpeg.dll错误:一站式解决方案指南
  • 8086汇编(16位汇编)学习笔记00.DEBUG命令使用解析及范例大全
  • 查看mysql的冷数据配置比例
  • 【Java基础面试题028】Java中的hashCode和equals方法,与==操作符有什么区别?
  • 在C#中测试比较目录的不同方法以查看它们有哪些共同的文件
  • harbor离线安装 配置https 全程记录
  • C++简明教程(文章要求学过一点C语言)(5)
  • Halcon单相机+机器人=眼在手上#标定心得
  • 【hackmyvm】Diophante 靶场
  • C++类的继承关系中什么时候要用到上行转换和下行转换
  • Ubuntu 22.04永久保存路由
  • 数据结构十大排序之(冒泡,快排,并归)
  • OpenFeign源码
  • sql server索引优化语句
  • 深度学习之超分辨率算法——SRGAN
  • 16.2、网络安全风险评估技术与攻击
  • 【项目管理】GDB调试
  • ChatGPT生成接口测试用例(一)
  • 2024 年 IA 技术大爆发深度解析
  • 如何进行js后台框架搭建(树形菜单,面包屑,全屏功能,刷新功能,监听页面刷新功能)
  • 多目标优化常用方法:pareto最优解