Linux 答疑:Linux 中 apt 與 apt-get 命令有何區別,我們該選擇 apt 還是 apt-get?

文章目錄

  • 前言
  • 一、apt 與 apt-get 命令的背景分析
  • 二、apt 與 apt-get 之間的區別
  • 三、apt 和 apt-get 命令區別對比表
  • 四、apt-get 是否已棄用?
  • 五、我們應該使用 apt 還是 apt-get?
  • 總結


前言

隨著 apt install package 命令的使用頻率和普遍性逐步超過 apt-get install package,越來越多的其它 Linux 發行版也開始遵循 Ubuntu 的腳步,開始鼓勵用戶使用 apt 而不是 apt-get。那么,apt-get 與 apt 命令之間到底有什么區別呢?如果它們有類似的命令結構,為什么還需要新的 apt 命令呢?是否 apt 真的比 apt-get 更好?普通用戶應該使用新的 apt 命令還是堅持舊有習慣繼續使用 apt-get 呢?

在這里插入圖片描述


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

一、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-get 之間的區別我們從以下幾點辨別:

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

apt 具有更精減但足夠的命令選項,而且參數選項的組織方式更為有效。除此之外,它默認啟用的幾個特性對最終用戶也非常有幫助。例如,可以在使用 apt 命令安裝或刪除程序時看到進度條,具體如下圖所示:

在這里插入圖片描述
apt 還會在更新存儲庫數據庫時提示用戶可升級的軟件包個數,具體如下圖所示:

在這里插入圖片描述
如果你使用 apt 的其它命令選項,也可以實現與使用 apt-get 時相同的操作。

三、apt 和 apt-get 命令區別對比表

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

apt 和 apt-get 命令區別對比表具體如下:

apt 命令取代的命令命令的功能
apt installapt-get install安裝軟件包
apt removeapt-get remove移除軟件包
apt purgeapt-get purge移除軟件包及配置文件
apt updateapt-get update刷新存儲庫索引
apt upgradeapt-get upgrade升級所有可升級的軟件包
apt autoremoveapt-get autoremove自動刪除不需要的包
apt full-upgradeapt-get dist-upgrade在升級軟件包時自動處理依賴關系
apt searchapt-cache search搜索應用程序
apt showapt-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。

在這里插入圖片描述


我是白鹿,一個不懈奮斗的程序猿。望本文能對你有所裨益,歡迎大家的一鍵三連!若有其他問題、建議或者補充可以留言在文章下方,感謝大家的支持!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530767.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530767.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530767.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Ubuntu 答疑:Ubuntu 添加和刪除用戶具體步驟及進程被占用的解決方式

文章目錄前言一、添加用戶1.1、創建用戶1.2、設置密碼1.3、賦予用戶管理員權限二、刪除用戶三、可能報的錯誤3.1、進程被占用3.2、進程被占用的解決方式總結前言 我們使用 Ubuntu 添加和刪除用戶是我們學習 Ubuntu 最初入門的實驗,本篇文章以具體步驟進行演示&#…

大數據基礎系列 4:偽分布式 Hadoop 在 Ubuntu 上的安裝流程完整步驟及易錯點分析

文章目錄前言一、創建 Ubuntu 用戶二、安裝 Java2.1、查看本地 Java 版本2.2、驗證 Java 在本地的配置情況三、安裝 ssh 服務3.1、安裝 openssh-server3.2、查看 ssh 服務是否啟動四、Hadoop 偽分布式安裝4.1、Hadoop 下載4.2、進入下載安裝包的目錄4.3、Hadoop 解壓4.3.1、解壓…

Eclipse 答疑:為什么在 Eclipse 中,運行本程序卻是另外一個程序的結果?

文章目錄前言一、錯誤產生場景1.1、執行一個無誤的 Java 程序(即產生結果的程序)1.2、執行未出結果的 Java 程序二、錯誤處理方式總結前言 你使用 Eclipse 敲代碼的時候,有沒有遇到過這樣一種情況,明明我點擊運行本程序結果卻是另…

