Ich werde mein System von 32 Bit auf 64 Bit ändern und es wird das gleiche sein, das ich zuvor hatte, Debian Squeeze, aber ich möchte die zuvor installierten Programme nicht verlieren, weil ich mich nicht an den Namen aller erinnere.
Daher wollte ich, dass ein Befehl dies für mich erledigt, den Namen aller Programme speichert, die ich in einer Datei installiert habe, aber nicht die Standardprogramme, die mit dem System geliefert wurden, und wenn ich das andere System verwende, würde ich den Namen von erwähnen die Datei und Ihr Verzeichnis, damit alles automatisch installiert wird.
Noch eine Frage: Ist dies mit Programmen möglich, die manuell mit installiert wurden dpkg-i package.deb
? Wenn ja, wie kann ich das machen?
In aktuellen Debian-Versionen können Sie eine Liste explizit installierter Pakete mit erhalten
Für diejenigen, die alte Versionen von Debian
apt-mark showmanual
ausführen, in denen es keine gibt, oder wenn Sie zusätzliche Auswahlen durchführen möchten, können Sie aptitude verwenden.~i
passt zu installierten Paketen;!~M
lässt die Pakete weg, die automatisch als Abhängigkeit von einem anderen Paket installiert wurden.-F %p
Ändert das Ausgabeformat so, dass nur der Paketname enthalten ist.Sie können diese Pakete später mit installieren
Debian Squeeze hat nicht
apt-mark showmanual
, aber es hatapt-mark showauto
welche automatisch installierten Pakete auflistet. Wenn Sie dies verwenden, können Sie alle Pakete auf dem alten System mitdpkg --get-selections >package.list
auflisten, alle wiederherstellen und dann die automatischen Pakete mit markierenapt-mark markauto
. Für Ihren Anwendungsfall (32-Bit bis 64-Bit) werden bei diesem Ansatz wahrscheinlich einige Bibliotheken als manuell markiert, da sie unter verschiedenen Architekturen unterschiedliche Namen haben.Beachten Sie, dass es jetzt ein Tool namens apt-clone gibt (seit Debeezy in Debian verteilt), das alles automatisch erledigt , wenn der Anwendungsfall darin besteht, eine identische Installation zu reproduzieren, anstatt die Pakete beizubehalten, aber die Architektur zu ändern .
quelle
acl
Fall wäre, was für Bibliotheken sinnvoll wäre, könnte ein Paket wie ein wichtiger Bestandteil des Basissystems angesehen und daher als manuell installiert markiert werden. Es wurde "manuell" vom Erstinstallationsprogramm und nicht vom Benutzer installiert. Trotzdem bedeutet "automatisch installiert" "Sie können dies sicher entfernen, wenn es keine Abhängigkeiten aufhebt" und grundlegende Pakete, die für die Erstellung erforderlich sind System funktioniert nicht richtig die Rechnung.Ich sehe keinen einfachen Standard dafür. Ich fürchte, Sie müssen mit
dpkg
den Protokollen und Optionen herumspielen, dadpkg
die "Standardprogramme, die mit dem System geliefert wurden" und die anderen nicht unterschieden werden.DAS WIRD NICHT GERADE VORWÄRTS SEIN . Ich ziehe es vor, dies durch die Verwendung von fettem, großgeschriebenem Text zu verdeutlichen , aber Sie können so etwas tun
Extrahieren Sie die Liste der installierten Software aus den
/var/log/dpkg.log*
Dateien.Entfernen Sie die während der Systeminstallation installierten. (Verwenden Sie die Installationszeit, um sie zu erkennen.)
Speichern Sie die Liste im
dpkg --get-selections
FormatEt voilà! Wenn Ihr System betriebsbereit ist, installieren Sie Ihre Programme mit neu
quelle