首頁 > 系統教程 > Linux > 主體

掌握APT,輕鬆管理Linux軟體

PHPz
發布: 2024-02-10 23:54:15
轉載
493 人瀏覽過

身為Linux系統管理員,每天都要面對眾多的軟體安裝和更新任務。 APT(Advanced Packaging Tool)是一款功能強大的軟體包管理工具,它簡化了我們在Linux上的軟體管理流程,確保我們能夠快速、有效率地管理系統。本文將為您介紹APT的功能和使用方法,讓你輕鬆管理Linux上的所有軟體。

掌握APT,輕鬆管理Linux軟體

#套件管理器 可協助你處理 Linux 系統的電腦上軟體的更新、卸載、故障排除等問題。 Seth Kenlon 寫了 使用 dnf 進行 Linux 套件管理 一文,介紹如何使用 dnf 這款命令列套件管理工具,在 RHEL、CentOS、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-cache 等工具。 Dpkg 是在 apt 套件管理器背後處理繁雜事務的」幕後工作者「。

還有其他的套件管理系統,例如 Flatpak 和 Snap,你可能會在 Debian 和基於 Debian 的系統上遇到它們,但我不打算在這裡討論。還有一些應用程式“商店”,例如 GNOME “軟體”,與 apt 和其他打包技術重疊;我也不打算在這裡討論它們。最後,還有其他 Linux 發行版,例如 Arch 和 Gentoo 既不使用 dnf 也不使用 apt,我也不打算在這裡討論它們!

上面我講了這麼多我不想提及的內容,你可能會懷疑 apt 到底還能處理多少軟體。這麼說吧,在我的Ubuntu 20.04 上,apt 可以讓我使用69,371 個軟體包,從0ad(一款古代戰爭題材的即時戰略遊戲)到zzuf(一個透明的應用程式模糊測試工具),一點也不差。

使用 apt 搜尋軟體

使用 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 Developers 
Original-Maintainer: Utopia Maintenance Team 
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
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: https://cockpit-project.org/
Download-Size: 21.3 kB
APT-Sources: http://ca.archive.ubuntu.com/ubuntu hirsute/universe amd64 Packages
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
登入後複製

認識 apt

#正如 Seth 所寫的,「你對套件管理器的工作方式了解得越多,在需要安裝和查詢應用程式時就會越容易。」

即使你不是apt 的重度使用者,當你需要在命令列中安裝或刪除軟體包時(例如,在一台遠端伺服器上或遵循某些熱心腸發布的操作指南時),掌握一些apt 的知識也會很有用。在某些軟體創作者僅提供了一個裸 .pkg 檔案的情況下,可能還需要了解一些關於 dpkg 的知識(如上所述)。

我發現 Synaptic 套件管理器在我的桌面上是一個非常有用的工具,但出於各種目的,我也在少數維護的伺服器上使用 apt。

在Linux上管理軟體可能會變得非常複雜,但APT可以幫助我們克服這些挑戰。掌握APT的使用方法,可以有效提升我們的生產效率,並確保系統的安全穩定。希望本文能幫助您更了解APT,為您在Linux系統上的軟體套件管理提供強大的支援。

以上是掌握APT,輕鬆管理Linux軟體的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:lxlinux.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!