Wie kann ich apt zwingen, den Abhängigkeitsbaum für eine minimale Downloadgröße zu optimieren?

10

Einige Hintergrundinformationen :

Wie Sie vielleicht wissen, kann es in einem Debian-Paket alternative Abhängigkeiten geben, die beispielsweise in die CONTROL-Datei geschrieben sind Depends: apache2|something-else. Wie wird aptausgewählt, welche Abhängigkeiten ausgewählt werden sollen, und wie kann ich diese überschreiben, um die Downloadgröße zu minimieren?

Ich habe an einigen Standorten eine langsame Verbindung und benötige diese, um die kleinste Gesamtdownloadgröße zu verwenden. Wie kann ich es dazu zwingen?

Bearbeiten: Ich frage nicht nach Empfehlungen zum Überspringen.

Edit 2: Ich frage nicht nach dem Überspringen von Abhängigkeiten. Ich versuche, alle Abhängigkeiten zu erhalten, nur in der kleinsten Gesamtgröße, insbesondere wenn ich package1|package2Entscheidungen notiere und tief durchquere .

Bearbeiten 3: Ein grepoder ein anderes Shell-Skript ist akzeptabel.

Da die aktuellen Antworten die Frage nicht wirklich beantworten, können sie leider nicht wirklich das Kopfgeld bekommen. Es ist immer noch da draußen für jemanden, der bereit ist, ein Bash-Skript zu schreiben!

Edit 4: Obwohl das Kopfgeld für eine gute Antwort vergeben wurde, die ich Sie ermutigen möchte, stimme ich immer noch nach einer konkreteren Antwort . Wenn es auch elegant mit virtuellen Paketen umgeht, die von einem oder mehreren Paketen bereitgestellt werden, werde ich möglicherweise eine weitere nachträgliche Prämie geben, um diese Antwort zu vergeben .

Monica wieder einsetzen - ζ--
quelle

Antworten:

3

Sie könnten immer alle Abhängigkeiten auflisten lassen, dann könnten Sie von Hand die Pakete installieren, die Sie lieber installieren würden, aber ich habe Manpages und mehrere Foren durchsucht, aber ich konnte Ihre genaue Frage nicht beantworten, außer die Quelle in apt umzuschreiben, so öffnet OpenSource funktioniert sowieso.

David
quelle
Das mag helfen, aber ich brauche etwas Spezifischeres. Versuchen Sie, Ihren Beitrag mit weiteren Details oder einem Shell-Skript zu versehen, während Sie gerade dabei sind, und begrüßen Sie Ubuntu!.
Stellen Sie Monica wieder her - ζ--
1
@ ObsessiveSSOℲ Ehrlich gesagt habe ich nicht die Zeit, aber wenn Sie es tun möchten, dann diesen Befehl: VAR = $ (apt-cache show gedit | grep "Größe" | grep -Ev 'I' | sed 's / Größe: // g ') gibt Ihnen die Paketgröße an, die Sie zum Vergleichen mit Werten in einem Array verwenden können, das mit diesem Befehl gefüllt wird. Entschuldigung, ich konnte nicht mehr helfen.
David
Wenn nichts Besseres kommt, sind Sie wirklich der Gewinner dieser Prämie.
Stellen Sie Monica wieder her - ζ--
@ ObsessiveSSOℲ könnten Sie ein Beispiel für ein Paket mit Alt-Abhängigkeiten geben
David
Etwas so Einfaches wie wordpress, was beinhaltet apache2|httpd. Beachten Sie auch, dass httpdes sich um ein virtuelles Paket handelt. Ich werde dir auch das Kopfgeld geben. Ich werde es aber noch nicht akzeptieren.
Stellen Sie Monica wieder her - ζ--
1

Soweit ich weiß, gibt es keine Möglichkeit, dies zu optimieren. Die meisten Dinge sind bereits stark komprimiert, sodass Sie nicht fast die gesamte Dateigröße herunterladen . (Sehen Sie sich bei der nächsten Installation eines Pakets den Unterschied zwischen der herunterzuladenden Datenmenge und dem insgesamt zu verbrauchenden Festplattenspeicher an.)

Wenn Sie wissen, was Sie tun (z. B. Sie haben es bereits installiert foo, aber es heißt, dass Sie es neu installieren müssen) und alle Abhängigkeiten bei der Installation einer Datei weglassen möchten, fügen Sie das Flag hinzu --no-install-recommends.
Einige der Antworten auf diese Frage erläutern, wie bestimmte Pakete ohne Abhängigkeiten installiert werden. Sie haben es ein bisschen tiefer behandelt als ich. Wenn Sie also immer noch Probleme haben oder meine Antwort Ihr Problem nicht gelöst hat, würde ich empfehlen, einen Blick auf diesen Thread zu werfen.

JamesTheAwesomeDude
quelle
-2

Ich denke, Sie verwirren, wie Abhängigkeiten funktionieren. Wenn etwas abhängig ist, wird es per Definition benötigt. Ich nehme an, Sie könnten herausfinden, welche Dateien genau aus der Abhängigkeit stammen, die die gewünschte App verwendet ... und alles entfernen, was sie nicht aufruft. Aber das scheint für ein paar Megabyte viel Arbeit zu sein.

Sie scheinen nach einem Auto zu fragen, das immer noch ohne 4. Rad fährt (sagen wir, wegen dieser Metapher "links hinten"), um Gewicht zu sparen. Irgendwann müssen Sie rechts abbiegen. Das Auto rollt immer noch, aber nur mit bestimmten Funktionen ... Wenn Sie den 'Recommended' nicht installieren, werden Sie meiner Meinung nach so leicht wie möglich fahren, ohne sich mit der Entwicklung befassen zu müssen.

knope
quelle
6
Du hast die Frage wirklich nicht verstanden. Er kennt die Abhängigkeiten. Sie sollten jedoch wissen, dass es zwei Pakete geben kann, die dieselbe Abhängigkeit erfüllen. In diesem Fall wollte er die weniger große
Anwar
IMO ist es bedauerlich, dass diese Antworten unter Abstimmungen leiden müssen. Das sind gute Antworten, und ich hoffe, niemand wurde entmutigt. Stellen Sie einfach sicher, dass Sie die Frage beantworten.
Stellen Sie Monica wieder her - ζ--
@as ty zur Klärung und Information. :) (Ich habe nichts gegen die Abstimmungen.)
Knope
Ich habe dich nicht zuerst abgelehnt, sondern nur die Sache erklärt. aber jetzt habe ich gegeben, weil die Antwort das Problem nicht angesprochen hat @ ObsessiveSSOℲ sprach in seiner Frage
Anwar