
Ich lese ein Tutorial zum Sichern von Paketen von einem Ubuntu/Debian-Server und zum Wiederherstellen auf einem anderen (https://www.digitalocean.com/community/tutorials/ubuntu-and-debian-package-management-essentials#transferring-package-lists-between-systems), das dselect als Teil des Prozesses verwendet.
Wo ich jedoch auch online nachschaue, scheint jeder zu sagen, dass dselect veraltet ist und stattdessen apt verwendet werden sollte, aber ich bin nicht sicher, was das apt-Äquivalent davon sudo apt-get dselect-upgrade
ist.
Ist das wirklich gerecht sudo apt-get upgrade
? Würde ich einfach Folgendes tun:
sudo dpkg --set-selections < packagelist.txt
und dann
sudo apt-get upgrade
? Oder gibt es eine zusätzliche Nuance, dselect-upgrade
die die Verwendung eines anderen Apt-Befehls erfordert, um dieselben Ergebnisse zu erzielen?
Antwort1
apt-get dselect-upgrade
verwendet nicht wirklich dselect
, sondern wendet Änderungen an, die am Status
Feld in der Liste der verfügbaren Pakete vorgenommen wurden. Dies wurde dselect
früher (und wird immer noch) getan, aber es wird auch ausgeführt dpkg --set-selections
– die Anweisungen, denen Sie folgen, verwenden also nur die alte Schnittstelle zwischen dselect
und , apt-get
um apt-get
Änderungen anzuwenden, die von vorgenommen wurden dpkg
.
Der Ablauf ist wie folgt:
dpkg --set-selections
aktualisiert die Paketstatus in der Liste der verfügbaren Pakete (gespeichert in/var/lib/dpkg/status
, basierend auf den verfügbaren Paketen in/var/lib/dpkg/available
), führt jedoch keine Paketinstallationen durch;apt-get dselect-upgrade
löst das Delta zwischen den aktuell installierten Paketen und den in der Liste der verfügbaren Pakete angeforderten Status auf und führt die erforderlichen Aktionen aus, um die beiden in Einklang zu bringen.
Keine dselect
Beteiligung!