怎么通過命令的形式列出各個(gè)linux系統(tǒng)已經(jīng)安裝的軟件包?

怎么通過命令的形式列出各個(gè)linux系統(tǒng)已經(jīng)安裝的軟件包?
使用過linux系統(tǒng)的運(yùn)維應(yīng)該都有在上面安裝過軟件包,有時(shí)候我們需要查詢即將要安裝的包有沒有在這個(gè)系統(tǒng)上已經(jīng)安裝,如果不先查一下,或多或少會(huì)出現(xiàn)問題,比如版本不一致等等。
本文將從一些系統(tǒng)進(jìn)行展開:
Arch Linux
Alpine Linux
Debian
Ubuntu
RHEL
Fedora
CentOS
openSUSE
在 Arch Linux 中使用 pacman 顯示已安裝的包
Pacman是 Arch Linux 及其衍生產(chǎn)品(如 EndeavourOS 和 Manjaro Linux)的默認(rèn)包管理器。
要列出Arch Linux 及其衍生產(chǎn)品中使用pacman顯示所有已安裝軟件包,如下:
$?pacman?-Q

如果要逐頁(yè)查看輸出,請(qǐng)將輸出通過管道傳輸?shù)絤ore命令
$?pacman?-Q?|?more
僅列出顯式安裝的軟件包和版本:
$?pacman?-Qe
要僅列出 Arch Linux 中已安裝軟件包的總數(shù),請(qǐng)將pacman輸出通過管道傳輸?shù)絯c命令:
$?pacman?-Q?|?wc?-l
134
正如你在上面的輸出中看到的,我已經(jīng)在我的 Arch Linux 系統(tǒng)中安裝了134 個(gè)包。
在Alpine Linux中使用apk命令獲取已安裝包列表
Apk是 Alpine Package Manager 的縮寫,是 Alpine Linux 的默認(rèn)包管理器。
在 Alpine Linux 中查看已安裝包列表的命令是:
$?apk?info

如果要查看已安裝的軟件包列表以及版本號(hào)和軟件包描述,請(qǐng)使用-vv如下標(biāo)志:
$?apk?info?-vv

要僅列出 Alpine Linux 中所有已安裝軟件包的總數(shù),請(qǐng)將apk info輸出通過管道發(fā)送到wc如下命令:
$?apk?info?|?wc?-l
86
在 Debian、Ubuntu 中使用 apt 命令查找已安裝的包
Apt為 Debian、Ubuntu 和其他基于 Debian 的系統(tǒng)中的包管理系統(tǒng)提供了高級(jí)命令行界面。
要在 Debian、Ubuntu、Linux Mint 和其他基于 DEB 的系統(tǒng)中顯示已安裝軟件包的列表,請(qǐng)運(yùn)行:
$?apt?list?--installed

顯示基于 Debian 的系統(tǒng)中已安裝軟件包的總數(shù),將apt命令的輸出通過管道傳輸?shù)絯c命令,如下所示:
$?apt?list?--installed?|?wc?-l
2575
在 Debian、Ubuntu 中使用 dpkg 命令
dpkg是一個(gè)用于安裝、構(gòu)建、刪除和管理 Debian 軟件包的命令行工具。
要使用dpkg命令列出所有已安裝的軟件包的版本和詳細(xì)信息,請(qǐng)運(yùn)行:
$?dpkg?-l

或者,使用dpkg-query命令列出所有已安裝的 Debian 軟件包。
$?dpkg-query?-l

僅列出基于 Debian 的系統(tǒng)中已安裝軟件包的總數(shù):
$?dpkg?-l?|?wc?-l
2668$?dpkg-query?-l?|?wc?-l
2668
在RHEL、Fedora、CentOS中使用yum命令
yum,是命令行管理工具安裝和基于紅帽系統(tǒng)管理軟件包。
要在 Fedora、RHEL 、 CentOS、中查找已安裝軟件包的列表,請(qǐng)運(yùn)行:
$?yum?list?installed

使用yum和wc命令僅列出已安裝軟件包的總數(shù):
$?yum?list?installed?|?wc?-l
347
在RHEL、Fedora、CentOS中使用dnf命令
DNF是 YUM 的下一代版本,自 Fedora 22、RHEL 8 和 CentOS 8 以來一直是默認(rèn)的包管理器,DNF 用法與 Yum 相同。
要使用 查找 RHEL、Fedora、CentOS 中已安裝軟件包的列表dnf,請(qǐng)運(yùn)行:
$?dnf?list?installed
如果只想使用dnf命令顯示包的總數(shù),請(qǐng)運(yùn)行:
$?dnf?list?installed?|?wc?-l
在openSUSE中使用zypper命令
Zypper是默認(rèn)的命令行包管理器,用于在 SUSE 和 openSUSE 中安裝和管理包。
要使用 列出 openSUSE 中已安裝的軟件包zypper,請(qǐng)運(yùn)行:
$?zypper?se?--installed-only
使用rpm命令
RPM命令,是用來安裝和管理基于紅帽系統(tǒng)從命令行應(yīng)用程序。
要列出系統(tǒng)上安裝的每個(gè) RPM 包,請(qǐng)運(yùn)行:
$?rpm?-qa
要逐頁(yè)查看輸出,請(qǐng)將輸出通過管道傳輸?shù)絤ore命令:
$?rpm?-qa?|?more
還可以使用--last如下標(biāo)志將所有安裝的軟件包與最新的軟件包放在頂部:
$?rpm?-qa?--last
以下兩種是通用方法,可以在任何安裝了snap或flatpak工具的系統(tǒng)上使用這些命令:
列出使用 snap 安裝的軟件包
Snap是 Canonical 開發(fā)的軟件部署和包管理系統(tǒng)。
要列出系統(tǒng)上安裝的所有 snap 應(yīng)用程序,請(qǐng)運(yùn)行:
$?snap?list


使用 flatpak 列出已安裝的包
Flatpak是一個(gè)獨(dú)立于平臺(tái)的包管理系統(tǒng),用于在 Linux 上構(gòu)建、安裝和運(yùn)行沙盒桌面應(yīng)用程序和運(yùn)行時(shí)。
要列出 Linux 中所有已安裝的 flatpak 應(yīng)用程序,請(qǐng)運(yùn)行:
$?flatpak?list?--app

