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

2021-02-15 一口Linux

使用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-getapt功能apt-getapt安裝軟體包apt-get removeapt remove刪除軟體包apt-get removeapt remove更換所有包apt-get  purgeaptpurge移除軟體包及配置文件apt-get upgradeapt upgrade更新所有軟體包(自動處理依賴項)apt-get autoremoveapt autoremove自動刪除不需要的包apt-get dist-upgradeapt full-upgrade在升級軟體包時自動處理依賴關係apt-cache searchapt search搜索應用程式apt-cache showapt 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 --upgradeable2. 兩個新命令

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

新的apt命令功能apt list列出包含條件的包(已安裝,可升級等)apt edit-sources編輯源列表apt list–當 apt list 命令與–installed或–upgradeable一起使用時,它將列出已安裝,可安裝或需要升級的軟體包。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。

相關焦點

  • 使用 apt-get 清理 | Linux 中國
    軟體包的更新相當頻繁,諸如 apt-get update 和 apt-get upgrade 之類的命令使此過程非常容易。另一方面,你多久使用一次 apt-get clean、apt-get autoclean 或 apt-get autoremove?這些命令會在 apt-get 的安裝操作後清理並刪除仍在系統上但不再需要的文件,這通常是因為需要它們的程序已經卸載。
  • CVE-2019-3462:Linux 包管理器apt/apt-get遠程代碼執行漏洞預警
    /apt-get 遠程代碼執行的一些細節。建議使用Debain系發行版的用戶及時進行apt 軟體的更新或者對伺服器進行流量自查。0x01 漏洞詳情在獲取數據時,apt會fork出worker進程用於數據傳輸。父進程使用類似於HTTP的協議通過stdin/stdout與這些worker進程進行通信,告訴它們下載什麼以及將下載的內容放在文件系統的什麼位置上。
  • 如何在 Ubuntu Linux 16.04 LTS 中使用多個連接加速 apt-get/apt
    我該如何加速在 Ubuntu Linux 16.04 或者 14.04 LTS 上從多個倉庫中下載包的 apt-get 或者 apt 命令?
  • APT檔案之:記錄APT28 和 APT30的公開披露
    此外,從APT30組織使用的攻擊工具可以看出其組織的層次相當嚴格,有統一的發展規劃和活動調配,這些都顯示了該組織背後有更高層利害關係方的支持。APT30組織還與另外一個名為Naikon的黑客團體有關聯,儘管有證據顯示他們似乎來源於同一個國家,但尚未有充足的資料能夠證明二者之間存在確切的關聯。本文的研究者依然專注於 APT30組織相關的嚴格指標的研究。
  • 【思路/技術】初探APT 攻擊
    APT是黑客以竊取核心資料為目的,針對客戶所發動的網絡攻擊和侵襲行為。APT手法?APT的攻擊手法,在於隱匿自己,針對特定對象,長期、有計劃性和組織性地竊取數據,此類攻擊行為是傳統安全檢測系統無法有效檢測發現,前沿防禦方法是利用非商業化虛擬機分析技術,對各種郵件附件、文件進行深度的動態行為分析,發現利用系統漏洞等高級技術專門構造的惡意文件,從而發現和確認APT攻擊行為。
  • 針對以色列和巴勒斯坦的apt式攻擊
    通過我們的調查,之前並無行為上與此相同的apt記錄。實際上最初的文件是一個rar的自解壓文件,包含三個組件,事實上後期我們的分析師表示這種惡意軟體不屬於原來熟知的一些用於apt惡意軟體類型,我們進行了進一步的分析希望了解其的目的,細節,與攻擊目標。
  • 熟悉Linux系統和基本庫安裝
    當然我也裝了gcc和gfortran。 Windows和Linux的兼容方式如果你是高級人的話,hyperV,如果你是貧窮人的話,虛擬機,如果你有精力折騰的話,雙系統,如果你是有錢人的話,再買一臺電腦,如果你是win10人的話,歡迎使用WSL,我相信mqc和湘姐都推薦的一定是特別特別好的即使是使用虛擬機的也分貴賤(不是),VMware需要付費或者破解版,貧窮人搞Virtualbox
  • 全球高級持續性威脅(APT)2019年中報告
    在2019年上半年,南美地區發生多起異常停電事件,由於尚不明確造成停電的原因,也被國外新聞媒體聯想到是否與網絡攻擊或演習有關,而針對公共基礎設施領域的網絡攻擊也逐漸作為國與國之間進行戰略性打擊和威懾的重要手段。
  • 2018年全球十大APT攻擊事件盤點
    在事件中使用的植入載荷Olympic Destroyer,其用於破壞文件數據的相關代碼與過去Lazarus使用的載荷有部分相似,而美國部份媒體則聲稱該事件為俄羅斯情報機構實施並嫁禍給朝鮮。近年來主要披露的攻擊活動涉及全球金融和銀行機構、中美洲在線賭場、以及虛擬電子貨幣相關的交易所和機構。FireEye在今年披露了一份詳細的APT組織報告,並將其中以經濟牟利為意圖的,針對全球金融、銀行機構攻擊的威脅活動獨立歸屬為一個新的組織名稱,APT38以明確區分其與Lazarus之間的一些不同。
  • Linux 下最好的圖片截取和視頻截錄工具 | Linux 中國
    可能有一個困擾你多時的問題,當你想要獲取一張屏幕截圖向開發者反饋問題,或是在 Stack Overflow 尋求幫助時,你可能缺乏一個可靠的屏幕截圖工具去保存和發送截圖。在 GNOME 中有一些這種類型的程序和 shell 拓展工具。這裡介紹的是 Linux 最好的屏幕截圖工具,可以供你截取圖片或截錄視頻。1.
  • 如何在Linux命令行中優化和壓縮JPEG或PNG圖像
    有許多可用的GUI應用程式可幫助您優化圖像。但是,這裡有兩個簡單的命令行實用程序可以優化圖像,它們是:使用這兩個工具,您可以一次優化單個或多個圖像。從命令行壓縮或優化JPEG圖像jpegoptim是一個命令行工具,可用於優化和壓縮JPEG,JPG和JFIF文件,而不會損失其實際質量。
  • Python Kivy速成系列課程:介紹和安裝
    來自:https://www.linuxmi.com/python-kivy-install.html這是我們關於Kivy速成課程的第一篇文章,在本文中,我們將介紹Kivy和Kivy
  • 交換機和路由器之間有什麼區別?
    有什麼區別呢?就不清楚了,其實路由器和交換機兩者之間是有很大區別的,本文跟大家深入詳解這兩者之間的區別。什麼是交換機?交換機(英文:Switch,意為「開關」)是一種用於電信號轉發的網絡設備。它可以為接入交換機的任意兩個網絡節點提供獨享的電信號通路。最常見的交換機是乙太網交換機,其他常見的還有電話語音交換機、光纖交換機等。什麼是路由器?