apt 和 apt-get 之間有什麼區別?
阿新 • • 發佈:2021-02-14
使用ubuntu的朋友一定會接觸一個命令就是apt-get 。
使用該工具安裝各種應用程式那叫一個爽。
在 Ubuntu 16.04 發行後,apt使用漸漸頻繁起來。
那麼,apt-get 與 apt 命令之間到底有什麼區別呢?
如果它們有類似的命令結構,為什麼還需要新的 apt 命令呢?
是否 apt 真的比 apt-get 更好?
普通使用者應該使用新的 apt 命令還是堅持舊有習慣繼續使用 apt-get 呢?
彭老師將在本文中解釋所有這些問題,我們希望本文結束時,你將會有一個更清晰的瞭解。
# 一、 概念
![apt 和 apt-get 之間的區別](https://img-blog.csdnimg.cn/20201231175218555.png)
## 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 ](https://img-blog.csdnimg.cn/20210104220630137.png)
# 二、 apt-get和apt之間的區別
apt 和 apt-get 之間的第一個區別是命令本身。
例如,如果要使用 apt-get update 更新系統儲存庫索引,則可以執行:
```c
#apt-get update
```
![ ](https://img-blog.csdnimg.cn/20210104220455946.png)
使用 apt 則輸入命令:
```c
#apt update
```
![ ](https://img-blog.csdnimg.cn/20210104220529622.png)
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](https://img-blog.csdnimg.cn/20210104221909389.png)* 當使用 apt remove 或 apt purge 刪除軟體包時,它也會出現。
* 此外,如果我們執行 **apt list --upgradeable**,它還會顯示一些顏色,以提供有關儲存庫提供最新版本的軟體包的清晰概述。
![apt list --upgradeable](https://img-blog.csdnimg.cn/20210104222140516.png)
## 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知識請關注 公眾號:一