En la salida 'apt-cache dependen', ¿cuál es el significado de Sugiere, Recomienda, |, <>?

20

He revisado la página man / info, pero no hay referencia a algunos aspectos del formato de salida de apt-cache depends

La página man / info intentó ser útil (de manera obtusa); cita: "Para el significado específico del resto de la salida, es mejor consultar el código fuente de apt"

Ahora, para ser justos con la página de información, esa cita se refería a la opción 'showpkg' que había explicado razonablemente, pero mi opción no tenía tal explicación ... Entiendo que la información de Linux proviene de muchas fuentes (no solo man / info páginas), y no quiero hurgar particularmente en la fuente (aunque a veces lo hago), así que aquí hay un ejemplo de lo que me gustaría saber el significado.

# 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
Peter.O
fuente

Respuestas:

15

La referencia autorizada es el manual de políticas de Debian: http://www.debian.org/doc/debian-policy/

Citando el manual:

El campo Recomienda debe enumerar los paquetes que se encontrarían junto con este en todas las instalaciones, excepto las inusuales.

Sugiere: Esto se utiliza para declarar que un paquete puede ser más útil con uno o más. El uso de este campo le dice al sistema de empaquetado y al usuario que los paquetes listados están relacionados con este y tal vez puedan mejorar su utilidad, pero que instalar este sin ellos es perfectamente razonable.

En la actualidad, los paquetes recomendados también se instalan de manera predeterminada (cuando instala el paquete siguiendo las recomendaciones).

Como adivinaste el | indica "o". La línea de control normalmente muestra foo | bar, pero apt-cache depende parece reformatearlo mostrando cada alternativa en su propia línea y prefijando la primera con |. En otras palabras, la tubería marca la opción preferida y la siguiente línea es la alternativa.

El paquete que figura entre paréntesis angulares indica que es un paquete virtual. Los paquetes enumerados en las líneas sangradas después son los diversos paquetes que proporcionan ese servicio.

psusi
fuente
Gracias psusi Eso ciertamente me ha puesto en el camino correcto. La diferencia entre Recomendar y Sugerir todavía es un poco vaga para mí, pero estoy seguro de que ahora sé aproximadamente lo que significan, gradualmente lo 'entenderé' mediante la exposición a algunos ejemplos en los que ya tengo una idea de qué y por qué se sugiere o recomienda algo.
Peter
2
Las recomendaciones ahora están instaladas por defecto y las sugerencias no. Esa es la principal diferencia en la práctica. Esencialmente, recomienda permitirle "depender" de algo, pero permitir que el usuario aún lo desinstale sin desinstalar sus paquetes. Las sugerencias simplemente aparecen en algunas interfaces de usuario como algo que quizás también desee instalar. El caso de uso es algo así como file-roller(el administrador de archivos) sugiere una biblioteca de compresión más exótica que podría usar si está instalada, pero la mayoría de la gente no quiere.
andrewsomething
3
@ fred.bear un buen ejemplo es un programa de música como audacity. Si desea extraer cds, debe instalar cdparanoia. Si desea codificar / reproducir mp3, entonces necesita instalar lame. Aún puede ejecutar audacity sin estos, pero la mayoría de las personas que lo ejecutan esperan que pueda copiar cds a mp3, por lo que se deben recomendar esos paquetes. También puede codificar a FLAC, pero eso lo hace un mejor candidato para sugerencias, ya que la mayoría de las personas no usan FLAC.
psusi
@andrewsomething y @psusi ... un par de buenos éxitos ... gracias
Peter.O