如何列出基于Ubuntu和Debian的Linux发行版上已安装的软件包

时间:2020-01-09 10:45:20  来源:igfitidea点击:

列出Ubuntu和Debian中已安装的软件包

如果我们广泛使用apt命令,则可能希望使用apt列出已安装软件包的命令。我们在这里并不完全错误。

尽管apt-get命令没有像apt-get list安装软件包那样简单的选项,但apt对此有一个命令。

apt list --installed

这将列出使用apt安装的所有软件包。它还将列出作为依赖项安装的软件包。这意味着不仅我们将拥有已安装的应用程序,还将拥有大量未直接安装的库和其他软件包的列表。

检查Ubuntu中是否安装了特定的软件包

由于已安装软件包的列表很大,因此最好使用grep并过滤特定软件包的输出。

apt list --installed | grep program_name

更好的方法是使用以下命令:

apt -qq list program_name --installed

两个q选项均用于安静模式。这样,它仅查找已安装的程序。

在Ubuntu / Debian中检查已安装软件包的其他方法

如果我们已阅读我的apt vs apt-get比较文章,我们可能已经知道apt和apt-get基本上都使用dpkg。这意味着我们可以使用dpkg命令列出Debian中所有已安装的软件包。

dpkg-query -l

我们可以再次使用grep过滤输出以搜索特定的程序包。

到目前为止,我们已经处理了使用Debian的软件包管理器安装的应用程序。 Snap和Flatpak应用程序如何?如何列出它们,因为apt和dpkg无法访问它们?

要显示系统上安装的所有Snap软件包,请使用以下命令:

snap list

快照列表还用绿色勾号指示哪些应用程序来自经过验证的发布者。

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

flatpak list

列出最近安装的软件包

我们可以使用dpkg命令的日志或者apt命令的日志。

grep " install " /var/log/dpkg.log

这将列出所有软件包,包括最近在系统上安装的依赖项以及安装时间。

2019-02-12 12:41:42 install ubuntu-make:all  16.11.1ubuntu1
2019-02-13 21:03:02 install xdg-desktop-portal:amd64  0.11-1
2019-02-13 21:03:02 install libostree-1-1:amd64  2018.8-0ubuntu0.1
2019-02-13 21:03:02 install flatpak:amd64  1.0.6-0ubuntu0.1
2019-02-13 21:03:02 install xdg-desktop-portal-gtk:amd64  0.11-1
2019-02-14 11:49:10 install qml-module-qtquick-window2:amd64  5.9.5-0ubuntu1.1
2019-02-14 11:49:10 install qml-module-qtquick2:amd64  5.9.5-0ubuntu1.1
2019-02-14 11:49:10 install qml-module-qtgraphicaleffects:amd64  5.9.5-0ubuntu1

我们也可以使用apt命令的历史记录。这将仅显示使用apt命令安装的程序。尽管详细信息显示在日志中,但它不会显示随其安装的依赖项。有时候,我们只是想看看,对吗?

grep " install " /var/log/apt/history.log

输出应该是这样的:

Commandline: apt install pinta
Commandline: apt install pinta
Commandline: apt install tmux
Commandline: apt install terminator
Commandline: apt install moreutils
Commandline: apt install ubuntu-make
Commandline: apt install flatpak
Commandline: apt install cool-retro-term
Commandline: apt install ubuntu-software

列出最近安装的软件包

apt的历史日志非常有用,因为它显示了运行apt命令的时间,运行该命令的用户以及该命令安装的软件包。