Warum empfehlen / erfordern die meisten Distributionen (außer Debian) eine vollständige Neuinstallation, wenn Sie auf eine neue Version aktualisieren?


10

Nachdem ich den größten Teil meines Linux-Lebens mit Debian verbracht habe, habe ich mir andere Distributionen angesehen und bin wirklich überrascht, inwieweit sie kein reibungsloses Upgrade zwischen den Versionen ermöglichen. Debian ist unendlich aktualisierbar, und ich habe jetzt ein Upgrade durch einige wichtige stabile Versionen durchgeführt.

Ich spreche von gut unterstützten Distributionen wie Fedora (und Derivaten), sogar von Ubuntu und Derivaten. Auch stabile Server-orientierte Distributionen wie CentOS.

Liegt es daran, dass Debians Paketverwaltungssystem und die Skripte für die Paketaktualisierung viel weiter fortgeschritten sind als alles, was andere Distributionen zu bieten haben?

Oder ist eine Neuinstallation bei einem Hauptversions-Upgrade insgesamt nur eine bessere Idee, unabhängig von der Distribution?

Antworten:


6

Es ist eine Kombination mehrerer Faktoren.

Die meisten Distributionen verwenden Hauptversionen als Zeit, um wichtige, manchmal brechende Änderungen zu implementieren. Zum Beispiel haben Fedora 15 systemd und Ubuntu upstart in 6.10 hinzugefügt. Debian ist in vielerlei Hinsicht eine sehr konservative Distribution. Große, brechende Veränderungen sind verpönt.

Dies hat zum Beispiel zur Folge, dass Debians Veröffentlichungszyklen so weit auseinander liegen, dass jedes wichtige Paket modifiziert werden muss, um den Standards der neuen Veröffentlichung zu entsprechen.

Die Paketverwaltungstechnologie von Debian ist Fedora oder Ubuntu nicht überlegen (offensichtlich, weil sie mit Ubuntu identisch ist), aber Debian hat kulturell entschieden, dass ein reibungsloses Upgrade-System wichtig ist.


5
Genauer gesagt, sie haben beschlossen, dass Sie einen Produktionsserver nicht von Grund auf neu installieren müssen, um die Software zu aktualisieren.
Shadur

Selbst mit Fedora wird bei einem Upgrade (mit einer Version) über das Installationsprogramm versucht, DTRT durchzuführen, sofern dies möglich ist, um die zugrunde liegenden Infrastrukturänderungen zu berücksichtigen.
Ignacio Vazquez-Abrams

1

Um genauer zu werden, habe ich bei vielen Distributionen Probleme beim Upgraden festgestellt. Ubuntu Ändert beispielsweise die installierte Paketbasis zwischen den Releases drastisch. Wenn Sie das traditionelle "dist-upgrade" ausführen, werden die installierten Pakete auf ihre neuen Releases aktualisiert, aber das Endergebnis enthält keine neuen Änderungen an der Aufstellung. Wenn ein Paket aus der Standardinstallation auf "nur unterstützt" oder noch schlimmer "nicht unterstützt" herabgestuft wird, behalten Sie dieses Paket weiterhin bei. Wenn sich jetzt ein neues Paket in der Standardinstallation befindet, wird es nicht installiert. Obwohl es sich bei Ihrer Version "technisch" um die aktualisierte Version handelt, spiegelt sie nicht die neue Release-Erfahrung wider. Der gleiche Fall ist auch sehr genau, wenn sie CentOS5 mit CentOS6 vergleichen und ihre Verpackungsnamen komplett neu ordnen.

Debian priorisiert reibungslose Upgrades auf Kosten solch drastischer Änderungen. Aus diesem Grund ist Debian bei neueren Funktionen langsamer, für die Community ist der Kompromiss akzeptabel. Um die vorherige Antwort zu wiederholen, hat dies an sich nichts mit der Paketverwaltungstechnologie zu tun. Ich werde sagen, dass die ständigen Ubuntu-Neuinstallationen auf mir lasten.


Ubuntu enthält ein spezielles Tool für Upgrades, das angeblich mehr erledigt als nur ein dist-Upgrade. Weißt du mehr darüber und ist es etwas Gutes?
Trr

1

Was Sie angeben, gilt nicht für die gesamte Familie der fortlaufenden Veröffentlichungen .

Für eine Systemwartungssoftware ist es viel schwieriger, paketübergreifende Kompatibilitätsprobleme zu lösen, wenn nur einige Teile des Systems aktualisiert werden oder die Konfigurationskonsistenz während der Upgrades beibehalten wird. Verschiedene Softwarepakete müssen so angepasst werden, dass sie gut miteinander funktionieren.

Aus diesem Grund ist es die einfachste (dh zuverlässigste und gleichzeitig zeitaufwändigste ) Lösung, ein Systemupdate bereitzustellen, regelmäßig ein vollständiges, gründlich getestetes Release für die vollständige Installation vorzubereiten. Enterprise-Lösungen wie Red Hat vertreten die Auffassung, dass dem Client ein zuverlässiges System zur Verfügung gestellt werden muss, und dass Probleme auftreten müssen, wenn Upgrades so lange wie möglich unterbrochen werden. (Natürlich müssen kleinere Upgrades und Bugfixes verfügbar sein oder sogar automatisch abgerufen werden). Dies ist auch die allgemeine Philosophie hinter kostenlosen Server-Distributionen wie CentOS.

Den Endbenutzern eine nahtlose Upgrade-Route zwischen den Versionen bereitzustellen, ist eine große Herausforderung für die Systementwickler. Viele Distributionen verzichten darauf, ihre knappe Zeit dafür aufzuwenden. Viele beliebte Pakete (wie z. B. QT) sind schwer zu aktualisieren und erfordern oft eine vollständige Neuinstallation. Was noch wichtiger ist, viele Projekte weisen einen geringeren Entwicklungsaufwand auf oder werden auf andere Weise durch neue Technologien verdrängt. Im Falle von Systempaketen erfordert dies häufig eine erhebliche Umgestaltung des Systems. Migrationsverfahren können besonders schwierig zu implementieren sein, wenn sie die Tatsache berücksichtigen müssen, dass einige Benutzer ein Upgrade von Version C auf D durchführen möchten, andere jedoch Form B oder von A oder von einem benutzerdefinierten Status in der Mitte wechseln.

Wie Sie vielleicht bereits erraten haben, ist der schwierigste Ansatz das Rolling Release. Ich kenne die Details von Debians Herangehensweise nicht, aber aus Ihrer Beschreibung kann ich sehen, dass sie sich irgendwo in der Mitte befinden.


Debian unterstützt Upgrades von früheren Stables auf aktuelle Stables. Da sie 2 oder 3 Jahre auseinander liegen, beinhalten sie wichtige Übergänge wie glibc, KDE 3 bis 4, das kommende Gnome 2 bis 3 usw. Sie erwähnen, dass einige Pakete schwer zu aktualisieren sind und neu installiert werden müssen - dies ist bekannt innerhalb von Debian als "bedeutender Übergang" und dennoch ist ihr Paketmanager perfekt in der Lage, diese zu verwalten und sie vollständig zu testen und für Endbenutzer zu unterstützen. Ich denke, es hat viel mehr mit der Denkweise zu tun, als Sie behaupten - Debian ist der Meinung, dass dies der richtige Weg ist, um dies zu erreichen.
Trr
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.