天天看點

怎麼通過指令的形式列出各個linux系統已經安裝的軟體包?

怎麼通過指令的形式列出各個linux系統已經安裝的軟體包?

使用過linux系統的運維應該都有在上面安裝過軟體包,有時候我們需要查詢即将要安裝的包有沒有在這個系統上已經安裝,如果不先查一下,或多或少會出現問題,比如版本不一緻等等。

本文将從一些系統進行展開:

  • Arch Linux
  • Alpine Linux
  • Debian
  • Ubuntu
  • RHEL
  • Fedora
  • CentOS
  • openSUSE

在 Arch Linux 中使用 pacman 顯示已安裝的包

Pacman是 Arch Linux 及其衍生産品(如 EndeavourOS 和 Manjaro Linux)的預設包管理器。

要列出Arch Linux 及其衍生産品中使用pacman顯示所有已安裝軟體包,如下:

$ pacman -Q           
怎麼通過指令的形式列出各個linux系統已經安裝的軟體包?

如果要逐頁檢視輸出,請将輸出通過管道傳輸到more指令

$ pacman -Q | more           

僅列出顯式安裝的軟體包和版本:

$ pacman -Qe           

要僅列出 Arch Linux 中已安裝軟體包的總數,請将pacman輸出通過管道傳輸到wc指令:

$ pacman -Q | wc -l
134           

正如你在上面的輸出中看到的,我已經在我的 Arch Linux 系統中安裝了134 個包。

在Alpine Linux中使用apk指令擷取已安裝包清單

Apk是 Alpine Package Manager 的縮寫,是 Alpine Linux 的預設包管理器。

在 Alpine Linux 中檢視已安裝包清單的指令是:

$ apk info           
怎麼通過指令的形式列出各個linux系統已經安裝的軟體包?

如果要檢視已安裝的軟體包清單以及版本号和軟體包描述,請使用-vv如下标志:

$ apk info -vv           
怎麼通過指令的形式列出各個linux系統已經安裝的軟體包?

要僅列出 Alpine Linux 中所有已安裝軟體包的總數,請将apk info輸出通過管道發送到wc如下指令:

$ apk info | wc -l
86           

在 Debian、Ubuntu 中使用 apt 指令查找已安裝的包

Apt為 Debian、Ubuntu 和其他基于 Debian 的系統中的包管理系統提供了進階指令行界面。

要在 Debian、Ubuntu、Linux Mint 和其他基于 DEB 的系統中顯示已安裝軟體包的清單,請運作:

$ apt list --installed           
怎麼通過指令的形式列出各個linux系統已經安裝的軟體包?

顯示基于 Debian 的系統中已安裝軟體包的總數,将apt指令的輸出通過管道傳輸到wc指令,如下所示:

$ apt list --installed | wc -l
2575           

在 Debian、Ubuntu 中使用 dpkg 指令

dpkg是一個用于安裝、建構、删除和管理 Debian 軟體包的指令行工具。

要使用dpkg指令列出所有已安裝的軟體包的版本和詳細資訊,請運作:

$ dpkg -l           
怎麼通過指令的形式列出各個linux系統已經安裝的軟體包?

或者,使用dpkg-query指令列出所有已安裝的 Debian 軟體包。

$ dpkg-query -l           
怎麼通過指令的形式列出各個linux系統已經安裝的軟體包?

僅列出基于 Debian 的系統中已安裝軟體包的總數:

$ dpkg -l | wc -l
2668           
$ dpkg-query -l | wc -l
2668           

在RHEL、Fedora、CentOS中使用yum指令

yum,是指令行管理工具安裝和基于紅帽系統管理軟體包。

要在 Fedora、RHEL 、 CentOS、中查找已安裝軟體包的清單,請運作:

$ yum list installed           
怎麼通過指令的形式列出各個linux系統已經安裝的軟體包?

使用yum和wc指令僅列出已安裝軟體包的總數:

$ yum list installed | wc -l
347           

在RHEL、Fedora、CentOS中使用dnf指令

DNF是 YUM 的下一代版本,自 Fedora 22、RHEL 8 和 CentOS 8 以來一直是預設的包管理器,DNF 用法與 Yum 相同。

要使用 查找 RHEL、Fedora、CentOS 中已安裝軟體包的清單dnf,請運作:

$ dnf list installed           

如果隻想使用dnf指令顯示包的總數,請運作:

$ dnf list installed | wc -l           

在openSUSE中使用zypper指令

Zypper是預設的指令行包管理器,用于在 SUSE 和 openSUSE 中安裝和管理包。

要使用 列出 openSUSE 中已安裝的軟體包zypper,請運作:

$ zypper se --installed-only           

使用rpm指令

RPM指令,是用來安裝和管理基于紅帽系統從指令行應用程式。

要列出系統上安裝的每個 RPM 包,請運作:

$ rpm -qa           

要逐頁檢視輸出,請将輸出通過管道傳輸到more指令:

$ rpm -qa | more           

還可以使用--last如下标志将所有安裝的軟體包與最新的軟體包放在頂部:

$ rpm -qa --last           

以下兩種是通用方法,可以在任何安裝了snap或flatpak工具的系統上使用這些指令:

列出使用 snap 安裝的軟體包

Snap是 Canonical 開發的軟體部署和包管理系統。

要列出系統上安裝的所有 snap 應用程式,請運作:

$ snap list           
怎麼通過指令的形式列出各個linux系統已經安裝的軟體包?
怎麼通過指令的形式列出各個linux系統已經安裝的軟體包?

使用 flatpak 列出已安裝的包

$ flatpak list --app           

繼續閱讀