apt 和 apt-get 之間有什麼區別?

一口Linux發表於2021-02-14

使用ubuntu的朋友一定會接觸一個命令就是apt-get 。
使用該工具安裝各種應用程式那叫一個爽。
在 Ubuntu 16.04 發行後,apt使用漸漸頻繁起來。

那麼,apt-get 與 apt 命令之間到底有什麼區別呢?

如果它們有類似的命令結構,為什麼還需要新的 apt 命令呢?

是否 apt 真的比 apt-get 更好?

普通使用者應該使用新的 apt 命令還是堅持舊有習慣繼續使用 apt-get 呢?

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

一、 概念

apt 和 apt-get 之間的區別

1. Apt-get

Advanced Package Tool,又名apt-get,是一款適用於Unix和Linux系統的應用程式管理器。

最初於1998年釋出,用於檢索應用程式並將其載入到Debian Linux系統。主要用於自動從網際網路的軟體倉庫中搜尋、安裝、升級、解除安裝軟體或作業系統。

Apt-get成名的原因之一在於其出色的解決軟體依賴關係的能力。其通常使用.deb-formatted檔案,但經過修改後可以使用apt-rpm處理紅帽的Package Manager(RPM)檔案。

Apt-get在Linux社群得到廣泛使用,成為用來管理桌面、筆記本和網路的重要工具。隨著Linux在企業中的普及,Windows和Mac使用者瞭解如何使用apt-get載入應用程式有一定的好處。

另外,隨著微控制器裝置如Raspberry Pi的熱度增加,apt-get在這些平臺上是比較便捷的應用載入方式。如果你想要載入的應用需要程式庫或另一個應用程式才能正常工作,apt-get會幫你找到並載入所需的程式庫或應用程式碼。

apt-get當前的穩定版本是1.0.9.2,在2014年10月釋出。

使用apt-get的主流Linux系統包括Debian和Ubuntu變異版本。大多數情況下,從命令列執行該工具。桌面上有幾個圖形前端可以使用,包括Synaptic Package Manager、Ubuntu Software Center、Aptitude和Kpackage。

Raspberry Pi和Beaglebone Black nanoLinux版使用者可以很容易地使用apt-get載入程式,因為這些系統通常來自Ubuntu或Debian程式碼。是debian,ubuntu發行版的包管理工具,與紅帽中的yum工具非常類似。

apt-get命令一般需要root許可權執行,所以一般跟著sudo命令。

2. Apt

apt 命令列實用程式於2014年推出第一個穩定版本,用於 Debian 發行版 .deb 軟體包安裝。它最初在不穩定的Debian版本中使用,然後在Debian 8中成為標準。

在 Ubuntu 16.04 發行後,apt 開始流行,並以某種方式取代了 apt-get 。

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

大多數人不瞭解 apt 和 apt-get 之間的區別,並且經常在使用一個或另一個時感到困惑。

兩者都是開源命令列工具,用於管理軟體包,例如安裝,更新,升級和刪除。

但是,它們之間仍然存在一些差異。

讓我們看一些替代 apt-get 的 apt 命令,要檢視這些命令,可以鍵入 apt help 或通過在終端中鍵入 apt man 來訪問apt 手冊頁。它將顯示與apt 相關的所有資訊。
apt help

二、 apt-get和apt之間的區別

apt 和 apt-get 之間的第一個區別是命令本身。
例如,如果要使用 apt-get update 更新系統儲存庫索引,則可以執行:

#apt-get update

使用 apt 則輸入命令:

#apt update

apt update 命令不僅更新儲存庫索引,還告知儲存庫中是否可用軟體以及有多少新版本可用。

1. 命令對比

apt-get apt 功能
apt-get apt 安裝軟體包
apt-get remove apt remove 刪除軟體包
apt-get remove apt remove 更換所有包
apt-get purge aptpurge 移除軟體包及配置檔案
apt-get upgrade apt upgrade 更新所有軟體包(自動處理依賴項)
apt-get autoremove apt autoremove 自動刪除不需要的包
apt-get dist-upgrade apt full-upgrade 在升級軟體包時自動處理依賴關係
apt-cache search apt search 搜尋應用程式
apt-cache show apt show 顯示裝細節
  • 刪除不必要的依賴apt-get autoremoveapt autoremove刪除具有相關配置的軟體包apt-get purgeapt purge

  • 在上表中,如果將 apt-get 替換為 apt,則所有命令都相同,除了 apt upgrade 命令。
    舊的 apt-get upgrade 命令更新系統中當前存在的所有軟體包,它不會在系統上安裝或刪除現有軟體包。
    新的 apt upgrade 命令將安裝作為可升級軟體包的依賴項新增的軟體包。儘管類似於 apt-get 升級,但它也不會刪除以前安裝的軟體包。

  • apt show 命令以字母順序列印輸出,並隱藏 apt-cache show命令顯示的不太重要的資訊。

  • apt 和 apt-get 之間的區別不僅限於命令,新的 apt 命令中已新增了另一個視覺功能,以使終端使用者滿意。每當在使用 apt 升級,apt 完全升級或 apt dist升級時更新軟體包時,都會看到一個進度條,通知該過程的進度。

apt install* 當使用 apt remove 或 apt purge 刪除軟體包時,它也會出現。

  • 此外,如果我們執行 apt list --upgradeable,它還會顯示一些顏色,以提供有關儲存庫提供最新版本的軟體包的清晰概述。
    apt list --upgradeable

2. 兩個新命令

除了替換命令外,apt 引入了兩個新命令:

新的apt命令 功能
apt list 列出包含條件的包(已安裝,可升級等)
apt edit-sources 編輯源列表
  1. apt list
    –當 apt list 命令與–installed或–upgradeable一起使用時,它將列出已安裝,可安裝或需要升級的軟體包。
  2. apt edit-sources
    –使用此命令時,它將在編輯器中開啟sources.list檔案進行編輯。
    apt-get 仍然不能完全被 apt 取代,而且我認為它永遠不會被完全終止。你可能正在考慮應該選擇什麼:apt 或 apt-get。在我看來,選擇apt 是值得的,因為它提供了軟體包管理的所有必需功能,並且更快,更友好且易於使用。

三、使用apt還是apt-get?

目前還沒有任何 Linux 發行版官方放出 apt-get 將被停用的訊息,至少它還有比 apt 更多、更細化的操作功能。對於低階操作,仍然需要 apt-get。

既然兩個命令都有用,那麼我該使用 apt 還是 apt-get 呢?

作為一個常規 Linux 使用者,系統極客建議大家儘快適應並開始首先使用 apt。
不僅因為廣大 Linux 發行商都在推薦 apt,更主要的還是它提供了 Linux 包管理的必要選項。

最重要的是,apt 命令選項更少更易記,因此也更易用,所以沒理由繼續堅持 apt-get。

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

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

更多Linux知識請關注 公眾號:一口Linux

相關文章