确定哪些包与我已经安装的另一个包相关的最简单的方法是什么?

确定哪些包与我已经安装的另一个包相关的最简单的方法是什么?

经过 ”有关的“我的意思是哪些包是”建议“ 以及哪些包是 “受到推崇的“由我安装的软件包引起。我正在运行 Ubuntu 17.04(虽然这无关紧要),并且我安装了一个包含许多建议和推荐软件包的软件包。

安装时,我使用了“ --install-suggests”选项。我想验证这些包是否确实已安装。但是,apt-get --describe <package>安装后没有像“ ”这样的简单命令行,也没有捕获“ apt-get install”中的所有输出……我不知道如何在安装包后确定其详细信息。

答案1

我建议aptitude为此目的使用,如果您还没有,请安装它:

sudo apt install aptitude

然后使用:

aptitude why pkg-name

例如:

why libxinerama1
i   vlc Depends libxinerama1

这意味着该包已安装,因为vlc依赖于它,它还为您提供有关“建议”和“推荐”的信息。

如果你想看到其他方面,请使用以下命令:

apt-cache depends vlc --installed | grep -i rec
  Recommends: vlc-plugin-notify
  Recommends: vlc-plugin-samba
  Recommends: xdg-utils

它为您提供了一个建议列表VLC,其中建议更改recsug

我能想到的另一件事与 类似aptitude why但不那么聪明,aptitude例如apt rdpends pkg

apt rdepends xdg-utils | grep -i sug

它将为您提供建议的软件包列表xdg-utilsaptitude并提供导致安装的确切软件包。

您可以使用选项获得更好的结果--installed

apt rdepends xdg-utils --installed xdg-utils

答案2

我能想到的命令是:

  1. dpkg-query -p package_name

  2. apt-cache show package_name

信息:

人 dpkg:-

 -p, --print-avail package-name...
                  Display details about package-name, as found in
                  /var/lib/dpkg/available. Users of APT-based frontends
                  should use apt-cache show package-name instead.

人apt-cache:-

show pkg...
           show performs a function similar to dpkg --print-avail; it displays the package records for the named packages.

depends pkg...
           depends shows a listing of each dependency a package has and all the possible other packages that can fulfill that dependency.
  1. apt-cache depends package_name有更多选择

现在运行命令后,你可以检查这些包是否都dpends安装了dpkg-query -s package_name

来源:

man dpkg、man dpkg-查询

相关内容