Linux apt命令及其與apt-get的關系
轉自:https://blog.csdn.net/taotongning/article/details/82320472、https://www.runoob.com/linux/linux-comm-apt.html
apt(Advanced Packaging Tool)是一個在 Debian 和 Ubuntu 中的 Shell 前端軟件包管理器。
apt 命令提供了查找、安裝、升級、刪除某一個、一組甚至全部軟件包的命令,而且命令簡潔而又好記。
apt 命令執行需要超級管理員權限(root)。
apt 語法
apt [options] [command] [package ...]
- **options:**可選,選項包括 -h(幫助),-y(當安裝過程提示選擇全部為"yes"),-q(不顯示安裝的過程)等等。
- **command:**要進行的操作。
- package:安裝的包名。
apt 常用命令
-
列出所有可更新的軟件清單命令:sudo apt update
-
升級軟件包:sudo apt upgrade
列出可更新的軟件包及版本信息:apt list --upgradeable
升級軟件包,升級前先刪除需要更新軟件包:sudo apt full-upgrade
-
安裝指定的軟件命令:sudo apt install <package_name>
安裝多個軟件包:sudo apt install <package_1> <package_2> <package_3>
-
更新指定的軟件命令:sudo apt update <package_name>
-
顯示軟件包具體信息,例如:版本號,安裝大小,依賴關系等等:sudo apt show <package_name>
-
刪除軟件包命令:sudo apt remove <package_name>
-
清理不再使用的依賴和庫文件: sudo apt autoremove
-
移除軟件包及配置文件: sudo apt purge <package_name>
-
查找軟件包命令: sudo apt search <keyword>
-
列出所有已安裝的包:apt list --installed
-
列出所有已安裝的包的版本信息:apt list --all-versions
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。