W danych wyjściowych „apt-cache zależy”, jakie jest znaczenie Sugeruje, Poleca, |, <>?

20

Sprawdziłem stronę man / info, ale nie ma odniesienia do niektórych aspektów pliku wyjściowego apt-cache depends

Strona man / info próbowała być pomocna (w tępy sposób); cytat: „Aby poznać konkretne znaczenie pozostałej części wyniku, najlepiej skonsultować odpowiedni kod źródłowy”

Teraz, uczciwie do strony informacyjnej, ten cytat dotyczył opcji „showpkg”, którą w uzasadniony sposób wyjaśnił, ale moja opcja nie miała takiego wyjaśnienia ... Rozumiem, że informacje o Linuksie pochodzą z wielu źródeł (nie tylko man / info stron) i nie chcę szczególnie przeszukiwać źródła (chociaż czasami tak robię), więc oto przykład tego, co chciałbym poznać.

# 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
źródło

Odpowiedzi:

15

Autorytatywnym odniesieniem jest podręcznik polityki Debiana: http://www.debian.org/doc/debian-policy/

Cytując instrukcję:

Pole Zalecenia powinno zawierać listę pakietów, które można znaleźć razem z tym pakietem we wszystkich instalacjach oprócz nietypowych.

Sugeruje: Służy do deklarowania, że ​​jeden pakiet może być bardziej przydatny w przypadku jednego lub więcej innych. Użycie tego pola informuje system pakowania i użytkownika, że ​​wymienione pakiety są powiązane z tym i może być może zwiększyć jego użyteczność, ale instalacja tego pakietu bez nich jest całkowicie rozsądna.

Obecnie polecane są również pakiety, które są domyślnie instalowane (podczas instalowania pakietu zgodnie z zaleceniami).

Jak zgadłeś | wskazuje „lub”. Linia kontrolna zwykle pokazuje foo | bar, ale wydaje się, że apt-cache zależy od sformatowania go przez pokazanie każdej alternatywy w osobnym wierszu i poprzedzenie pierwszego znakiem |. Innymi słowy, potok zaznacza preferowaną opcję, a następny wiersz jest alternatywą.

Pakiet wymieniony w nawiasach kątowych wskazuje, że jest to pakiet wirtualny. Pakiety wymienione w wciętych wierszach po nim są różnymi pakietami, które zapewniają tę usługę.

psusi
źródło
Dzięki psusi. To z pewnością postawiło mnie na właściwej drodze. Różnica między poleceniami a sugestiami jest nadal dla mnie trochę niejasna, ale jestem pewien, że teraz jestem świadomy mniej więcej tego, co one oznaczają, stopniowo „rozumiem” poprzez ujawnienie niektórych przykładów, w których już mam wyczucie, co i dlaczego coś jest sugerowane lub zalecane.
Peter.O
2
Zalecenia są teraz instalowane domyślnie, a sugeruje, że nie. To główna różnica w praktyce. Zasadniczo zaleca, aby pozwolić ci „polegać” na czymś, ale pozwolić użytkownikowi na odinstalowanie go bez odinstalowywania twoich pakietów. Sugeruje po prostu pojawienie się w niektórych interfejsach użytkownika jako coś, co można również chcieć zainstalować. Przypadek użycia przypomina coś file-roller(menedżer archiwum), co sugeruje bardziej egzotyczną bibliotekę kompresji, której można by użyć, jeśli jest zainstalowana, ale większość ludzi nie chce.
andrewsomething
3
@ fred.bear dobrym przykładem jest program muzyczny taki jak audacity. Jeśli chcesz zgrać płyty CD, musisz zainstalować cdparanoia. Jeśli chcesz zakodować / odtwarzać pliki mp3, musisz zainstalować lame. Nadal możesz uruchomić audacity bez nich, ale większość osób, które go uruchamiają, oczekuje, że będzie w stanie zgrać płyty CD na mp3, więc te pakiety powinny być zalecane. Może także kodować do FLAC, ale jest to lepszy kandydat na sugestie, ponieważ większość ludzi nie używa FLAC.
psusi
@andrewsomething i @psusi ... kilka fajnych dodatków ... dzięki
Peter.O