首頁 - 查詢對照
 收藏

命令查看dnf

搜索

dnf

新一代的RPM軟件包管理器

補充說明

DNF 是新一代的rpm軟件包管理器。他首先出現(xiàn)在 Fedora 18 這個發(fā)行版中。而最近,它取代了yum,正式成為 Fedora 22 的包管理器。

DNF包管理器克服了YUM包管理器的一些瓶頸,提升了包括用戶體驗,內(nèi)存占用,依賴分析,運行速度等多方面的內(nèi)容。DNF使用 RPM, libsolv 和 hawkey 庫進行包管理操作。盡管它沒有預裝在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同時使用 DNF 。你可以在這里獲得關(guān)于 DNF 的更多知識:《 DNF 代替 YUM ,你所不知道的緣由》

DNF 的最新穩(wěn)定發(fā)行版版本號是 1.0,發(fā)行日期是2015年5月11日。 這一版本的額 DNF 包管理器(包括在他之前的所有版本) 都大部分采用 Python 編寫,發(fā)行許可為GPL v2.

安裝 DNF 包管理器

DNF 并未默認安裝在 RHEL 或 CentOS 7系統(tǒng)中,但是 Fedora 22 已經(jīng)默認使用 DNF .

1、為了安裝 DNF ,您必須先安裝并啟用 epel-release 依賴。

在系統(tǒng)中執(zhí)行以下命令:

# yum install epel-release

或者

# yum install epel-release -y

其實這里并沒有強制使用”-y”的理由,相反的,在不使用”-y”的情況下,用戶可以在安裝過程中查看到底有哪些東西被安裝進了系統(tǒng)。但對于沒有這個需求的用戶,您可以在 YUM 中使用”-y”參數(shù)來自動安裝所有東西。

2、使用 epel-release 依賴中的 YUM 命令來安裝 DNF 包。在系統(tǒng)中執(zhí)行以下命令:

# yum install dnf

然后, DNF 包管理器就被成功的安裝到你的系統(tǒng)中了。接下來,是時候開始我們的教程了!在這個教程中,您將會學到27個用于 DNF 包管理器的命令。使用這些命令,你可以方便有效的管理您系統(tǒng)中的 RPM 軟件包。現(xiàn)在,讓我們開始學習 DNF 包管理器的27條常用命令吧!

查看 DNF 包管理器版本

用處:該命令用于查看安裝在您系統(tǒng)中的 DNF 包管理器的版本

# dnf –version

!Check-DNF-Version

查看系統(tǒng)中可用的 DNF 軟件庫

用處:該命令用于顯示系統(tǒng)中可用的 DNF 軟件庫

# dnf repolist

!Check-All-Enabled-Repositories

查看系統(tǒng)中可用和不可用的所有的 DNF 軟件庫

用處:該命令用于顯示系統(tǒng)中可用和不可用的所有的 DNF 軟件庫

# dnf repolist all

!3

列出所有 RPM 包

用處:該命令用于列出用戶系統(tǒng)上的所有來自軟件庫的可用軟件包和所有已經(jīng)安裝在系統(tǒng)上的軟件包

# dnf list

!4

列出所有安裝了的 RPM 包

用處:該命令用于列出所有安裝了的 RPM 包

# dnf list installed

!5

列出所有可供安裝的 RPM 包

用處:該命令用于列出來自所有可用軟件庫的可供安裝的軟件包

# dnf list available

!6

搜索軟件庫中的 RPM 包

用處:當你不知道你想要安裝的軟件的準確名稱時,你可以用該命令來搜索軟件包。你需要在”search”參數(shù)后面鍵入軟件的部分名稱來搜索。(在本例中我們使用”nano”)

# dnf search nano

!7

查找某一文件的提供者

用處:當你想要查看是哪個軟件包提供了系統(tǒng)中的某一文件時,你可以使用這條命令。(在本例中,我們將查找”/bin/bash”這個文件的提供者)

# dnf provides /bin/bash

!8

查看軟件包詳情

用處:當你想在安裝某一個軟件包之前查看它的詳細信息時,這條命令可以幫到你。(在本例中,我們將查看”nano”這一軟件包的詳細信息)

# dnf info nano

!9

安裝軟件包

用處:使用該命令,系統(tǒng)將會自動安裝對應的軟件及其所需的所有依賴(在本例中,我們將用該命令安裝nano軟件)

# dnf install nano

!10

升級軟件包

用處:該命令用于升級制定軟件包(在本例中,我們將用命令升級”systemd”這一軟件包)

# dnf update systemd

!11

檢查系統(tǒng)軟件包的更新

