如何在 Linux 上列出已安装的软件包
要列出 Ubuntu 或任何 Debian 发行版上已安装的软件包,请在终端中运行“apt list –installed”。运行“dnf list installed”以列出 Fedora 上已安装的软件包。
有数以千计的免费Linux 应用程序,很容易忘记您曾经安装但不再使用的内容。下面介绍如何列出主要 Linux 系列上已安装的应用程序,以及一些不依赖于您的Linux 发行版的方法。
什么是 Linux 系统上的软件包?
广义上讲,Linux 上的软件包类似于 macOS 和 Windows 上的应用程序或程序安装程序。它们捆绑在您通常从中央存储库下载的存档文件中。不同的 Linux 发行版使用不同的格式向您提供这些文件——例如,Debian 和 Ubuntu使用DEB文件,而 RHEL 和Fedora使用RPM文件。
但是,包不一定是完整的、预编译的程序。有时它们是库,为您 PC 上的其他应用程序提供重要功能。
通常使用包管理器安装、更新和删除包。当您安装应用程序时,包管理器也会尝试获取任何依赖项,因此您无需手动查找任何给定应用程序运行所需的每一段代码。
您会经常遇到几个主要的包管理器。Red Hat 派生发行版(如 Fedora)使用dnf
包管理器,Debian 派生发行版(如 Ubuntu)使用apt
,而基于 Arch 的发行版使用pacman
. 还有一些与发行版无关的包管理器,例如Snap和 Flatpak,您可以在大多数 Linux 系统上使用它们。
Apt:在 Ubuntu 上列出已安装的软件包
该apt
命令允许您使用Debian 发行版的包管理器以及从中衍生出来的许多发行版,包括Ubuntu。
要查看已安装软件包的列表,请使用以下命令:
apt list --installed
正如预期的那样,输出很长并且快速滚动过去。
要查看有多少条目,我们可以wc
像以前一样通过管道进行传递。
apt list --installed | wc -l
要查找感兴趣的包,我们可以使用grep
和我们感兴趣的名称或主题的一部分。
apt list --installed | grep xfonts
要调查单个包,请使用apt show
带有包名称的命令。
apt show xml-core
DNF:在 Fedora 上列出已安装的软件包
Fedora 是最成功的 RedHat 衍生桌面发行版。我们将使用它来讨论与dnf
包管理器一起列出已安装的应用程序。
要使用 列出已安装的包dnf
,请运行以下命令:
dnf list installed
这会产生大量信息。
要查看列出了多少包,我们可以wc
使用-l
(lines) 选项通过 传递输出。
这告诉我们dnf
找到了 1,968 个已安装的软件包。为了使输出更易于管理,您可以将其通过管道传输到grep
, 并搜索感兴趣的包。
dnf list installed | grep terminal
您还可以将输出通过管道传输less
并使用其中的搜索功能less
来查找您要查找的内容。
如果你在列表中看到一个你想了解更多的包——如果你正在考虑删除它,这是个好主意——你可以使用命令dnf info
。
您需要提供不包含平台架构详细信息的包名称。例如,要查看包“gnome-terminal.x86_64”的详细信息,您可以键入:
dnf info gnome-terminal
Pacman:列出 Arch 上已安装的软件包
包pacman
管理器用于 Arch Linux 及其衍生产品,例如Manjaro和EndeavourOS。
要使用列出包,pacman
我们需要使用-Q
(query) 选项。
pacman -Q
软件包列表显示在终端窗口中。
由于未满足的依赖关系,安装单个应用程序可能会导致安装多个包。如果应用程序需要特定的库,但您的计算机上没有,安装程序会提供它。同样,卸载应用程序可能会导致删除多个包。所以应用程序的数量与软件包的数量不同。
为了计算已安装的包,我们像以前一样通过管道输出wc
并使用-l
(lines) 选项。
pacman -Q | wc -l
(info)选项-i
让我们可以查看包的详细信息。
pacman -Qi bash
添加-i
选项两次可以提供更多信息(如果有的话)。
pacman -Qii bash
在这种情况下,列表底部有一些额外的行显示“.bash_profile”和“.bash_logout”模板文件所在的位置。
Flatpak:列出任何发行版上已安装的软件包
有多种方法可以安装与分发无关的应用程序。它们被设计成通用包管理器。他们安装沙盒版本的应用程序,包括他们拥有的任何依赖项。这使得安装应用程序的不同版本变得容易,而不必担心版本之间的不兼容性或交叉污染。
从软件开发人员的角度来看,使用通用包管理器意味着他们只需将应用程序打包一次,就可以覆盖所有发行版。
该flatpak
系统是两个最流行的通用安装程序之一。flatpak
如果您在计算机上使用过,您仍然可以使用以下命令列出已安装的应用程序:
flatpak list
这列出了已安装的应用程序和已安装的关联运行时以满足这些应用程序的依赖性。要仅查看应用程序,请添加该--app
选项。
flatpak list --app
要查看单个应用程序的详细信息,请使用info
命令和程序包的应用程序 ID ,而不是应用程序名称。
flatpak info org.blender.Blender
Snap:列出任何发行版上已安装的软件包
另一个流行的通用包管理器称为snap
. 这是一个规范的倡议。它在最近 Ubuntu 版本的 Ubuntu Software 应用程序中默认使用,也 snap
可以安装在其他发行版上。
要列出已使用安装的应用程序 snap
,请使用以下命令:
snap list
要查看单个应用程序的详细信息,请使用 snap info 命令和应用程序的名称。
snap info firefox
为什么要检查已安装的软件包和应用程序?
可供 Linux 用户使用的免费和开源应用程序的选择是惊人的。对于 Linux 的新手来说,它可能会让人不知所措。但这也是乐趣的一部分。如果您有特定需求,您可以搜索一款软件来满足该需求。如果您与找到的人相处不来,那没问题。可能还有几十个你可以尝试,直到你找到一个满足你所有要求的方法。
如果您不小心卸载那些您知道自己不会使用的软件,它们将驻留在您的系统中,耗尽硬盘空间。如果您是一名程序员,您的计算机上还会散布着未使用的工具包和库。在台式计算机上,使用当今相当便宜的大容量驱动器,这本身可能不是什么大问题。在笔记本电脑上,由于存储容量较小,因此更值得关注。
但是无论您是否有空闲的硬盘空间,囤积未使用的软件都意味着软件更新将花费更长的时间,因为您要更新所有这些未使用的应用程序以及您实际使用的应用程序。系统映像和其他备份将比必要的更大,需要更长的时间才能完成,并且会消耗更多的备份介质。
已安装和遗忘的应用程序的组件与您尝试安装的新组件之间也可能不兼容。
为了管理这种情况,显而易见的第一步是找出安装了什么。一旦你知道什么,你就可以查看列表并决定保留什么和去掉什么。
做出明智的决定
dnf
, apt
, 并pacman
具有自动查找和删除孤立和不需要的包的选项。但是他们不会找到您不再使用的旧软件包。这需要人为干预和了解需要卸载的内容。这就是这些方便的命令的用武之地。
清理空间后,您可能会对学习如何在 Linux 设备上安装 Android 应用程序感兴趣。