Linux apt命令

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 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/532512.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/532512.shtml
英文地址,請注明出處:http://en.pswp.cn/news/532512.shtml

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

相關文章

楊宏宇:騰訊多模態內容理解技術及應用

楊宏宇&#xff1a;騰訊多模態內容理解技術及應用 分享嘉賓&#xff1a;楊宇鴻 騰訊 內容理解高級工程師 編輯整理&#xff1a;吳祺堯 出品平臺&#xff1a;DataFunTalk 導讀&#xff1a; 搜索內容的理解貫穿了整個搜索系統。我們需要從多個粒度理解搜索內容&#xff0c;包括語…

git登錄相關操作梳理

git登錄相關操作梳理 本文主要基于 Linux/Mac &#xff0c;Windows下未經測試&#xff0c;不過估計差不多&#xff0c;在 git bash 內操作即可。 創建ssh key并關聯github等賬號 因為本地Git倉庫和GitHub倉庫之間的傳輸是通過SSH加密傳輸的&#xff0c;GitHub需要識別是否是…

關于mmdetection上手的幾點說明

關于mmdetection上手的幾點說明 官方的文檔很有參考價值&#xff0c;并且也有中文版&#xff0c;應當是大家上手 mmdetection 的第一參考&#xff0c;本文是記錄一些筆者在小白階段上手 mmdetection 時的一些心得&#xff0c;這些東西沒有人提&#xff0c;可能是大佬們覺得這些…

docker gpu報錯Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]

Docker容器中使用Nvidia GPU報錯 docker: Error response from daemon: could not select device driver “” with capabilities: [[gpu]]. 問題出現 我們知道&#xff0c;想要在 docker19 及之后的版本中使用 nvidia gpu 已經不需要單獨安裝 nvidia-docker 了&#xff0c;這…

CUDA環境詳解

CUDA環境詳解 本文主要介紹 CUDA 環境&#xff0c;這一堆東西網上有很多博客介紹過了&#xff0c;我再來一篇:)&#xff0c;參考前輩們的文章&#xff0c;看能不能寫的更清楚一點。讀后仍有問題&#xff0c;歡迎留言交流。 CUDA APIs CUDA是由NVIDIA推出的通用并行計算架構&…

共享內存簡介及docker容器的shm設置與修改

共享內存簡介及docker容器的shm設置與修改 共享內存簡介 共享內存指 (shared memory)在多處理器的計算機系統中&#xff0c;可以被不同中央處理器&#xff08;CPU&#xff09;訪問的大容量內存。由于多個CPU需要快速訪問存儲器&#xff0c;這樣就要對存儲器進行緩存&#xff…

對Docker鏡像layer的理解

對Docker鏡像layer的理解 轉自&#xff1a;https://blog.csdn.net/u011069294/article/details/105583522 FROM python:3.6.1-alpine RUN pip install flask CMD [“python”,“app.py”] COPY app.py /app.py上面是一個Dockerfile的例子&#xff0c;每一行都會生成一個新的l…

ssh免密登錄配置方法及配置

ssh免密登錄配置方法及配置 直接上步驟&#xff0c;記我們本機為機器A&#xff0c;而機器B、機器C等是我們的服務器&#xff0c;我們要配置的是A到B、C等的 ssh 免密登錄。 1 在機器A上生成秘鑰對 ssh-keygen會得到輸出&#xff1a; Generating public/private rsa key pai…

機器學習系統:設計與實現 計算圖

機器學習系統:設計與實現 計算圖 轉自&#xff1a;https://openmlsys.github.io/chapter_computational_graph/index.html 在上一章節中&#xff0c;我們展示了用戶利用機器學習框架所編寫的程序。這些用戶程序包含了對于訓練數據&#xff0c;模型和訓練過程的定義。然而為了…

常見浮點數格式梳理

常見浮點數格式梳理 IEEE 754 標準 浮點數轉換網站&#xff1a;https://www.h-schmidt.net/FloatConverter/IEEE754.html IEEE二進制浮點數算術標準&#xff0c;為許多CPU與浮點運算器所采用。這個標準定義了表示浮點數的格式&#xff08;包括負零-0&#xff09;與反常值&am…

