dpkg 或 apt-get 两者中的哪一个给出了更完整的结果?

qre*_*0ct 3 ubuntu dpkg apt package-management

我想弄清楚安装在 Ubuntu (14.04/16.04) 系统上的每个和每个包/软件。

根据我的理解和关于 SE 和其他地方的一些讨论,比如unix_stack_exchange ask_ubuntu,看起来系统上安装了任何包/软件,最终都会使用 dpkg (无论是包本身还是它的依赖项)。

  1. 那么这是否意味着 dpkg 将始终提供比 apt-get 更全面的系统上安装的所有软件包列表(包括依赖项等)?
  2. 假设 dpkg 可用于列出系统上安装的所有软件(用户/系统/等应用程序)是否安全?

Ste*_*itt 7

dpkg -l将始终提供已安装(或已删除但仍配置)的软件包的正确列表。它实际上用来dpkg-query完成它的工作,并且引用的内容/var/lib/dpkg/status是已安装包的引用。

apt使用相同的信息,但直到最近才提供一种简单的方法来列出包;apt list现在这样做,您将获得与dpkg -l(以不同格式)给出的相同结果。

dpkg可用于列出所有包。如果系统上的所有软件都是使用包安装的,那么它会列出所有软件;但是如果任何软件是手动安装的,没有包,那么它就不会知道。

  • 据我所知,没有通用的方法。在 Debian 衍生产品上,诸如 `cruft`(在 `cruft` 包中)之类的工具可以帮助您列出系统上不是来自包的文件,但是弄清楚它们来自哪里以及它们对应的内容是一个手动过程. (2认同)