在本指南中,我们将解释如何列出和过滤 Debian 上已安装的软件包。我们还将向您展示如何检查是否安装了特定的软件包、计算已安装的软件包以及找出已安装软件包的版本。
当您需要在另一台计算机上安装相同的软件包或想要重新安装系统时,了解如何列出基于 Debian 的系统上已安装的软件包会很有帮助。
使用 apt 列出已安装的软件包#
Apt是包管理系统的命令行界面,结合了最常用的功能apt-get
and apt-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
该命令将显示所有已安装软件包的列表,包括软件包版本、体系结构和简短描述。
您可以过滤dpkg-query -l
输出使用grep
命令:
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 系统上已安装的软件包。
如果您有任何疑问,请随时发表评论。