1. 程式人生 > >Ubuntu中apt與apt-get命令的區別

Ubuntu中apt與apt-get命令的區別

Ubuntu 16.04 釋出時,一個引人注目的新特性便是 apt 命令的引入。其實早在 2014 年,apt 命令就已經發布了第一個穩定版,只是直到 2016 年的 Ubuntu 16.04 系統釋出時才開始引人關注。

隨著 apt install package 命令的使用頻率和普遍性逐步超過 apt-get install package,越來越多的其它 Linux 發行版也開始遵循 Ubuntu 的腳步,開始鼓勵使用者使用 apt 而不是 apt-get。

那麼,apt-get 與 apt 命令之間到底有什麼區別呢?如果它們有類似的命令結構,為什麼還需要新的 apt 命令呢?是否 apt 真的比 apt-get 更好?普通使用者應該使用新的 apt 命令還是堅持舊有習慣繼續使用 apt-get 呢?

系統極客將在本文中解釋所有這些問題,我們希望本文結束時,你將會有一個更清晰的瞭解。

apt與apt-get

在開始對比 apt 與 apt-get 命令的區別之前,我們先來看看這兩個命令的背景,以及它們要試圖達到的目的。

Debian 作為 Ubuntu、Linux Mint 和 elementary OS 等 Linux 作業系統的母板,其具有強健的「包管理」系統,它的每個元件和應用程式都內建在系統中安裝的軟體包中。Debian 使用一套名為 Advanced Packaging Tool(APT)的工具來管理這種包系統,不過請不要把它與 apt 命令混淆,它們之間是其實不是同一個東西。

在基於 Debian 的 Linux 發行版中,有各種工具可以與 APT 進行互動,以方便使用者安裝、刪除和管理的軟體包。apt-get 便是其中一款廣受歡迎的命令列工具,另外一款較為流行的是 Aptitude 這一命令列與 GUI 兼顧的小工具。

如果你已閱讀過我們的 apt-get 命令指南,可能已經遇到過許多類似的命令,如apt-cache、apt-config 等。如你所見,這些命令都比較低階又包含眾多功能,普通的 Linux 使用者也許永遠都不會使用到。換種說法來說,就是最常用的 Linux 包管理命令都被分散在了 apt-get、apt-cache 和 apt-config 這三條命令當中。

apt 命令的引入就是為了解決命令過於分散的問題,它包括了 apt-get 命令出現以來使用最廣泛的功能選項,以及 apt-cache 和 apt-config 命令中很少用到的功能。

在使用 apt 命令時,使用者不必再由 apt-get 轉到 apt-cache 或 apt-config,而且 apt 更加結構化,併為使用者提供了管理軟體包所需的必要選項。

簡單來說就是:apt = apt-get、apt-cache 和 apt-config 中最常用命令選項的集合。

apt與apt-get之間的區別

通過 apt 命令,使用者可以在同一地方集中得到所有必要的工具,apt 的主要目的是提供一種以「讓終端使用者滿意」的方式來處理 Linux 軟體包的有效方式。

apt 具有更精減但足夠的命令選項,而且引數選項的組織方式更為有效。除此之外,它預設啟用的幾個特性對終端使用者也非常有幫助。例如,可以在使用 apt 命令安裝或刪除程式時看到進度條。

apt 還會在更新儲存庫資料庫時提示使用者可升級的軟體包個數。

如果你使用 apt 的其它命令選項,也可以實現與使用 apt-get 時相同的操作。

apt和apt-get命令之間的區別

雖然 apt 與 apt-get 有一些類似的命令選項,但它並不能完全向下相容 apt-get 命令。也就是說,可以用 apt 替換部分 apt-get 系列命令,但不是全部。

apt 命令 取代的命令 命令的功能
apt install apt-get install 安裝軟體包
apt remove apt-get remove 移除軟體包
apt purge apt-get purge 移除軟體包及配置檔案
apt update apt-get update 重新整理儲存庫索引
apt upgrade apt-get upgrade 升級所有可升級的軟體包
apt autoremove apt-get autoremove 自動刪除不需要的包
apt full-upgrade apt-get dist-upgrade 在升級軟體包時自動處理依賴關係
apt search apt-cache search 搜尋應用程式
apt show apt-cache show 顯示安裝細節

當然,apt 還有一些自己的命令:

新的apt命令 命令的功能
apt list 列出包含條件的包(已安裝,可升級等)
apt edit-sources 編輯源列表

需要大家注意的是:apt 命令也還在不斷髮展, 因此,你可能會在將來的版本中看到新的選項。

apt-get已棄用?
目前還沒有任何 Linux 發行版官方放出 apt-get 將被停用的訊息,至少它還有比 apt 更多、更細化的操作功能。對於低階操作,仍然需要 apt-get。
我應該使用apt還是apt-get?
既然兩個命令都有用,那麼我該使用 apt 還是 apt-get 呢?作為一個常規 Linux 使用者,系統極客建議大家儘快適應並開始首先使用 apt。不僅因為廣大 Linux 發行商都在推薦 apt,更主要的還是它提供了 Linux 包管理的必要選項。 最重要的是,apt 命令選項更少更易記,因此也更易用,所以沒理由繼續堅持 apt-get。

小結

最後結大家提供兩點使用上的建議:

apt 可以看作 apt-get 和 apt-cache 命令的子集, 可以為包管理提供必要的命令選項。 
apt-get 雖然沒被棄用,但作為普通使用者,還是應該首先使用 apt。