在本指南中,我们将解释如何在 Debian 上列出和过滤已安装的软件包。我们还将向您展示如何检查是否安装了特定的软件包,计算已安装的软件包并找出已安装软件包的版本。
知道如何在基于 Debian 的系统上列出已安装的软件包在您需要在另一台机器上安装相同的软件包或想要重新安装系统的情况下会很有帮助。
使用 Apt 列出已安装的软件包
Apt 是包管理系统的命令行界面,结合了最常用的功能apt-get
,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 系统上已安装的软件包。