Linux dnf 包管理工具使用教程

embedded/2024/12/23 5:43:25/

简介

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.ppmy.cn/embedded/147708.html

相关文章

Qt SizePolicy详解:minimum 与 minimumExpanding 的区别

在使用 Qt 进行界面开发时&#xff0c;我们常常需要设置控件的大小策略&#xff08;SizePolicy&#xff09;来控制它们如何在父容器中扩展或收缩。Qt 提供了多种尺寸策略选项&#xff0c;其中 minimum 和 minimumExpanding 是两种常用的扩展策略。虽然它们听起来相似&#xff0…

番外篇 Git 的原理与使用

PS&#xff1a;本篇是个长篇&#xff0c;但是阅读完&#xff0c;可以基本了解 Git 在实际开发中的绝大部分常用操作。 前言&#xff1a;什么是Git 我们在日常工作 / 学习时&#xff0c;对于某些文档 / 代码&#xff0c;可能会存在多个版本需要维护&#xff0c;但是随着版本的…

云连POS-ERP管理系统 download.action存在任意文件读取漏洞

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…

医学AI领域高分热点综述|文献速递·24-12-20

小罗碎碎念 推文速览 第一篇文章系统回顾了人工智能在免疫肿瘤学中预测免疫检查点抑制剂疗效的应用和进展。 第二篇文章综述了新兴的临床样本、模型系统、技术和计算工具在早期癌症研究中的应用&#xff0c;并探讨了如何将这些新见解转化为早期癌症检测和预防的策略。 第三篇…

[数据结构] 链表

目录 1.链表的基本概念 2.链表的实现 -- 节点的构造和链接 节点如何构造? 如何将链表关联起来? 3.链表的方法(功能) 1).display() -- 链表的遍历 2).size() -- 求链表的长度 3).addFirst(int val) -- 头插法 4).addLast(int val) -- 尾插法 5).addIndex -- 在任意位置…

C# 批量替换html里面的http链接

C# 批量替换html里面的http链接 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.T…

PyQt5学习笔记

P95 绝对布局 绝对布局&#xff0c;使用move方法&#xff0c;操作坐标来控件控件的位置。 import sys from PyQt5.QtWidgets import *绝对布局&#xff0c;使用move方法&#xff0c;操作坐标来控件控件的位置。class MyWin(QWidget):def __init__(self):super().__init__()#…

webgame.one 在线红白机FC游戏平台技术架构分析

前言 还记得小时候守在电视机前&#xff0c;手握红白机手柄&#xff0c;沉浸在《魂斗罗》紧张刺激的战斗、《超级马里奥兄弟》奇妙的冒险世界&#xff0c;或是与小伙伴一起在《坦克大战》里并肩作战的美好时光吗&#xff1f;那些经典的 FC 游戏&#xff0c;承载着我们童年最纯…