Dlaczego większość dystrybucji (innych niż Debian) zaleca / wymaga pełnej ponownej instalacji podczas aktualizacji do nowej wersji?

10

Spędziłem większość mojego życia z Linuksem przy użyciu Debiana, przyglądam się innym dystrybucjom i jestem naprawdę zaskoczony, w jakim stopniu nie zapewniają one płynnej aktualizacji między wersjami. Debian można w nieskończoność aktualizować, a teraz dokonałem aktualizacji poprzez kilka głównych stabilnych wersji.

Mówię o dobrze obsługiwanych dystrybucjach, takich jak Fedora (i pochodne), a nawet Ubuntu i pochodne. Nawet stabilne dystrybucje zorientowane na serwer, takie jak CentOS.

Czy to dlatego, że system zarządzania pakietami Debiana i skrypty aktualizacji pakietów są o wiele bardziej zaawansowane niż cokolwiek, co oferują inne dystrybucje?

A może ponowna instalacja od zera przy aktualizacji głównej wersji jest ogólnie lepszym pomysłem, niezależnie od dystrybucji?

trr
źródło

Odpowiedzi:

6

To połączenie wielu czynników.

Większość dystrybucji używa dużych wydań jako czasu na wprowadzenie znaczących, czasem przełomowych zmian. Na przykład Fedora 15 dodała systemd, a Ubuntu dodała aktualizację w wersji 6.10. Debian jest bardzo konserwatywną dystrybucją na wiele sposobów. Duże, przełomowe zmiany są odrzucone.

Jest to na przykład konsekwencją tego, że cykle wydawnicze Debiana są tak bardzo różne, ponieważ wymagają modyfikacji każdego ważnego pakietu, aby spełniał standardy nowej wersji.

Technologia zarządzania pakietami Debiana nie jest lepsza niż Fedora lub Ubuntu (oczywiście, ponieważ jest taka sama jak Ubuntu), ale Debian kulturowo zdecydował, że posiadanie sprawnego systemu aktualizacji jest ważne.

Andrew Schleifer
źródło
5
Dokładniej, zdecydowali, że to, czego nie chcesz na serwerze produkcyjnym, to konieczność ponownej instalacji go od zera, aby zaktualizować na nim oprogramowanie.
Shadur
Jednak nawet w przypadku Fedory przeprowadzanie aktualizacji (w jednej wersji) za pomocą instalatora spróbuje DTRT w odniesieniu do zmian infrastruktury podstawowej, jeśli to możliwe.
Ignacio Vazquez-Abrams
1

Aby uzyskać bardziej szczegółowe informacje, napotkałem problemy na wielu dystrybucjach podczas aktualizacji. Ubuntu Na przykład drastycznie zmienia bazę zainstalowanych pakietów między wydaniami. Jeśli wykonasz tradycyjne „dist-upgrade”, zainstalowane pakiety zaktualizują się do swoich nowych wydań, ale końcowy wynik nie zawiera nowych zmian w składzie. Jeśli pakiet z domyślnej instalacji zostanie zdegradowany, do „obsługiwanego” lub, co gorsza, „nieobsługiwanego”, nadal zachowujesz ten pakiet. Jeśli nowy pakiet jest teraz w instalacji domyślnej, nie będzie go instalowany. Mimo że wydanie jest „technicznie” ulepszonym wydaniem, nie odzwierciedla ono nowej wersji. Ten sam przypadek jest również bardzo dokładny, porównując CentOS5 z CentOS6, całkowicie zreorganizowali nazwy opakowań.

Debian nadaje priorytet sprawnym aktualizacjom, kosztem tak drastycznych zmian. To dlatego Debian wolniej wprowadza nowsze funkcje, dla ich społeczności kompromis jest akceptowalny. Aby powtórzyć poprzednią odpowiedź, nie ma ona nic wspólnego z technologią zarządzania pakietami per se. Powiem, że ciągłe re-instalacje Ubuntu są dla mnie narzucone.

JM Becker
źródło
Ubuntu zawiera specjalne narzędzie do aktualizacji, które podobno zajmuje się czymś więcej niż tylko aktualizacją. Czy wiesz więcej na ten temat i czy jest to dobre?
trr
1

To, co oświadczasz, nie jest prawdą w odniesieniu do całej rodziny dystrybucji wydań kroczących .

W przypadku oprogramowania do konserwacji systemu o wiele trudniej jest rozwiązać problemy ze zgodnością między pakietami podczas aktualizacji tylko niektórych części systemu lub zachowania spójności konfiguracji podczas aktualizacji. Różne pakiety oprogramowania muszą być dostosowane, aby dobrze ze sobą współpracowały.

Dlatego najłatwiejszym (tj. Najbardziej niezawodnym przy tym samym wysiłku twórczym ) rozwiązaniem zapewniającym aktualizację systemu jest okresowe przygotowanie pełnej, dokładnie przetestowanej wersji pełnej instalacji. Rozwiązania dla przedsiębiorstw, takie jak Red Hat, stoją na stanowisku, że klient musi mieć niezawodny system, a problemami są przerywanie uaktualnień tak długo, jak to możliwe. (Oczywiście drobne aktualizacje i poprawki błędów muszą być dostępne, a nawet automatycznie pobierane). Jest to również ogólna filozofia stojąca za darmowymi dystrybucjami serwerów, takimi jak CentOS.

Zapewnienie użytkownikowi końcowemu bezproblemowej aktualizacji między wydaniami jest wielkim wyzwaniem dla twórców systemu. Wiele dystrybucji decyduje się nie poświęcać na to swojego ograniczonego czasu. Wiele popularnych pakietów (na przykład QT) jest trudnych do uaktualnienia, często wymagających całkowitej ponownej instalacji. Co jeszcze ważniejsze, wiele projektów wykazuje mniejsze nakłady na prace rozwojowe lub są w inny sposób wypierane przez nowe technologie. W przypadku pakietów systemowych często wymaga to znacznego przeprojektowania systemu. Procedury migracji mogą być szczególnie trudne do wdrożenia, jeśli muszą wziąć pod uwagę fakt, że niektóre osoby będą chciały uaktualnić wersję C do D, ale inne będą przechodzić z B lub z A lub z niestandardowego stanu w środku.

Tak więc, jak można się już domyślać, najtrudniejszym podejściem jest wprowadzenie nowej wersji. Nie znam szczegółów podejścia Debiana, ale z twojego opisu widzę, że są gdzieś pośrodku.

rozcietrzewiacz
źródło
Debian w pełni obsługuje aktualizacje z poprzedniej stabilnej do obecnej stabilnej. Ponieważ są one w odstępie 2 lub 3 lat, wiążą się z dużymi przejściami, takimi jak glibc, KDE 3 do 4, nadchodzące Gnome 2 do 3 itd. Wspominasz, że niektóre pakiety są trudne do aktualizacji i muszą zostać ponownie zainstalowane - tak wiadomo w Debianie jako „główne przejście”, a jednak ich menedżer pakietów jest w stanie doskonale nimi zarządzać, a oni w pełni je testują i wspierają dla użytkowników końcowych. Myślę, że ma to o wiele więcej wspólnego z myśleniem, niż twierdzisz - Debian wierzy, że jest to właściwy sposób, aby tak się stało.
trr