Linux dnf 包管理工具使用教程

唐青枫發表於2024-11-21

簡介

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>

相關文章