怎么通过命令的形式列出各个linux系统已经安装的软件包?

2021-09-24 18:01:47 浏览数 (3)

怎么通过命令的形式列出各个linux系统已经安装的软件包?

使用过linux系统的运维应该都有在上面安装过软件包,有时候我们需要查询即将要安装的包有没有在这个系统上已经安装,如果不先查一下,或多或少会出现问题,比如版本不一致等等。

本文将从一些系统进行展开:

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

在 Arch Linux 中使用 pacman 显示已安装的包

Pacman是 Arch Linux 及其衍生产品(如 EndeavourOS 和 Manjaro Linux)的默认包管理器。

要列出Arch Linux 及其衍生产品中使用pacman显示所有已安装软件包,如下:

代码语言:txt复制
$ pacman -Q
在 Arch Linux 中使用 Pacman 列出已安装的软件包在 Arch Linux 中使用 Pacman 列出已安装的软件包

如果要逐页查看输出,请将输出通过管道传输到more命令

代码语言:txt复制
$ pacman -Q | more

仅列出显式安装的软件包和版本:

代码语言:txt复制
$ pacman -Qe

要仅列出 Arch Linux 中已安装软件包的总数,请将pacman输出通过管道传输到wc命令:

代码语言:txt复制
$ pacman -Q | wc -l
134

正如你在上面的输出中看到的,我已经在我的 Arch Linux 系统中安装了134 个包。

在Alpine Linux中使用apk命令获取已安装包列表

Apk是 Alpine Package Manager 的缩写,是 Alpine Linux 的默认包管理器。

在 Alpine Linux 中查看已安装包列表的命令是:

代码语言:txt复制
$ apk info
在 Alpine Linux 中使用 apk 命令查看已安装的包在 Alpine Linux 中使用 apk 命令查看已安装的包

如果要查看已安装的软件包列表以及版本号和软件包描述,请使用-vv如下标志:

代码语言:txt复制
$ apk info -vv

要仅列出 Alpine Linux 中所有已安装软件包的总数,请将apk info输出通过管道发送到wc如下命令:

代码语言:txt复制
$ apk info | wc -l
86

在 Debian、Ubuntu 中使用 apt 命令查找已安装的包

Apt为 Debian、Ubuntu 和其他基于 Debian 的系统中的包管理系统提供了高级命令行界面。

要在 Debian、Ubuntu、Linux Mint 和其他基于 DEB 的系统中显示已安装软件包的列表,请运行:

代码语言:txt复制
$ apt list --installed
在 Debian、Ubuntu 中使用 apt 命令显示已安装的包在 Debian、Ubuntu 中使用 apt 命令显示已安装的包

显示基于 Debian 的系统中已安装软件包的总数,将apt命令的输出通过管道传输到wc命令,如下所示:

代码语言:txt复制
$ apt list --installed | wc -l
2575

在 Debian、Ubuntu 中使用 dpkg 命令

dpkg是一个用于安装、构建、删除和管理 Debian 软件包的命令行工具。

要使用dpkg命令列出所有已安装的软件包的版本和详细信息,请运行:

代码语言:txt复制
$ dpkg -l
使用 dpkg 命令获取已安装的软件包使用 dpkg 命令获取已安装的软件包

或者,使用dpkg-query命令列出所有已安装的 Debian 软件包。

代码语言:txt复制
$ dpkg-query -l
使用 dpkg-query 命令获取所有已安装的 Debian 软件包使用 dpkg-query 命令获取所有已安装的 Debian 软件包

仅列出基于 Debian 的系统中已安装软件包的总数:

代码语言:txt复制
$ dpkg -l | wc -l
2668
代码语言:txt复制
$ dpkg-query -l | wc -l
2668

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

yum,是命令行管理工具安装和基于红帽系统管理软件包。

要在 Fedora、RHEL 、 CentOS、中查找已安装软件包的列表,请运行:

代码语言:txt复制
$ yum list installed
使用 yum 命令列出已安装的软件包使用 yum 命令列出已安装的软件包

使用yum和wc命令仅列出已安装软件包的总数:

代码语言:txt复制
$ yum list installed | wc -l
347

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

DNF是 YUM 的下一代版本,自 Fedora 22、RHEL 8 和 CentOS 8 以来一直是默认的包管理器,DNF 用法与 Yum 相同。

要使用 查找 RHEL、Fedora、CentOS 中已安装软件包的列表dnf,请运行:

代码语言:txt复制
$ dnf list installed

如果只想使用dnf命令显示包的总数,请运行:

代码语言:txt复制
$ dnf list installed | wc -l

在openSUSE中使用zypper命令

Zypper是默认的命令行包管理器,用于在 SUSE 和 openSUSE 中安装和管理包。

要使用 列出 openSUSE 中已安装的软件包zypper,请运行:

代码语言:txt复制
$ zypper se --installed-only

使用rpm命令

RPM命令,是用来安装和管理基于红帽系统从命令行应用程序。

要列出系统上安装的每个 RPM 包,请运行:

代码语言:txt复制
$ rpm -qa

要逐页查看输出,请将输出通过管道传输到more命令:

代码语言:txt复制
$ rpm -qa | more

还可以使用--last如下标志将所有安装的软件包与最新的软件包放在顶部:

代码语言:txt复制
$ rpm -qa --last

以下两种是通用方法,可以在任何安装了snap或flatpak工具的系统上使用这些命令:

列出使用 snap 安装的软件包

Snap是 Canonical 开发的软件部署和包管理系统。

要列出系统上安装的所有 snap 应用程序,请运行:

代码语言:txt复制
$ snap list
列出 Linux 中已安装的 snap 应用程序列出 Linux 中已安装的 snap 应用程序

使用 flatpak 列出已安装的包

Flatpak是一个独立于平台的包管理系统,用于在 Linux 上构建、安装和运行沙盒桌面应用程序和运行时。

要列出 Linux 中所有已安装的 flatpak 应用程序,请运行:

代码语言:txt复制
$ flatpak list --app

![列出 Linux 中使用 flatpak 安装的软件包

](https://cdn.jsdelivr.net/gh/chjswr/picgo/img/202109181506307.png)

0 人点赞