Suche nach empfohlenen Paketen der nächsthöheren Ebene für ein bestimmtes Debian-Paket

0

Ich bin gerade dabei, eine Live-CD zu erstellen, und um das CD-Image zu verkleinern, muss ich auf einige Pakete verzichten. Standardmäßig werden empfohlene Pakete installiert, und durch das Ausschalten wird die CD von unerwünschtem Inhalt befreit (warum sollte ich den QT4-Designer benötigen, weil ich ein Python-QT-Programm bündle?), Sodass sie kaum noch verwendet werden kann.

Ideal wäre ein Tool, das eine Liste von Paketen als Eingabe verwendet und das folgende Abhängigkeitsdiagramm crawlt nur "Hängt ab" -Links, druckt aber die gefundenen "Empfehlungs" -Links aus und zeigt mir effektiv die "oberste Ebene" der empfohlenen Pakete, die basierend auf den Paketen, die ich in das Tool eingegeben habe, installiert würden. Dies würde mir helfen, zu entscheiden, welches dieser Pakete enthalten sein muss, und dann kann ich das Tool für diesen Satz von Paketen erneut ausführen, bis es keine weiteren mehr gibt, die ich benötige.

Andere Werkzeuge mögen apt-cache depends werde alles rauswerfen, und wenn ich nach "Recommends" greife, werden mir Pakete angezeigt, die auch empfohlene Pakete empfehlen, die ich nicht möchte.

Zum Beispiel wenn:

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

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

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

cdhowie
quelle
Dies ist keine perfekte Lösung, aber sie kann Sie näher bringen. Installieren Sie das System mit install recommends on. Führen Sie dann debfoster aus und lassen Sie es so konfigurieren, dass Empfehlungen nicht als abhängig behandelt werden. Dies wird Sie durch jedes der empfohlenen Pakete führen und Ihnen zeigen, was sie einholen, und Sie fragen, ob Sie das Paket und seine Abhängigkeiten oder nur das Paket entfernen möchten. Es sollte in einem Kommentar erklärt werden, aber wenn Sie debfoster installieren und eine Weile damit spielen, werden Sie auf die Idee kommen. Vergessen Sie nicht, dpigs und popcon-greatest-unused
dfc

Antworten:

0

Ich denke der apt-rdepends Werkzeug ist genau das, was Sie wollen. Installieren Sie das Paket über apt-get und führen Sie es aus (ersetzen Sie das im Beispiel verwendete Paket "apt" durch Ihr Paket "A"):

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 weglassen grep Sie sehen auch die Pakete mit dem Link "Empfiehlt". Es ist ziemlich unkompliziert und entspricht genau Ihren Anforderungen apt-rdepends es folgen "abhängige" Verknüpfungen zu einer beliebigen Rekursionsebene.

Weitere Informationen zu Befehlszeilenoptionen finden Sie in der Manpage. Es ist ein wirklich süßes Tool, mit dem Sie sogar rückwärts suchen können!

herzbube
quelle