Python拾遺1:collections、itertools和內存io

Python拾遺1&#xff1a;collections、itertools和內存io 轉自&#xff1a;https://www.liaoxuefeng.com/wiki/1016959663602400 本系列旨在補充python中一些很好用但是并非常規課程主線中的知識。 collections collections是Python內建的一個集合模塊&#xff0c;提供了許…

混合精度訓練

混合精度訓練 轉自&#xff1a;https://zhuanlan.zhihu.com/p/441591808 通常我們訓練神經網絡模型的時候默認使用的數據類型為單精度FP32。近年來&#xff0c;為了加快訓練時間、減少網絡訓練時候所占用的內存&#xff0c;并且保存訓練出來的模型精度持平的條件下&#xff0…

拓撲排序C++

拓撲排序C 幾個基本概念的介紹 入度和出度 圖中的度&#xff1a;所謂頂點的度(degree)&#xff0c;就是指和該頂點相關聯的邊數。在有向圖中&#xff0c;度又分為入度和出度。 入度 (in-degree) &#xff1a;以某頂點為弧頭&#xff0c;終止于該頂點的邊的數目稱為該頂點的…

C++面試常考題——編譯內存相關

C面試常考題——編譯內存相關 轉自&#xff1a;https://leetcode-cn.com/leetbook/read/cpp-interview-highlights/e4ns5g/ C程序編譯過程 編譯過程分為四個過程&#xff1a;編譯&#xff08;編譯預處理、編譯、優化&#xff09;&#xff0c;匯編&#xff0c;鏈接。 編譯預處…

C++遍歷刪除元素

C遍歷刪除元素 轉自&#xff1a;http://zencoder.info/2019/10/11/erase-element-from-container/ 今天看到一個patch fix從std::map中遍歷刪除元素導致crash問題&#xff0c;突然意識到自己對如何正確地從map等C容器中刪除元素也沒有很牢固清醒的認知。重新梳理了下這塊的正…

關鍵字庫函數

關鍵字庫函數 轉自&#xff1a;https://leetcode-cn.com/leetbook/read/cpp-interview-highlights/ej3mx1/ sizeof和strlen的區別 strlen 是頭文件<cstring> 中的函數&#xff0c;sizeof 是 C 中的運算符。 strlen 測量的是字符串的實際長度&#xff08;其源代碼如下&…

memcpy和memmove的區別以及內存重疊問題

memcpy和memmove的區別以及內存重疊問題 轉自&#xff1a;https://www.codecomeon.com/posts/89/ 區別 memcpy() 和 memmove() 都是C語言中的庫函數&#xff0c;在頭文件 string.h 中&#xff0c;作用是拷貝一定長度的內存的內容&#xff0c;原型分別如下&#xff1a; void…

從頭搭建一個深度學習框架

從頭搭建一個深度學習框架 轉自&#xff1a;Build a Deep Learning Framework From Scratch 代碼&#xff1a;https://github.com/borgwang/tinynn 當前深度學習框架越來越成熟&#xff0c;對于使用者而言封裝程度越來越高&#xff0c;好處就是現在可以非常快速地將這些框架作為…

關于python import的sys.path路徑問題

關于python import的sys.path路徑問題 sys.path 先說一下 sys.path 這個變量&#xff0c;該變量需要導入 sys 官方庫方可使用&#xff0c;它是一個列表&#xff0c;是當前 python 文件 import 庫時會逐個搜索列表中的路徑。 初始化 sys.path 從這些位置初始化&#xff1a; …

python pdb調試基本命令整理

python pdb調試基本命令整理 使用簡介 啟動調試 侵入式 在 py 文件內部設置&#xff1a; import pdb; pdb.set_trace()程序會在運行到這一行時停下來&#xff0c;進入 pdb 交互。 非侵入式 在運行 py 腳本時&#xff1a; python -m pdb main.py程序會在一啟動時就進入 pdb 交…