怎麼通過指令的形式列出各個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
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsAjMfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsQTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SYiRGOyQmY5IDNzgTN2MjZhFDNjVjM0IzMjlDZ5QzMm9CX0IzLclDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL0M3Lc9CX6MHc0RHaiojIsJye.png)
如果要逐頁檢視輸出,請将輸出通過管道傳輸到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
如果要檢視已安裝的軟體包清單以及版本号和軟體包描述,請使用-vv如下标志:
$ apk info -vv
要僅列出 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
顯示基于 Debian 的系統中已安裝軟體包的總數,将apt指令的輸出通過管道傳輸到wc指令,如下所示:
$ apt list --installed | wc -l
2575
在 Debian、Ubuntu 中使用 dpkg 指令
dpkg是一個用于安裝、建構、删除和管理 Debian 軟體包的指令行工具。
要使用dpkg指令列出所有已安裝的軟體包的版本和詳細資訊,請運作:
$ dpkg -l
或者,使用dpkg-query指令列出所有已安裝的 Debian 軟體包。
$ dpkg-query -l
僅列出基于 Debian 的系統中已安裝軟體包的總數:
$ dpkg -l | wc -l
2668
$ dpkg-query -l | wc -l
2668
在RHEL、Fedora、CentOS中使用yum指令
yum,是指令行管理工具安裝和基于紅帽系統管理軟體包。
要在 Fedora、RHEL 、 CentOS、中查找已安裝軟體包的清單,請運作:
$ yum list installed
使用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
使用 flatpak 列出已安裝的包
$ flatpak list --app