Gibt es eine Möglichkeit, dpkg, apt-get oder aptitude dazu zu bringen, eine Liste der Pakete zu erstellen, die auf einem zweiten Rechner installiert werden müssen, um die installierten Pakete zu duplizieren?
d. Wenn ich einen einfachen Ubuntu-Server installiert habe, wähle die sshd-Option zur Installationszeit und installiere dann Build-essential. Ich würde erwarten, dass die Ausgabe ungefähr wie folgt aussieht:
%Vor%Soweit ich sehen kann, werden alle verfügbaren Verpackungswerkzeuge eine ausführliche Liste der Pakete auf einer Box erstellen. Ich bin nicht interessiert an openssh libs, ld, gcc und all den anderen Paketen, die von sshd und build-essential eingebunden werden, da sie installiert werden, wenn ich sshd und build-essential installiere.
Ich möchte nur die Liste des Pakets sehen, das ich installieren muss, um meinen aktuellen Paketsatz auf einem anderen Rechner wiederherzustellen.
Ist das möglich?
deborphan
, irgendwie. Es erstellt eine Liste aller Pakete in Ihrem System, ermittelt, was davon abhängt und druckt die Pakete aus, die keine Abhängigkeiten haben. Standardmäßig werden nur Bibliotheken gedruckt (um das Auffinden von Bibliotheken zu erleichtern, die von anderen Paketen installiert wurden und nicht mehr benötigt werden, daher der Name). Es hat Optionen, um zu tun, was Sie wollen, meistens. Ich laufe es wie:
deborphan -anp required --no-show-section
-a
gibt alle Pakete an (nicht nur Bibliotheken)
-n
ignoriert "Suggests" oder "Empfiehlt" Abhängigkeitsüberprüfung (dh nur "Abhängig")
-p required
listet alle Pakete trotz Priorität auf
--no-show-section
gibt nicht an, in welchem Teil des Debian es sich befindet, nur eine nette Formatierungsfunktion, die Sie beim Erstellen einer Liste nützlich finden könnten.
Jetzt wird es Pakete vermissen, weil einige Pakete zirkuläre Abhängigkeiten haben. Aber diese sind eher ungewöhnlich, also sollte es dir nahe genug kommen.
Der Code, den dannysauer gepostet hat, ist ein Anfang. Sobald Sie eine Liste mit Paketen haben, die Abhängigkeiten enthalten, können Sie apt-rdepends
verwenden, um die Abhängigkeiten für eine bestimmte Komponente zu finden Paket (siehe diese Seite zum Beispiel zur Verwendung und Ausgabe).
Verfahrensbeschreibung
apt-rdepends
auf jedem apt-rdepends
angezeigt werden
Sie wollen also die Liste der Pakete, die explizit installiert wurden (wie zB ubuntu-desktop und openssh) und nicht die automatischen Abhängigkeiten? Ich bin nicht positiv, aber ich denke, das ist dpkg --get-selections
. So können Sie
Und dann, auf dem anderen Computer, verwenden Sie die gleiche "Datei" und führen Sie
%Vor%Ich bin nicht absolut positiv , dass diese Befehle nur manuell ausgewählte Pakete ausführen, und ich bin momentan von allen Debian-basierten Systemen entfernt, um sie zu verifizieren. :)
Was ist damit?
%Vor%Funktioniert es gut? Kann es irgendwie verbessert werden?