原文地址:https://itsfoss.com/apt-vs-apt-get-difference/
作者:Abhishek Prakash
自豪的採用谷歌翻譯
摘要:本文解釋了Linux中apt
和apt-get
命令的區別。它還列出了一些最常用的apt
命令,這些命令替代了舊的apt-get
命令。
Ubuntu 16.04引人注目的新特性之一是apt
命令的引入。實際上,apt
命令是在2014年就發佈了第一個穩定版本,但人們在2016年Ubuntu 16.04發佈時纔開始注意到這個命令行工具。
然後安裝軟件包已經使用apt install package
命令代替了apt-get install package
命令,最終,許多其他發行版遵循Ubuntu的腳步並開始鼓勵用戶使用apt
而不是apt-get
。
你可能想知道apt-get
和apt
之間的區別是什麼?如果它們有相似的命令行語句結構,爲什麼還需要新的apt
命令?你也可能在思索是否apt
命令要比apt-get
命令更優秀些?或者你應該使用新的apt
命令,還是堅持使用舊的apt-get
命令?
我將在這篇文章中解釋這些問題,我希望在你讀到文章的結尾,能夠對這兩個命令有更清晰的認識。
apt vs apt-get
對於Linux Mint用戶來說,這個命令並不陌生,在幾年前,Linux Mint發行版實現了一個名爲apt
的python包裝器,它實際上使用apt-get
命令,但提供了更友好的配置項。當然,我們在這裏討論的apt
命令與Linux Mint中的apt
是不同的。
在我們閱讀apt
和apt-get
的命令區別之前,讓我們先了解下這些命令的背景,以及他們試圖實現的目標。
爲什麼apt首先被引入
Debian,是許多Linux發行版如Ubuntu,Linux Mint,elementary OS 等的母版本,它擁有強大的打包系統,每個組件和應用程序都內置在系統上安裝的軟件包中,Debian使用了一個叫Advanced Packaging Tool(APT)的工具集來管理這個打包系統,請不要把它和apt
命令混淆,這是不一樣的。
有許多與APT交互的工具並允許您安裝,移除,管理基於Debian系統的Linux發行版的軟件包,apt-get
就是這樣一個非常流行的命令行工具,另一個流行的工具是具有GUI和命令行選項的Aptitude。
如果你有閱讀過我的文章《guide on apt-get commands》,你可能遇到過許多類似的命令,比如apt-cache
。這就是問題所在。
你看,這些命令太接近APT的低層api了,而且它們具有許多普通Linux用戶可能從未使用過的功能。換句話說,大多數常用的包管理命令分佈在apt-get
和apt-cache
中。
使用apt
,你不需要再在apt-get
命令和apt-cache
命令之間來回折騰。apt
命令更加結構化,爲你提供了管理包所需的必要選項。
總結: apt
= apt-get
和apt-cache
中最常用的命令選項。
建議閱讀 Complete Guide for Using Snap Packages In Ubuntu and Other Linux Distrbutions
apt與apt-get的區別
因此,使用apt
,你可以在一個命令行工具中獲得所有必要的工具,而不會在大量的命令選項中迷失。apt
的主要目的是爲想要舒適使用的最終用戶提供一種高效的處理包的方法。
當Debian說使最終用戶滿意,它實際上是說它有更少但足夠的命令選項,但以更有條理的方式,最重要的是,它默認啓用了幾個選項,這實際上對最終用戶很有幫助。
例如,當使用apt
安裝或移除程序的時候,你可以看到相關命令的進度條。
apt
還提示您在更新存儲庫數據庫時可以升級的包的數量。
正如你使用apt-get
的其他命令選項也可以達到同樣的效果,但是apt
命令是默認啓用這些配置項的,這免除了你在使用apt-get
命令時的繁瑣配置項和操作。
建議閱讀 Using apt-get Commands In Linux[Complete Beginners Guide]
apt與apt-get命令使用的區別
apt
確實有一些類似apt-get
的命令選項,然而apt
並不與apt-get
命令向後兼容。這意味着如果你簡單的用apt
替換apt-get
命令並不是總能有效。
讓我們看看哪個apt
命令替換了哪個apt-get
和apt-cache
命令選項。
apt command | the command it replaces | function of the command |
---|---|---|
apt install | apt-get install | Installs a package |
apt remove | apt-get remove | Removes a package |
apt purge | apt-get purge | Remmoves package with configurations |
apt update | apt-get update | Refreshes repository index |
apt upgrade | apt-get upgrade | Upgrades all upgradable packages |
apt autoremove | apt-get autoremove | Removes unwanted packages |
apt full-upgrade | apt-get dist-upgrade | Upgrades packages with auto-handling of dependencies |
apt search | apt-cache search | Searches for the program |
apt show | apt-cache show | Shows package details |
apt
還有幾個命令是它獨有的。
new apt command | function of the command |
---|---|
apt list | Lists packages with criteria(installed,upgrade etc) |
apt edit-sources | Edits sources list |
值得注意的一點是,apt
命令工具正在不斷髮展。因此,在將來的版本中,您可能會看到添加到命令中的一些新選項。
如果你還想要了解更多,我推薦你閱讀我的apt
命令指南: 如何使用apt
命令行工具。
apt-get命令被棄用了嗎?
我沒有找到任何信息說apt-get
將會停止。實際上不應該是。它提供的功能仍然比apt
多得多。
對於更貼近APT底層的api的操作,shell腳本使用,等。apt-get
將仍然在使用中。
我應該使用apt還是apt-get
你可能在想你應該使用哪種命令,apt
或者apt-get
,作爲一個普通的Linux用戶,我的答案是使用apt
。
Linux發行版更推薦apt
命令,它爲管理軟件包提供了必要的功能選項。最重要的是,使用更少但易於記憶的選項更容易使用。
我認爲沒有理由堅持使用apt-get
,除非您打算使用apt-get
的更多特性來執行特定的操作。
結論
我希望我解釋清楚了apt
與apt-get
命令的區別。最後,總結一下apt
與apt-get
的爭論:
apt
是apt-get
和apt-cache
命令的子集,爲包管理提供必要的命令- 然而
apt-get
不會被棄用,作爲一個普通的Linux用戶,你應該更頻繁的使用apt
命令。