如何知道哪些应用程序依赖于X包

这个简短的迷你教程出现为 回应我们的一位读者Felipe的关注,他给我们写信问:«我怎么知道哪些应用程序正在使用Java?«。 好吧,我不认为有一种方法可以知道,但是有一种简单的方法可以知道 存储库中列出的哪些软件包(即哪些应用程序)取决于JAVA软件包。 相同的方法可用于任何其他软件包,例如找出哪些应用程序依赖 MONO.


最常见的是要找出必须安装哪些其他软件包才能使软件包X正常工作。 这些必需的程序包称为依赖项,可以这样找到:

apt-cache取决于mypackage 

您也可以去Synaptic,找到包裹,做 右键单击它>属性>依赖关系.

但是,本文的目的是要找出恰恰相反的情况:哪些软件包具有X软件包作为依赖项。 换句话说,在这种情况下,我们知道“母亲”软件包,并且我们想知道还有哪些其他软件包要求安装该“母亲”软件包才能正常工作。

让我们继续看示例,以更好地理解问题。 让我们看看如何检测依赖于openjdk-6-jre软件包的软件包。 换句话说,如何检测依赖于JAVA的存储库中列出的那些应用程序。

我打开一个终端并写道:

apt-cache rdepends openjdk-6-jre 

将会出现一长串的软件包,包括OpenOffice,FreeMind,OpenCol等。

如何发现正确的“母亲”包裹?

好的,到目前为止,一切都很简单,但是如何找到应该搜索的“母亲”包呢? 好吧,这需要一些专业知识和事先分析。

假设我想了解所有基于MONO的应用程序。 在那种情况下,我所做的就是查找我知道使用MONO的应用程序(GBrainy)的依赖关系,并在此基础上检测“母亲”包并寻找逆向依赖关系。 乌夫,这似乎很困难,但是这是胡说八道。

我打开一个终端并写道:

apt-cache取决于灵活性

结果如下:

  取决于:单运行时
 |取决于:libc6
 |取决于:libc6.1
  取决于:libc0.1
  取决于:libglib2.0-cil
  取决于:libgtk2.0-0
  取决于:libgtk2.0-cil
  取决于:liblaunchpad-integration1.0-cil
  取决于:libmono-addins-gui0.2-cil
  取决于:libmono-addins0.2-cil
  取决于:libmono-cairo2.0-cil
  取决于:libmono-corlib2.0-cil
  取决于:libmono-posix2.0-cil
  取决于:libmono-system2.0-cil
  取决于:librsvg2-2
  取决于:mono-csharp-shell

在我看来,mono-runtime可能是一个不错的选择,因此我决定搜索所有依赖mono-runtime的软件包:

apt-cache rdepends单运行时

瞧! 出现所有使用MONO的软件包。

要查看依赖于某个MONO软件包的所有软件包的完整列表,我们可以编写:

apt-cache rdepends mono *
注意:此方法仅适用于APT存储库中列出的那些应用程序。
谢谢费利!

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   费利佩·贝塞拉

    感谢您回答Pablo,也感谢您的帖子🙂

  2.   齐藤莫德拉格

    巴勃罗,你是我的偶像!

    优秀的职位。

  3.   让我们使用Linux

    大! 感谢您的数据!

  4.   卡夫蒂

    对于那些使用总分配的人…………开玩笑

    对于使用基于RPM的软件包管理器的用户,使用此命令

    rpm -qR软件包

    例如:

    linux @ dhcppc3:〜> rpm -qR xmms
    / bin / sh的
    / bin / sh的
    rpmlib(PayloadFilesHavePrefix)<= 4.0-1
    rpmlib(CompressedFileNames)<= 3.0.4-1
    libICE.so.6
    libSM.so.6
    libX11.so.6
    libXxf86vm.so.1
    libc.so.6
    libc.so.6(GLIBC_2.0)
    libc.so.6(GLIBC_2.1)
    libc.so.6(GLIBC_2.3)
    libc.so.6(GLIBC_2.3.4)
    libc.so.6(GLIBC_2.4)
    libc.so.6(GLIBC_2.7)
    libdl.so.2
    libdl.so.2(GLIBC_2.0)
    libdl.so.2(GLIBC_2.1)
    libgdk-1.2.so.0
    libglib-1.2.so.0
    libgthread-1.2.so.0
    libgtk-1.2.so.0
    libpthread.so.0
    libpthread.so.0(GLIBC_2.0)
    libpthread.so.0(GLIBC_2.1)
    libpthread.so.0(GLIBC_2.3.2)
    libxmms.so.1
    rpmlib(PayloadIsLzma)<= 4.4.6-1