天天學一個 Linux 命令(113):dnf

命令簡介

DNF (Dandified Yum) 是新一代的RPM軟件包管理器。centos

DNF 包管理器克服了 YUM 包管理器的一些瓶頸,提高了包括用戶體驗,內存佔用,依賴分析,運行速度等多方面的內容。DNF 使用 RPM, libsolv 和 hawkey 庫進行包管理操做,Fedora22 已經默認使用 DNF。緩存

[root@centos7 ~]# dnf
-bash: dnf: command not found
#CentOS 安裝
#安裝 epel-release 依賴:
[root@centos7 ~]# yum install epel-release
 
#安裝 DNF 包:
[root@centos7 ~]# yum install dnf

配置文件所在目錄 :/etc/dnf/dnf.confbash

爲何要捨棄 Yum 而用 DNF?

有三個主要緣由:ide

  • Yum 沒有 API 文檔。這意味着開發者須要作更多的工做。Yum 開發者寫一個調用函數都須要查看 Yum 的代碼庫,使開發變得緩慢。
  • Fedora 將會過渡到 Python3,但 Yum 卻沒有這個能力,而 DNF 既能夠使用 Python2,也能夠在 Python3 環境下運行。
  • 依賴解決能力長期是 Fedora 軟件包管理的阿喀硫斯之踵。DNF 使用基於 SAT 的依賴問題解決方法,與 SUSE 和 OpenSUSE 的 Zypper 相似。

語法格式

dnf [options] [command] [package ...]

選項說明

#與YUM 基本保持一致,少數用法有區別
--version  #查看DNF包管理器版本
help       #查看全部的DNF命令及其用途
help <command>  #獲取命令的使用幫助
history         #查看 DNF 命令的執行歷史
repolist        #查看系統中可用的DNF軟件庫
search <package>     #搜索軟件庫中的RPM包
list installed       #列出全部安裝的RPM包
list available       #列出全部可安裝的RPM包
info <package>       #查看軟件包詳情
provides <file>      #查找某一文件的提供者
install <package>    #安裝軟件包及其所需的全部依賴
update <package>     #升級軟件包
remove <package>     #刪除軟件包
reinstall <package>  #從新安裝特定軟件包
distro-sync   #更新軟件包到最新的穩定發行版
check-update  #檢查系統全部軟件包的更新
update        #升級全部系統軟件包
clean all     #刪除緩存的無用軟件包

應用舉例

DNF 安裝、卸載函數

[root@centos7 ~]# dnf install package
[root@centos7 ~]# dnf remove  package

#升級軟件
[root@centos7 ~]# dnf update
 
#升級系統
[root@centos7 ~]# dnf upgrade
 
#清除 RPM 包緩存
[root@centos7 ~]# dnf clean packages

查看 dnf 版本:ui

[root@centos7 ~]# dnf --version
4.0.9
  Installed: dnf-0:4.0.9.2-2.el7_9.noarch at Mon 29 Mar 2021 09:58:48 AM EST
  Built    : CentOS BuildSystem <http://bugs.centos.org> at Wed 07 Apr 2021 03:52:38 PM EST

  Installed: rpm-0:4.11.3-43.el7.x86_64 at Thu 20 Aug 2020 02:49:31 PM EST
  Built    : CentOS BuildSystem <http://bugs.centos.org> at Wed 01 Apr 2020 04:21:52 AM EST

相關文章
相關標籤/搜索