Suchen nach den nächstgelegenen empfohlenen Paketen der obersten Ebene für ein bestimmtes Debian-Paket

Suchen nach den nächstgelegenen empfohlenen Paketen der obersten Ebene für ein bestimmtes Debian-Paket

Ich bin gerade dabei, eine Live-CD zu erstellen, und um die Größe des CD-Images zu reduzieren, muss ich auf einige Pakete verzichten. Standardmäßig sind empfohlene Pakete installiert, und wenn ich diesen Schalter ausschalte, wird die CD von aufgeblähtem Müll, den ich nicht brauche (warum sollte ich den QT4-Designer brauchen, wenn ich ein Python-QT-Programm bündele?), zu kaum nutzbar.

Ideal wäre ein Tool, das eine Liste von Paketen als Eingabe verwendet und deren Abhängigkeitsdiagramm durchsucht.nur"hängt von"-Links ab, druckt aber die gefundenen "empfohlenen"-Links aus und zeigt mir so effektiv die "oberste Ebene" der empfohlenen Pakete an, die basierend auf den Paketen, die ich in das Tool eingegeben habe, installiert würden. Dies würde mir bei der Entscheidung helfen, welche dieser Pakete eingeschlossen werden müssen, und dann kann ich das Tool für diesen Satz von Paketen erneut ausführen, bis ich keine weiteren mehr benötige.

Andere Tools wie apt-cache dependsgeben alles aus, und wenn ich nach „Empfiehlt“ greppe, werden mir Pakete angezeigt, die von empfohlenen Paketen ebenfalls empfohlen werden, was ich jedoch nicht möchte.

Zum Beispiel, wenn:

  • A hängt von B ab,
  • B empfiehlt C,
  • C hängt von D ab und
  • D empfiehlt E.

Wenn ich dieses hypothetische Tool nach Paket A frage, möchte ich, dass es mir nur Paket C als Ausgabe liefert – ich möchte nicht, dass E eingeschlossen wird, da ich noch nicht einmal weiß, ob ich C möchte.

Gibt es ein solches Tool oder gibt es eine einigermaßen einfache Möglichkeit, dies mit vorhandenen Tools zu erreichen?

Antwort1

Ich denke, das apt-rdependsTool ist genau das, was Sie wollen. Installieren Sie das Paket über apt-get und führen Sie dann Folgendes aus (ersetzen Sie Ihr Paket „A“ durch das Paket „apt“, das ich im Beispiel verwende):

apt-rdepends --follow=Depends --show=Recommends apt 2>/dev/null | grep Recommends
  Recommends: gnupg
  Recommends: libc6-i686
  Recommends: gnupg-curl
  Recommends: libldap-2.4-2 (>= 2.4.7)

Wenn Sie es weglassen, grepwerden Ihnen auch die Pakete angezeigt, die den Link „Empfiehlt“ enthalten. Das ist ziemlich unkompliziert und entspricht genau Ihren Anforderungen, allerdings mit einem möglichen Haken: Sie können nicht sagen, apt-rdependswann Sie aufhören sollen, d. h. es folgt „hängt von“-Links bis zu einer beliebigen Rekursionsebene.

Lesen Sie die Manpage, um mehr über Befehlszeilenoptionen zu erfahren. Es ist ein wirklich tolles Tool, Sie können sogar Reverse-Depends-Suchen durchführen!

verwandte Informationen