如何使用 apt 進行 Linux 包管理
導讀 | 學習如何使用 apt 在基於 Debian 的 發行版上安裝軟體包,然後下載我們的速查表,讓正確的 觸手可及。 |
包管理器 可幫助你處理 Linux 系統的計算機上軟體的更新、解除安裝、故障排除等問題。Seth Kenlon 寫了 使用 dnf 進行 Linux 包管理 一文,介紹瞭如何使用 dnf 這款命令列包管理工具,在 RHEL、 、Fedora、Mageia、OpenMandriva 等 Linux 發行版中安裝軟體。
Debian 和基於 Debian 的發行版(例如 MX Linux、Deepin、Ubuntu)以及基於 Ubuntu 的發行版(例如 Linux Mint 和 Pop!_OS)都有 apt,這是一個“相似但不同”的工具。在本文中,我將按照 Seth 的示例(但使用 apt)向你展示如何使用它。
在一開始,我想先提一下四個跟 apt 相關的軟體安裝工具:
- Synaptic 是為 apt 服務的一個基於 GTK+ 的圖形使用者介面(GUI)的前端工具。
- Aptitude 是為 apt 服務的一個基於 Ncurses 的全屏命令列前端工具。
- apt 的前身有 apt-get、apt-cache 等工具。
- Dpkg 是在 apt 包管理器背後處理繁雜事務的”幕後工作者“。
還有其他的包管理系統,例如 Flatpak 和 Snap,你可能會在 Debian 和基於 Debian 的系統上遇到它們,但我不打算在這裡討論。還有一些應用程式“商店”,例如 GNOME “軟體”,與 apt 和其他打包技術重疊;我也不打算在這裡討論它們。最後,還有其他 Linux 發行版,例如 Arch 和 Gentoo 既不使用 dnf 也不使用 apt,我也不打算在這裡討論它們!
上面我講了這麼多我不想提及的內容,你可能懷疑 apt 到底還能處理多少軟體。這麼說吧,在我的 Ubuntu 20.04 上,apt 可以讓我使用 69,371 個軟體包,從 0ad(一款古代戰爭題材的即時戰略遊戲)到 zzuf(一個透明的應用程式模糊測試工具),一點也不差。
使用 apt 軟體包管理器的第一步是找到感興趣的軟體包。Seth 的 dnf 文章以 Cockpit 伺服器管理應用程式為例。用 apt 我會輸入如下命令:
$ apt search cockpit Sorting... Done Full Text Search... Done 389-ds/hirsute,hirsute 1.4.4.11-1 all 389 Directory Server suite - metapackage cockpit/hirsute,hirsute 238-1 all Web Console for Linux servers ... $
上面的第二個包就是你要的那個(以 cockpit/hirsute 開頭的那一行)。如果你決定要安裝它,輸入:
$ sudo apt install cockpit
apt 將負責安裝 Cockpit 以及使其工作所需的所有部件或 依賴。有時我們不太確定這是我們所需要的。瞭解更多的資訊可能有助於你決定是否真的要安裝此應用程式。
要了解有關軟體包的更多資訊,使用 apt show 命令:
$ apt show cockpit Package: cockpit Version: 238-1 Priority: optional Section: universe/admin Origin: Ubuntu Maintainer: Ubuntu DevelopersOriginal-Maintainer: Utopia Maintenance TeamBugs: Installed-Size: 88.1 kB Depends: cockpit-bridge (>= 238-1), cockpit-ws (>= 238-1), cockpit-system (>= 238-1) Recommends: cockpit-storaged (>= 238-1), cockpit-networkmanager (>= 238-1), cockpit-packagekit (>= 238-1) Suggests: cockpit-doc (>= 238-1), cockpit-pcp (>= 238-1), cockpit-machines (>= 238-1), xdg-utils Homepage: Download-Size: 21.3 kB APT-Sources: Description: Web Console for Linux servers The Cockpit Web Console enables users to administer GNU/Linux servers using a web browser. . It offers network configuration, log inspection, diagnostic reports, SELinux troubleshooting, interactive command-line sessions, and more. $
特別要注意的是 Description 欄位,它會告訴你更多關於應用程式的資訊。Depends 欄位說明還必須安裝什麼,而 Recommends 則顯示建議安裝的其他(如果有的話)合作元件。Homepage 欄位會提供一個網址,透過它你可以瞭解更多。
有時你並不知道包名,但你知道包裡一定包含著的某個檔案。Seth 以 qmake-qt5 程式作為示例。使用 apt search 找不到它:
$ apt search qmake-qt5 Sorting... Done Full Text Search... Done $
但是,另一個有關聯的命令 apt-file 可以用來探索包內部:
$ apt-file search qmake-qt5 qt5-qmake-bin: /usr/share/man/man1/qmake-qt5.1.gz $
這時會顯示一個 qmake-qt5 的手冊頁。它是一個名為 qt5-qmake-bin 的包的一部分。注意,此包名稱顛倒了字串 qmake 和 qt5 的順序。
方便的 apt-file 命令會列出給定的包中包含哪些檔案。例如:
$ apt-file list cockpit cockpit: /usr/share/doc/cockpit/TODO.Debian cockpit: /usr/share/doc/cockpit/changelog.Debian.gz cockpit: /usr/share/doc/cockpit/copyright cockpit: /usr/share/man/man1/cockpit.1.gz cockpit: /usr/share/metainfo/cockpit.appdata.xml cockpit: /usr/share/pixmaps/cockpit.png $
注意,這與 apt show 命令提供的資訊不同,後者列出了包的依賴(其他必須安裝的包)。
你還可以使用 apt 移除軟體包。例如,要移除apt-file 應用程式:
$ sudo apt purge apt-file
注意必須由超級使用者執行 apt 才能安裝或移除應用程式。
移除一個包並不會自動移除 apt 在此過程中安裝的所有依賴項。不過,一點點的工作就很容易去除這些殘留:
$ sudo apt autoremove
正如 Seth 所寫的,“你對包管理器的工作方式瞭解得越多,在需要安裝和查詢應用程式時就會越容易。”
即便你不是 apt 的重度使用者,當你需要在命令列中安裝或刪除軟體包時(例如,在一臺遠端伺服器上或遵循某些熱心腸釋出的操作指南時),掌握一些 apt 的知識也會很有用。在某些軟體創作者僅提供了一個裸 .pkg 檔案的情況下,可能還需要了解一些關於 dpkg 的知識(如上所述)。
我發現 Synaptic 包管理器在我的桌面上是一個非常有用的工具,但出於各種目的,我也在少數維護的伺服器上使用著 apt。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2899786/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何使用lerna進行多包(package)管理Package
- 使用APT對redhat進行更新(轉)APTRedhat
- Linux中如何使用systemctl進行服務的管理?Linux
- 在Linux中,如何在Linux中使用LXD進行容器管理?Linux
- 在Linux中,如何使用ELK進行日誌管理和分析?Linux
- apt-sortpkgs ——Debian Linux下對軟體包索引檔案進行排序的工具APTLinux索引排序
- Linux apt命令有什麼作用?如何使用?LinuxAPT
- Linux中apt和apt-get命令有什麼區別?如何使用?Linuxapt-get
- apt-get——Debian Linux發行版中的APT軟體包管理工具apt-getLinux
- 如何使用Zoho專案管理軟體進行廣告投放管理?專案管理
- Linux 有問必答:如何使用yum來下載RPM包而不進行安裝Linux
- 在Linux中,如何在Linux中進行資源配額管理?Linux
- 在Linux中,如何在Linux中進行系統映象管理?Linux
- Linux或者國產OS下使用HHDESK進行檔案管理Linux
- Debian/Ubuntu包安裝工具APT的使用UbuntuAPT
- 如何有效進行任務管理?
- 專案管理如何有效進行?專案管理
- 如何使用APT庫安裝MySQLAPTMySql
- 使用Project進行專案管理Project專案管理
- 探究如何使用敏捷專案管理進行團隊協作?敏捷專案管理
- 如何使用 SDKMAN管理 Linux 系統上的Java 開發工具包LinuxJava
- 使用 Go Mod 進行包管理並代理拉包Go
- 如何在 Linux/Windows/MacOS 上使用 .NET 進行開發LinuxWindowsMac
- 如何使用linux的伺服器需要進行的配置Linux伺服器
- 【Linux】apt軟體管理和遠端登入LinuxAPT
- Linux 包管理基礎:apt、yum、dnf 和 pkgLinuxAPT
- apt 使用APT
- 銷售如何使用客戶管理系統進行線索商機管理1
- 銷售如何使用客戶管理系統進行線索商機管理2
- git篇--入職初期如何使用Git進行專案管理--01Git專案管理
- Linux(9)-遠端登入Linux系統以及apt管理LinuxAPT
- 在Linux中,如何在Linux中進行配置管理和自動化部署?Linux
- 在Linux中使用 Stow 管理軟體包(轉)Linux
- 最新使用Charles進行HTTPS抓包的方法HTTP
- linux管理rpm包Linux
- 在Linux中,如何在Linux中使用Ansible進行自動化部署?Linux
- 在Linux中,如何使用指令碼進行系統配置和部署?Linux指令碼
- 在Linux中,如何使用VMware和VirtualBox進行虛擬化?Linux