用處:該命令用于檢查系統(tǒng)中所有軟件包的更新

# dnf check-update

!12

升級所有系統(tǒng)軟件包

用處:該命令用于升級系統(tǒng)中所有有可用升級的軟件包

# dnf update 或 # dnf upgrade

!13

刪除軟件包

用處:刪除系統(tǒng)中指定的軟件包(在本例中我們將使用命令刪除”nano”這一軟件包)

# dnf remove nano 或 # dnf erase nano

!14

刪除無用孤立的軟件包

用處:當沒有軟件再依賴它們時,某一些用于解決特定軟件依賴的軟件包將會變得沒有存在的意義,該命令就是用來自動移除這些沒用的孤立軟件包。

# dnf autoremove

!15

刪除緩存的無用軟件包

用處:在使用 DNF 的過程中,會因為各種原因在系統(tǒng)中殘留各種過時的文件和未完成的編譯工程。我們可以使用該命令來刪除這些沒用的垃圾文件。

# dnf clean all

!16

獲取有關(guān)某條命令的使用幫助

用處:該命令用于獲取有關(guān)某條命令的使用幫助(包括可用于該命令的參數(shù)和該命令的用途說明)(本例中我們將使用命令獲取有關(guān)命令”clean”的使用幫助)

# dnf help clean

!17

查看所有的 DNF 命令及其用途

用處:該命令用于列出所有的 DNF 命令及其用途

# dnf help

!18

查看 DNF 命令的執(zhí)行歷史

用處:您可以使用該命令來查看您系統(tǒng)上 DNF 命令的執(zhí)行歷史。通過這個手段您可以知道在自您使用 DNF 開始有什么軟件被安裝和卸載。

# dnf history

!19

查看所有的軟件包組

用處:該命令用于列出所有的軟件包組

# dnf grouplist

!20

安裝一個軟件包組

用處:該命令用于安裝一個軟件包組(本例中,我們將用命令安裝”Educational Software”這個軟件包組)

# dnf groupinstall ‘Educational Software’

!21

升級一個軟件包組中的軟件包

用處:該命令用于升級一個軟件包組中的軟件包(本例中,我們將用命令升級”Educational Software”這個軟件包組中的軟件)

# dnf groupupdate ‘Educational Software’

!22

刪除一個軟件包組

用處:該命令用于刪除一個軟件包組(本例中,我們將用命令刪除”Educational Software”這個軟件包組)

# dnf groupremove ‘Educational Software’

!23

從特定的軟件包庫安裝特定的軟件

用處:該命令用于從特定的軟件包庫安裝特定的軟件(本例中我們將使用命令從軟件包庫 epel 中安裝 phpmyadmin 軟件包)

# dnf –enablerepo=epel install phpmyadmin

更新軟件包到最新的穩(wěn)定發(fā)行版

用處:該命令可以通過所有可用的軟件源將已經(jīng)安裝的所有軟件包更新到最新的穩(wěn)定發(fā)行版

# dnf distro-sync

重新安裝特定軟件包

用處:該命令用于重新安裝特定軟件包(本例中,我們將使用命令重新安裝”nano”這個軟件包)

# dnf reinstall nano

!26

回滾某個特定軟件的版本

用處:該命令用于降低特定軟件包的版本(如果可能的話)(本例中,我們將使用命令降低”acpid”這個軟件包的版本)

# dnf downgrade acpid

樣例輸出:

Using metadata from Wed May 20 12:44:59 2015
No match for available package: acpid-2.0.19-5.el7.x86_64
Error: Nothing to do.

原作者注:在執(zhí)行這條命令的時候, DNF 并沒有按照我期望的那樣降級指定的軟件(“acpid”)。該問題已經(jīng)上報。

總結(jié)

DNF 包管理器作為 YUM 包管理器的升級替代品,它能自動完成更多的操作。但在我看來,正因如此,所以 DNF 包管理器不會太受那些經(jīng)驗老道的 Linux 系統(tǒng)管理者的歡迎。舉例如下:

  1. 在 DNF 中沒有 –skip-broken 命令,并且沒有替代命令供選擇。
  2. 在 DNF 中沒有判斷哪個包提供了指定依賴的 resolvedep 命令。
  3. 在 DNF 中沒有用來列出某個軟件依賴包的 deplist 命令。
  4. 當你在 DNF 中排除了某個軟件庫,那么該操作將會影響到你之后所有的操作,不像在 YUM 下那樣,你的排除操作只會咋升級和安裝軟件時才起作用。

工具說明:

推薦工具:

工具標簽:

對照查詢