在'apt-cache depends' 输出中,Suggests、Recommends、|、<> 的含义是什么?

Pet*_*r.O 21 apt documentation info manpage apt-cache

我检查了 man/info 页面,但没有提到输出格式的某些方面 apt-cache depends

man/info 页面试图提供帮助(以一种迟钝的方式);引用:“对于输出的其余部分的具体含义,最好查阅 apt 源代码”

现在公平地对待信息页面,该引用是关于它已合理解释的“showpkg”选项,但我的选项没有这样的解释......我知道 Linux 信息来自许多来源(不仅仅是 man/info页),而且我并不特别想翻阅源代码(尽管有时我会这样做),所以这里有一个我想知道其含义的示例。

# I can assume what these mean, but... 
#  What does | mean? (probably means 'or'???)
#  What does <pkg> and the following indentations  mean? 
#  At the end, the interaction(?) of Suggest and Recommends puzzles me.

$ apt-cache depends solr-common
solr-common    
  Depends: debconf
 |Depends: openjdk-6-jre-headless
 |Depends: <java5-runtime-headless>
    default-jre-headless
    gcj-4.4-jre-headless
    gcj-jre-headless
    gij-4.3
   openjdk-6-jre-headless
  Depends: <java6-runtime-headless>
    default-jre-headless
    openjdk-6-jre-headless
  Depends: libcommons-codec-java
  Depends: libcommons-csv-java
  Depends: libcommons-fileupload-java
  Depends: libcommons-httpclient-java
  Depends: libcommons-io-java
  Depends: libjaxp1.3-java
  Depends: libjetty-java
  Depends: liblucene2-java
  Depends: libservlet2.5-java
  Depends: libslf4j-java
  Depends: libxml-commons-external-java
  Suggests: libmysql-java
 |Recommends: solr-tomcat
  Recommends: solr-jetty
Run Code Online (Sandbox Code Playgroud)

psu*_*usi 16

权威参考是 Debian 政策手册:http : //www.debian.org/doc/debian-policy/

引用手册:

Recommends 字段应该列出除了不寻常的安装之外的所有软件包都可以与此软件包一起找到。

建议:这用于声明一个包可能对一个或多个其他包更有用。使用这个字段告诉打包系统和用户,列出的包与这个包相关,也许可以增强它的实用性,但是安装这个没有它们的包是完全合理的。

这些天推荐的包也默认安装(当你安装推荐的包时)。

正如你猜的那样| 表示“或”。控制行通常显示 foo | bar,但 apt-cache 似乎通过在自己的行上显示每个替代项并在第一个前面加上 | 来重新格式化它。换句话说,管道标记首选选项,下一行是替代选项。

尖括号中列出的包表示它是一个虚拟包。在它后面的缩进行中列出的包是提供该服务的各种包。

  • @fred.bear 一个很好的例子是像 audacity 这样的音乐程序。如果你想翻录CD,你需要安装cdparanoia。如果你想编码/播放 mp3,那么你需要安装 lame。您仍然可以在没有这些的情况下运行 audacity,但是大多数运行它的人都希望它能够将 cd 翻录为 mp3,因此应该推荐这些软件包。它还可以编码为 FLAC,但由于大多数人不使用 FLAC,因此这是一个更好的建议候选者。 (3认同)
  • 推荐现在默认安装,建议不是。这是实践中的主要区别。本质上,推荐允许您“依赖”某些东西,但允许用户仍然卸载它而不卸载您的软件包。建议仅作为您可能还想安装的内容出现在某些 UI 中。用例类似于`file-roller`(存档管理器),它暗示了一个更奇特的压缩库,如果安装它可以使用,但大多数人不想要。 (2认同)