什么是代碼調試(debugging)?進行代碼調試的基本方法有哪些?

文章目錄前言一、什么是代碼調試?二、常見的代碼調試方式2.1、手工跟蹤(hand trace)2.2、手工跟蹤的適用范圍2.3、使用調試工具2.4、調試工具具備的特性總結前言 我們在項目開發過程中,經常遇到需要進行調試的代碼模塊。對于初學者…

Java 格式轉換:利用格式轉換實現隨機數生成隨機 char 字母及 string 字母串

文章目錄前言一、char 型與數值型轉換規則二、隨機數生成隨機字母三、隨機數生成隨機字母串總結前言 我們都知道在 Java 語言中有八種基本數據類型,而不同數據類型之間的轉換你了解多少呢?今天我們通過本文帶你了解利用格式轉換實現 char 和 String 產生…

ssh 配置:在 Linux 中 ssh 配置無密碼登陸完整步驟以及易錯點分析

文章目錄前言一、什么是 SSH?二、ssh 配置無密碼登陸原理三、Linux 系統上生成 SSH 密鑰和公鑰四、登錄驗證總結前言 對于 Hadoop 的偽分布式和全分布式而言,Hadoop 的名稱節點(NameNode)需要啟動集群中所有機器的 Hadoop 的守護進…

Apache Hadoop 啟動報錯:masternode:ssh: connect to host master port 22: Connection timed out 總結

文章目錄前言一、錯誤場景描述二、問題總結及解決辦法2.1、IP 配置錯誤及解決方法2.2、端口被防火墻禁用及解決方法總結前言 最近在 Win10 系統上配置了ubuntu-18.04.3,在配置集群的 ssh 無秘鑰登錄時,經常能碰到 ssh: connect to host master port 22: …

大數據入門系列 1:全網最全,Windows 安裝 VMware Workstation 虛擬機完整步驟及需要注意的問題

文章目錄前言一、下載正版虛擬機不同版本1.1、通過官網進行下載 VM 虛擬機1.1.1、選擇所需版本下載1.1.2、VM 15.1.0 Pro for Windows 下載1.2、免注冊賬號又安全地下載虛擬機1.2.1、瀏覽器搜索下載需要的版本1.2.2、校驗下載包的安全性二、虛擬機安裝步驟2.1、進入安裝向導2.2…

Apache Hadoop 答疑:解決 Apache Hadoop 啟動時 DataNode 啟動異常的問題

文章目錄前言一、啟動 HDFS 并顯示當前所有 Java 進程二、DataNode 啟動異常場景描述三、DataNode 啟動異常解決方式四、Web 界面檢查 Hadoop 信息總結前言 本文用于解決 Apache Hadoop 啟動時 DataNode 啟動異常的問題,但是請注意這會刪除 HDFS 中原有的所有數據&a…

Java 跨平臺運行機理:Dos 命令在桌面新建文件夾,并在其中編譯、運行一段 Java 程序

文章目錄前言一、打開 Dos 命令界面二、Dos 查看桌面文件目錄序列三、Dos 創建文件夾四、相關 Windows 系統 Shell 命令補充五、Dos 進入文件夾編寫 Java 文件六、Dos 執行編譯命令編譯 Java 文件七、查看 .class 文件八、Dos 運行 Java 文件輸出信息九、Dos 刪除文件總結前言 …

大數據入門系列 5:全網最全,Hadoop 實驗——熟悉常用的 HDFS 目錄操作和文件操作

文章目錄前言一、實驗目的二、實驗平臺三、實驗內容和要求3.1、HDFS 目錄操作3.1.1、創建用戶目錄3.1.2、顯示 HDFS 中與當前用戶對應的目錄內容3.1.3、列出 HDFS 上的所有目錄3.1.4、用戶目錄下創建一個 input 目錄3.1.5、根目錄下創建 input 的目錄3.1.6、刪除子目錄3.2、HDF…

Java 操作符:Java 中操作符優先級、一二三元操作符及邏輯操作符的中德模佛定理

