APT vs. DNF vs. YUM:Linux 包管理器比較
APT、DNF 和 YUM 是 Linux 新手可能會遇到的三個包管理器。那么在可用性和性能方面哪一個更好呢?
在 Linux 上使用命令行添加或刪除程序不是必需的,但它比使用圖形應用程序更快。許多人發(fā)現(xiàn),在他們的 Linux 之旅的某個階段,他們最終會打開一個終端來安裝新的應用程序或系統(tǒng)更新。
APT 和 DNF 是該工作最受歡迎的兩個包管理器。這兩個程序非常相似,但它們的功能確實存在一些差異。就讓我們一探究竟吧。
了解 APT 和 DNF
APT 和 DNF 有很多共同點,并且在許多函數(shù)中共享相似的語法。如果您已經(jīng)熟悉其中一個,那么學習另一個可能不會有困難。如果你是一個完全的新手,請知道這兩個包管理器是更容易學習的,特別是與 Arch Linux 和其他基于 Arch 的發(fā)行版中不太直觀的 Pacman 包管理器相比。
APT 是 Advanced Package Tool 的縮寫。它充當 Debian 的默認包管理器,并且可以擴展為基于 Debian 的 Linux 發(fā)行版(如 Ubuntu)。由于 Ubuntu 是最流行的 Linux 發(fā)行版,并且有許多基于 Ubuntu 的發(fā)行版,因此 APT 是我們許多人首先遇到的包管理器。Linux 中的軟件有不同的格式,APT 尤其適用于 DEB 包格式。
DNF 是 Fedora 和基于 Fedora 的發(fā)行版(例如 Red Hat Enterprise Linux 和 CentOS)中的默認包管理器。DNF 使用 RPM 包格式。
DNF 與 YUM
DNF 的名稱不是首字母縮寫詞。這三個字母是“Dandified YUM”的縮寫。
DNF 是對 YUM 的改寫,“Yellowdog Updater, Modified”。YUM 本身已經(jīng)是對最初為 Yellow Dog Linux 開發(fā)的“Yellowdog UPdater”或 YUP 的重寫。
雖然您可能會看到 YUM 在舊系統(tǒng)上使用,但它已停止使用,取而代之的是 DNF?,F(xiàn)在沒有太多理由去再探索 YUM。
APT 和 DNF 命令示例
讓我們從我們許多人在安裝新的 Linux 發(fā)行版后執(zhí)行的首要任務之一開始——下載系統(tǒng)更新。
下載系統(tǒng)更新
在 APT 中,這由兩個命令組成。
sudo apt update
sudo apt upgrade
現(xiàn)在讓我們來分析下。
sudo為您提供對系統(tǒng)的管理訪問權限。沒有它,您的命令將由于缺乏權限而失敗并顯示錯誤消息。
update命令從可用的軟件源下載有關軟件包的元數(shù)據(jù),以便您的計算機知道要請求的版本。
一旦您的本地數(shù)據(jù)庫是最新的,那么就該下載和安裝最新的軟件了。這就是update命令的用武之地。
要使用 DNF 安裝系統(tǒng)更新,請運行:
sudo dnf update
或者
sudo dnf upgrade
每當您開始系統(tǒng)更新或安裝軟件時,DNF 都會自動檢查元數(shù)據(jù)。因此,update和upgrade命令執(zhí)行相同的功能,您可以隨意互換使用它們。
搜索包
假設你想安裝一個程序,但你不知道你的發(fā)行版使用的程序包的確切名稱。在圖形應用程序中,你可以瀏覽可用的軟件,但在命令行中,你必須執(zhí)行而是基于文本的搜索。
在這種情況下,無論您使用的是 APT 還是 DNF,您只需要記住一個命令,并且您可能會猜到它。如果要搜索名為“package”的程序,只需鍵入:
sudo apt search package
或者
sudo dnf search package
安裝軟件
與執(zhí)行搜索一樣,使用 APT 或 DNF 安裝程序的命令是相同的。
在 APT 中:
sudo apt install package
在 DNF 中:
sudo dnf install package
與 APT 相比,DNF 的一個優(yōu)勢是能夠安裝您從網(wǎng)上手動下載的 RPM。您可以使用相同的install命令執(zhí)行此操作,但包含 RPM 的完整路徑而不是包名稱。
sudo dnf install /path/to/package.rpm
相反,要安裝放在 Downloads 文件夾中的 DEB,您不能使用 APT,而必須使用單獨的命令行程序,例如 dpkg。
卸載軟件
有幾種方法可以使用 APT 使軟件消失。第一個也是最直接的選擇是:
sudo apt remove package
要刪除配置文件,除了應用程序數(shù)據(jù),運行:
sudo apt purge package
要讓 APT 自動刪除作為依賴項安裝但不再需要的軟件,您可以使用:
sudo apt autoremove
DNF 沒有直接等效于purge命令,因為基于 RPM 的發(fā)行版不像基于 Debian 的系統(tǒng)那樣管理配置文件。但其他兩個選項是相同的。
要使用 DNF 卸載程序,請運行:
sudo dnf remove package
要自動刪除不需要的依賴項,請使用:
sudo dnf autoremove
DNF 和 APT 相似多于不同
一些長期使用 Linux 的用戶在 APT 和 DNF 之間有著既定的偏好。他們已經(jīng)學會了執(zhí)行更強大操作的語法,并且切換涉及重新學習他們已經(jīng)知道的內容。
但是對于新人來說,這兩個包管理器基本相同。它們的區(qū)別很微妙,例如 DNF 在安裝軟件或檢查更新之前會自動下載包信息。
如您在最前面的三個屏幕截圖中所見,這兩個包管理器也以不同的方式呈現(xiàn)信息。
然而,兩者都是幾乎即時運行的命令行程序,等待時間更多地與您的互聯(lián)網(wǎng)連接和您連接的服務器的速度有關。對于我們大多數(shù)人來說,訪問不同的包管理器并不是從一個 Linux 發(fā)行版切換到另一個發(fā)行版的理由。APT 與 DNF:您應該使用哪個?
您使用 APT 還是 DNF 在很大程度上取決于您使用的發(fā)行版。這意味著,對于大多數(shù) Linux 用戶來說,選擇權在我們身上。但是,如果您確實有足夠強的偏好,您可以根據(jù)它是使用 APT 還是 DNF 來選擇您的發(fā)行版。
兩個包管理器都不比另一個更強大或更強大。因此,無論您堅持哪一種,都可以很好地學習。如果有一天你確實需要切換,這樣做并不是那么困難。