Kiedyś dziwnie patrzyłem na osoby, które używają tak zwanych ciągłych dystrybucji Linuksa. Ja zawsze trzymałem się teorii, że wydania cykliczne są najlepsze jednak kiedy sam spróbowałem systemu o ciągłym wsparciu zrozumiałem o co tym wszystkim chodzi.
Co to jest dystrybucja ciągła?
Zacznijmy od wyjaśnienia pojęć. W świecie systemów bazujących na jądrze Linuksa istnieją dwie ich wersje - wersja z określonym cyklem wydawniczym oraz tak zwane dystrybucje ciągłe. Te pierwsze z nich charakteryzują się tym, że co jakiś czas wydawane są nowe wersje - takie systemy jak Ubuntu, Fedora czy też Debian są przedstawicielami pierwszej grupy systemów. Do drugiej grupy zaliczają się takie systemy jak Arch Linux, Manjaro czy też openSUSE Tumbleweed, które tak naprawdę nie posiadają żadnych wydań - użytkownik instalując taki system na swoim komputerze robi to raz i cały czas posiada najnowsze oprogramowanie na swoim sprzęcie. Nie musi tak jak w przypadku pierwszej grupy co jakiś czas wykonywać aktualizacji do wyższego numerka.
Jak to wygląda pod kątem technicznym?
Dystrybucje z cyklem wydawniczym
Tworzenie dystrybucji z tradycyjnym cyklem wydawniczym wygląda mniej więcej tak:
- bierzemy określony zestaw oprogramowania
- sklejamy to wszystko ze sobą, aby działało
- szukamy błędów, szlifujemy szczegóły
- gdy wszystko działa poprawnie wydajemy nową wersję systemu i wspieramy ją przez określony czas
W przypadku takiego systemu dostajemy określony zestaw oprogramowania, który jest aktualizowany najczęściej pod kątem znalezionych błędów. Nie są dodawane całkowicie nowe wersje programów niosące ze sobą nowe funkcje, ponieważ mogłoby to zburzyć całą układankę stworzoną przez deweloperów. W zamian jednak deweloperzy zobowiązali się utrzymywać tak stworzony zestaw przez określony czas. Dobrym przykładem jest tutaj np. Debian w wersji stabilnej - nie otrzymasz nowych funkcji, ale poprawki bezpieczeństwa już tak.
Dystrybucje ciągłe
W przypadku dystrybucji ciągłych cykl tworzenia systemu wygląda trochę inaczej:
- bierzemy określony zestaw oprogramowania
- sklejamy wszystko ze sobą, aby działało
- wydajemy obraz, który umożliwi instalację systemu na komputerze
- gdy pojawi się nowa wersja danego programu, dodajemy go do repozytorium
W tym przypadku deweloperzy skupiają się bardziej na aktualizowaniu oprogramowania które znajduje się w repozytorium - nie dość, że otrzymujemy poprawki błędów to dodatkowo mamy możliwość korzystania z najnowszego oprogramowania.
Wady, zalety
Jak to śpiewał jeden zespół, "wszystko ma swoje wady, zalety...". Na samym początku skupię się na wydawnictwie cyklicznym.
Tradycyjny cykl wydawniczy
Zalety | Wady |
---|---|
Przetestowane i przewidywalne oprogramowanie | Brak dostępu do nowych wersji programów |
Zapewniony okres wsparcia przez twórców | Naprawa błędów bywa niekiedy problematyczna |
Poprawki bezpieczeństwa | Wiele oprogramowania nie nadaje się do wdrożenia do dystrybucji z tradycyjnym cyklem wydawniczym |
Może nie będę skupiał się na zaletach tylko postaram się omówić wady, ponieważ je najtrudniej zrozumieć.
Brak dostępu do nowych wersji programów
Nowe wersje programów wprowadzają nowe funkcje, poprawki wykrytych błędów ale i nowe błędy. Deweloperzy dystrybucji nie wprowadzają do swojego systemu nowych wersji programów, ponieważ mogłoby to zburzyć jego stabilność. Oczywiście są wyjątki od tej zasady, np. przeglądarki internetowe są praktycznie zawsze aktualizowane.
Naprawa błędów bywa niekiedy problematyczna
Aby zrozumieć ten punkt posłużę się przykładem. Znalazłem kiedyś błąd w programie, był on delikatnie modyfikowany przez twórców dystrybucji zatem zgłosiłem go na specjalnej stronie twórców systemu. Otrzymałem odpowiedź abym napisał do twórcy programu, bo prawdopodobnie błąd leży po jego stronie. Zrobiłem tak jak zasugerowano. Po kilu dniach otrzymałem odpowiedź od dewelopera, że sprawdził obydwie wersje - swoją oryginalną i modyfikowaną przez twórców dystrybucji (ten sam numer wersji) i problem występuje tylko w tej drugiej. Błąd został odrzucony i znów cofnięto mnie do twórców systemu.
Wiele oprogramowania nie nadaje się do wdrożenia do dystrybucji z tradycyjnym cyklem wydawniczym
Idealnym takim oprogramowaniem wydaje się być środowisko Plasma, dawne KDE. Jest to środowisko o szybkim cyklu rozwojowym oraz wydawniczym i przez to nie nadaje się do systemów o cyklicznym trybie wydawniczym. Załóżmy że tworzymy system, bierzemy Plasme w wersji np. 5.10 i zaczynamy wszystkie elementy układanki ze sobą łączyć. Zajmuje nam to pół roku, wydajemy nasz system a Plasma w tym momencie jest już z numerem np. 5.15. Nie możemy od tak dodać nowej wersji środowiska do świeżo wydanego systemu, ponieważ mogłoby się to przyczynić do niestabilności naszego systemu i wygenerowania wielu nowych błędów.
Dystrybucje ciągłe
Zalety | Wady |
---|---|
Dostęp do nowych wersji programów | Ryzyko natrafienia na niestabilne wydanie danego programu |
Błędy zgłaszane są do twórców programów | Długo nieaktualizowany system może przestać działać po wykonaniu aktualizacji |
Nie trzeba co jakiś czas wykonywać aktualizacji systemu do nowej wersji | Niektóre aktualizacje mogą sprawić, że system przestanie działać |
Błędy występujące w programach są szybko naprawiane |
Ryzyko natrafienia na niestabilne wydanie danego programu
Mając najnowsze oprogramowanie możemy trafić na błędy, których poprzednie wersje nie miały. Spotkały mnie dwa takie przypadki. Pierwszy z nich dotyczył dockera, problem objawiał się tym że w trakcie budowy obrazu ze skryptów po prostu się wieszał. Nie występowało to zawsze, ale dosyć często. Nie zdążyłem zgłosić błędu, ponieważ po kilku dniach pojawiła się poprawka i po jej instalacji problem ustąpił.
Drugi błąd dotyczył Plasmy, konkretnie w trakcie generowania podglądu filmu w aplikacji Dolphin ten zaczynał masowo wyrzucać komunikat o błędzie. Błąd zgłosiłem, poprawka została opracowana i problem rozwiązany. Gdyby mi się to przytrafiło w dystrybucji wydawanej w sposób standardowy, prawdopodobnie nigdy by się nie doczekał naprawy.
Długo nieaktualizowany system może przestać działać po wykonaniu aktualizacji
W przypadku dystrybucji ciągłej bardzo ważne jest regularne aktualizowanie systemu. Jeżeli pojawią się jakieś poprawki, starajmy się je instalować jak najszybciej pamiętając oczywiście o wykonaniu kopii zapasowej. Jeżeli byśmy nie aktualizowali takiego systemu przez miesiąc to istnieje bardzo duże ryzyko, że uruchomienie aktualizacji mogłoby doprowadzić do uszkodzenia systemu operacyjnego (ale nie musi).
Niektóre aktualizacje mogą sprawić, że system przestanie działać
Może wystąpić sytuacja że po instalacji nowego, ważnego do działania systemu operacyjnego komponentu system przestanie działać. Mnie osobiście jeszcze się taka sytuacja nie zdarzyła ale nie wykluczone, że kiedyś to nadejdzie. Z tą wadą należy szczególnie liczyć się wtedy, kiedy coś mocno zmodyfikowaliśmy w naszym systemie np. ważny skrypt. Zakładam jednak, że robiąc takie rzeczy będziemy potem potrafili przywrócić system do działającej postaci. Niektóre aktualizacje mogą powodować konflikty z innymi programami, ale wtedy program do aktualizacji przedstawia wszystkie możliwe rozwiązania i pyta nas, które chcemy wybrać. Deweloperzy zaś na odpowiednich stronach informują dlaczego jest konflikt i jakie konsekwencje niesie ze sobą każde zaprezentowane rozwiązanie.
Z czego zatem korzystać?
Przede wszystkim jeżeli coś działa, to tego nie ruszaj. Jeśli w jakimś systemie czujesz się dobrze, to nie ma sensu zmieniać niczego na siłę. Na serwerze według mnie powinna się znajdować tylko i wyłącznie dystrybucja z cyklicznym trybem wydawniczym. Otrzymujesz wszak starsze wersje oprogramowania, ale względnie przetestowane, z określoną funkcjonalnością, ze wsparciem twórcy systemu i mniej więcej wiesz czego się spodziewać. Ciągła dystrybucja może pewnego dnia otrzymać aktualizację, która coś popsuje i będziesz musiał na szybko przywrócić działanie konkretnej usługi.
W przypadku komputerów stacjonarnych zdania są podzielone. Ja na stacjonarnym komputerze posiadam dystrybucję ciągłą w postaci openSUSE Tumbleweed i nie doświadczyłem żadnych problemów oprócz dwóch wyżej wymienionych. Trzeba tylko pamiętać o regularnych aktualizacjach a przed ich wykonaniem obowiązkowo zrobić kopię zapasową.
Wsparcie
Podobało się? Subskrybuj i wspieraj!
Moim zdaniem najlepsza dystrybucja cykliczna to "Debian Buster", a ciągła to "Debian Testing" ;)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Dzięki wielkie. Pisałeś wczęśniej o dystrybucjach linuxa ? Przez długi czas używałem Ubuntu, aktualnie używam win8.1, ale chcę wrócić do Linuxa. Nie wiem jaką wersję wybrać, zważająć na fakt iż mój laptop ma już pare lat (hp 255 G2) i chcę tworzyć proste animacje, krótkie filmy lub przerabiać zdjęcia. Jak byś mógł coś poradzić będę wdzięczny.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Najlepsza dystrybucja dla Ciebie będzie taka, w której najlepiej się czujesz :-). Po prostu pobierz kilka systemów, uruchom je z pendrive, pobaw się jakiś czas i sam zdecyduj w którym najlepiej się czujesz. Pobaw się też różnymi środowiskami jak GNOME, PLASMA, Mate, XFCE czy też inne. Ja bym polecał pobawić się Ubuntu, Minta, Fedora, openSUSE. Kubuntu nie próbuj, bo się tylko zrazisz do PLASMY.
Odnośnie filmów, zdjęć to Ci nic nie doradzę bo aż w tym tak nie siedzę, używam tylko XnView do edycji zdjęć, ale rzuć okiem na https://404.g-net.pl/ Tam jest wiele wpisów odnośnie programów do grafiki, zdjęć, ogólnie do multimediów.
Ja osobiście korzystam z openSUSE Tumbleweed ze środowiskiem Plasma.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Korzystałem już z Ubuntu przez kilka lat i jestem zadowolony, jednak tym razem zainstaluje Mint.Tak apropo, po wielu latach użytkowania cwaniackiego i sprawiającego ciągłe problemy windowsa trudno mi było uwierzyć, że system może działać tak szybko i sprawnie przez wiele lat, to mi dało kolejny argument za tym żeby ten cały microsoft ignorować i trzymać się z daleka od tego.
Wielkie dzięki, za adres do strony również. Pozdrawiam.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit