在本指南中,我们将说明如何列出和过滤Debian上已安装的软件包。我们还将向您展示如何检查特定的软件包是否已安装,计数已安装的软件包以及查找已安装软件包的版本。

在需要在另一台机器上安装相同软件包或要重新安装系统的情况下,了解如何列出基于Debian的系统上已安装的软件包会很有帮助。

通过Apt列出已安装软件包

Apt 是软件包管理系统的命令行界面,结合了apt-getapt-cache中最常用的功能,包括列出已安装软件包的选项。

要列出系统上安装的所有软件包,请运行以下命令:

sudo apt list --installed
adduser/stable,now 3.115 all [installed]
apt/stable,now 1.4.8 amd64 [installed]
apt-listchanges/stable,now 3.10 all [installed]
apt-utils/stable,now 1.4.8 amd64 [installed]
autoconf/stable,now 2.69-10 all [installed]
automake/stable,now 1:1.15-6 all [installed]
autotools-dev/stable,now 20161112.1 all [installed,automatic]
base-files/stable,now 9.9+deb9u5 amd64 [installed]
base-passwd/stable,now 3.5.43 amd64 [installed]
bash/stable,now 4.4-5 amd64 [installed]

该命令将显示所有已安装软件包的列表,包括有关软件包版本和体系结构的信息。输出中最右边的列显示该软件包是否作为另一个软件包的依赖项自动安装。

由于软件包列表很长,因此最好将输出通过管道传递到less命令,以使其更易于阅读:

sudo apt list --installed | less

要确定是否安装了特定的软件包,请使用 grep命令过滤输出。例如,要查找系统上是否安装了 tmux 软件包,可以使用:

sudo apt list --installed | grep tmux
tmux/stable,now 2.3-4 amd64 [installed]

上面的输出显示您的系统上已安装tmux 2.3-4。

使用dpkg-query列出已安装的软件包

dpkg-query是命令行,可用于显示有关dpkg数据库中列出的软件包的信息。

要获取所有已安装软件包的列表,请输入:

sudo dpkg-query -l | less

该命令将显示所有已安装软件包的列表,包括软件包版本,体系结构和简短说明。

您可以使用grep命令过滤dpkg-query -l输出:

sudo dpkg-query -l | grep package_name_to_search

创建所有已安装软件包的列表

以下命令会将Debian系统上所有已安装软件包的列表存储到名为packages_list.txt的文件中:

sudo dpkg-query -f '${binary:Package}\n' -W > packages_list.txt

现在有了列表,您可以使用以下方法在新服务器上安装相同的软件包:

sudo xargs -a packages_list.txt apt install

计算已安装的软件包数

要了解系统上安装了多少个软件包,可以使用与创建软件包列表时相同的命令,但是可以将其通过管道传递到wc命令来对行进行计数,而不是将输出重定向到文件中:

sudo dpkg-query -f '${binary:Package}\n' -W | wc -l

输出将显示已安装软件包的数量:

466

结论

在本教程中,您学习了如何列出和过滤Debian系统上已安装的软件包。

如有任何疑问,请随时发表评论。

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持