我检查了 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
答案1
权威参考是 Debian 政策手册:http://www.debian.org/doc/debian-policy/
引用手册:
推荐字段应该列出在除不寻常的安装外的所有安装中都会与此软件包一起找到的软件包。
建议:这用于声明一个软件包与一个或多个其他软件包一起使用时可能更有用。使用此字段可以告诉包装系统和用户列出的软件包与此软件包相关,并且可能增强其实用性,但是不安装这些软件包安装此软件包也是完全合理的。
现在,推荐的软件包也会默认安装(当您安装推荐的软件包时)。
正如您所猜测的,| 表示“或”。控制行通常显示 foo | bar,但 apt-cache 依赖项似乎会重新格式化它,方法是将每个备选方案显示在各自的行上,并在第一个备选方案前面加上 |。换句话说,管道标记首选选项,下一行是备选方案。
尖括号中列出的包表示这是一个虚拟包。其后缩进行中列出的包是提供该服务的各种包。