Kann jemand Ubuntu (Debian) dist-upgrade für mich klären?

35

Ich habe einen Ubuntu 8.04 LTS Server. Es gibt mehrere Pakete, die "zurückgehalten" werden ( "die folgenden Updates wurden zurückgehalten" ), wenn ich eine apt-get upgrade. Nach meinem Verständnis kann ich ein apt-get dist-upgradeUpgrade dieser Pakete durchführen, habe jedoch einige Bedenken:

  1. Wenn ich ein dist-upgradeUpgrade durchführe, werde ich dann ein Upgrade von 8.04 auf eine höhere Version durchführen (8.10, denke ich)? Wenn ja, wozu ist 8.04 "Long Term Support" (LTS)?

  2. Ist das ein "gefährlicher" Prozess? Ich gehe davon aus, dass Pakete zurückgehalten werden, weil es neue Pakete gibt, von denen sie abhängen. Hat dist-upgradeziehen einfach die neuen Pakete und machen einen recht unkompliziert zu aktualisieren, oder gibt es Einschränkungen zu Blick in?

Boden
quelle

Antworten:

57

Mit dem Befehl apt-get upgrade können keine Pakete hinzugefügt oder entfernt werden. apt-get dist-upgrade fügt nach Bedarf Pakete hinzu oder entfernt sie.

Der Befehl apt-get dist-upgrade aktualisiert Sie nicht automatisch von einer Version zu einer anderen, es sei denn, Sie haben auch Ihre Quellen (/etc/apt/sources.list) so aktualisiert, dass sie auf eine neuere Version verweisen.

Mann apt-get

upgrade
    upgrade is used to install the newest versions of all packages 
    currently installed on the system from the sources enumerated 
    in /etc/apt/sources.list.

dist-upgrade
    dist-upgrade, in addition to performing the function of upgrade, 
    also intelligently handles changing dependencies with new versions 
    of packages;

Gibt es besondere Bedenken, die bei einem Dist-Upgrade im Vergleich zu einem Upgrade zu beachten sind?

Meistens bekomme ich immer dist-upgrade, um Updates auf ein System anzuwenden. Achten Sie natürlich genau darauf, welche neuen Pakete hinzugefügt oder entfernt werden. Dies geschieht häufig, wenn etwas wie ein neuerer Kernel hinzugefügt wird, der nicht mit dem vorherigen Kernel kompatibel ist, und Sie Module neu kompilieren müssen. Wenn Sie ein Kernelmodul haben, das Sie selbst erstellen mussten, müssen Sie es möglicherweise für den neuen Kernel neu kompilieren. Ich habe ein paar Systeme mit Netzwerkschnittstellen, die nicht vom Standardkernel unterstützt werden und die ich nach jedem Kernel-Update neu kompilieren muss.

Zoredache
quelle
Danke, das habe ich gehofft. Gibt es besondere Bedenken, die bei einem Dist-Upgrade im Vergleich zu einem Upgrade zu beachten sind? (nicht, dass eines ein Ersatz für das andere ist, ich frage mich nur, ob es noch etwas gibt, das ich beachten sollte)
Boden
Wenn Sie das dist-Upgrade ausführen, erhalten Sie eine Zusammenfassung der Aktionen (zu aktualisierende Pakete, neue Pakete, zu löschende Pakete). Sieh dir an, was gerade gelöscht wird, wenn überhaupt. Wenn Sie Ihre Datei /etc/apt/sources.list nicht geändert haben, sollte sie jedoch nicht zu umfangreich sein.
Brad Lane
2
Nur zur Vervollständigung. Um auf die nächste LTS-Version zu migrieren, sobald diese verfügbar ist, müssen Sie die folgenden Befehle ausführen, nachdem Sie sichergestellt haben, dass Ihre 8.04-Installation auf dem neuesten Stand ist. sudo apt-get installiere update-manager-core und dann sudo do-release-upgrade.
3dinfluence
2

Upgrade vs. Dist-Upgrade sind wirklich Debian-Begriffe. In Debian würden Sie ein Upgrade verwenden, um Änderungen innerhalb einer stabilen Version (die nichts so drastisches wie ein Entfernen beinhalten würde) zu erhalten, und ein dist-Upgrade, um zwischen den Versionen zu wechseln. dist-upgrade sollte die gleichen Ergebnisse wie das Upgrade haben, vorausgesetzt, es sind keine Entfernungen erforderlich.

Wenn Sie zwischen den Versionen wechseln, müssen Sie Ihre sources.list so ändern, dass sie auf die neue Version verweist.

Ubuntu hat nicht dasselbe ultra-konservative Release-Modell, daher lassen sich die Begriffe nicht sauber zuordnen - Sie möchten im Allgemeinen nur dist-upgrade verwenden, es sei denn, Sie wechseln zwischen den Releases. In diesem Fall verwenden Sie einen eigenen Upgrade-Dienst, do-release -Aktualisierung.

Kapitän Segfault
quelle
you'd generally just want to use dist-upgrade unless you're going between releases, in which case you use the upgrade script. Ich denke, Captain Segfault, Sie haben es umgekehrt gemeint: - Sie möchten im Allgemeinen nur das Upgrade verwenden, es sei denn, Sie wechseln zwischen den Releases. In diesem Fall verwenden Sie das dist-upgrade-Skript.
2
Ubuntu hat ein separates Programm, um das Upgrade durchzuführen. Sie verwenden das, nicht apt-get, um zwischen Releases zu wechseln.
Kapitän Segfault
Wo finde ich dieses separate Programm bitte?
Starbeamrainbowlabs
@ starbeamrainbowlabs es heißt do-release-upgrade , check man do-release-upgrade für details
isync
@isync Richtig. Ich wusste davon - Der Kommentar war nicht klar und ich dachte, dass es einen anderen Befehl gab, mit dem ich nicht in Kontakt gekommen war. Vielen Dank!
Starbeamrainbowlabs