文章目錄前言一、操作符介紹與優先級表二、一元運算符與二元運算符的區別?三、Java 中唯一的三元操作符四、邏輯操作符中的德模佛定理總結前言 在 Java 中我們常見的操作符分為三種,分別是邏輯操作符、關系操作符、算術操作符,其優先級和結合…

Java 答疑:編譯器和解釋器有何區別?Java 語言屬于編譯型編程語言還是解釋型編程語言?

文章目錄前言一、Java 與 Java 字節碼二、什么是編譯器(Compiler)三、什么是解釋器(Interpreter)四、編譯器與解釋器有何區別?五、Java 語言屬于哪種語言?總結前言 我們都知道開發語言整體分為兩類&#xf…

Java 案例練習:編寫 Java 程序,輸入年份和月份,使用 switch 結構計算對應月份的天數。月份為 1、3、5、7、8、10、12 時,天數為 31 天。月份為 4、6、9、11 時,天數為

文章目錄一、練習題目二、使用 switch 語句實現代碼三、將代碼改寫回 if else 的選擇結構一、練習題目 編寫 Java 程序,輸入年份和月份,使用 switch 結構計算對應月份的天數。 月份為 1、3、5、7、8、10、12 時,天數為 31 天。 月份為 4、6、…

SRA 案例練習:解釋 CRUD 矩陣方法,并從上面 “用于化學品跟蹤管理系統的 CRUDL 矩陣示例”圖中找出被遺漏的需求,并解釋是如何找的?

文章目錄 一、練習題目二、CRUD 矩陣介紹三、矩陣分析四、尋找遺漏需求一、練習題目 解釋 CRUD 矩陣方法,并從上面 “用于化學品跟蹤管理系統的 CRUDL 矩陣示例”圖中找出被遺漏的需求,并解釋是如何找的。 二、CRUD 矩陣介紹 CRUD 矩陣是用于尋找遺漏需求比較精確的方法,其…

《軟件需求分析(第二版)》第 14 章——需求管理的原則和實踐 重點部分總結

文章目錄 前言一、討論二、簡答題三、名詞解釋總結前言 軟件需求分析就是把軟件計劃期間建立的軟件可行性分析求精和細化,分析各種可能的解法,并且分配給各個軟件元素。需求分析是軟件定義階段中的最后一步,是確定系統必須完成哪些工作,也就是對目標系統提出完整、準確、清…

《軟件需求分析(第二版)》第 15 章——變更管理 重點部分總結

文章目錄 前言一、討論二、判斷題三、簡答題總結前言 軟件需求分析就是把軟件計劃期間建立的軟件可行性分析求精和細化,分析各種可能的解法,并且分配給各個軟件元素。需求分析是軟件定義階段中的最后一步,是確定系統必須完成哪些工作,也就是對目標系統提出完整、準確、清晰…

《軟件需求分析(第二版)》第 16 章——需求鏈中的聯系鏈 重點部分總結

文章目錄 前言一、討論總結前言 軟件需求分析就是把軟件計劃期間建立的軟件可行性分析求精和細化,分析各種可能的解法,并且分配給各個軟件元素。需求分析是軟件定義階段中的最后一步,是確定系統必須完成哪些工作,也就是對目標系統提出完整、準確、清晰、具體的要求。本文是…

《軟件項目管理(第二版)》第 10 章——項目收尾 重點部分總結

文章目錄 前言一、討論二、簡答題總結前言 學習了項目的開發與發布之后,我們就可以單獨對一個項目進行開發了,但是在企業中開發中,除了編碼之外,還需要項目管理、團隊協作開發等,這就是軟件項目管理板塊要學習的內容。本文是對《軟件項目管理(第二版)》第 10 章——項目…

《軟件項目管理(第二版)》第 9 章——項目監督與控制 重點部分總結

文章目錄 前言一、討論二、選擇題三、判斷題四、簡答題總結前言 學習了項目的開發與發布之后,我們就可以單獨對一個項目進行開發了,但是在企業中開發中,除了編碼之外,還需要項目管理、團隊協作開發等,這就是軟件項目管理板塊要學習的內容。本文是對《軟件項目管理(第二版…