Jaki Linux dla administratora?

Wśród wielu różnych kryteriów klasyfikacji dystrybucji Linuksa, z perspektywy wyboru systemu na serwer najbardziej trafny wydaje się być podział na rozwiązania niekomercyjne i komercyjne. Priorytety, takie jak stabilność, skalowalność, bezpieczeństwo, zawsze pozostają na czasie niezależnie od tego, czy zamierzamy płacić za wsparcie, czy nie. Jaki Linux dla administratora, a jaki dla firmy?

Na rynku dostępnych jest co najmniej kilkanaście dystrybucji Linuksa, które z powodzeniem można wdrażać w środowiskach produkcyjnych. Tak duża różnorodność wprowadza nieco zamieszania, zatem już na wstępie warto dokonać podziału na dystrybucje rozwijane przez społeczność (Debian, CentOS, Ubuntu) oraz objęte komercyjnym wsparciem największych graczy (Red Hat Enterprise Linux, SUSE Linux Enterprise Server, Oracle Linux). Podział ten jest oczywiście pewnym uproszczeniem, bowiem Red Hat i SUSE garściami czerpią z otwartych projektów Fedora i openSUSE, które sami zresztą finansują, natomiast firma Canonical oferuje komercyjne wsparcie dla systemu Ubuntu. Podobnie jak w przypadku Ubuntu, Oracle Linux możesz bezpłatnie pobierać, używać i aktualizować, a płacisz za asystę techniczną z szybkim wprowadzaniem poprawek oraz dostępem do dodatkowych opcji zarządzania i oprogramowania klastra.

Linux (nie)jedno ma imię

Z perspektywy systemu operacyjnego, różnice między poszczególnymi dystrybucjami Linuksa są bardzo subtelne. Trzon każdego rozwiązania stanowi jądro systemu oraz zestaw serwerów usług, bibliotek, narzędzi i aplikacji użytkowych, zasadniczo rozwijanych w ramach otwartej licencji. Mamy więc do czynienia z pewnym zestawem tego samego oprogramowania, które może być w nieco odmienny sposób zorganizowane, właśnie w ramach dystrybucji Linuksa.

Zobacz również:

Jaki Linux dla administratora?

Mniej doświadczeni administratorzy mogą rozpocząć swoją przygodę z systemami Linux od środowiska graficznego i dostępnych w nim narzędzi do konfigurowania komputera, systemu operacyjnego i usług sieciowych. OpenSUSE i jego komercyjny odpowiednik SUSE Linux Enterprise Server dostarczane są z wygodnym narzędziem YaST. Źródło: opensuse.org/pl.

Dotyczy to konfiguracji systemu, w tym ustawień menedżera startu, skryptów startowych i układu katalogów w systemie plikowym oraz wykorzystywanego formatu i mechanizmów zarządzania pakietami (deb, RPM, TGZ). Każda dystrybucja ma przypisany zestaw domyślnego oprogramowania, choć z reguły do wyboru jest wiele serwerów usług, narzędzi czy bibliotek. Dla przykładu Debian zawiera ponad 43000 pakietów, w tym kilka serwerów sieci web, m.in. Apache, nginx czy Lighttpd, które instaluje się w kilka minut i uruchamia z prekonfigurowanej paczki oprogramowania.

Jaki Linux dla administratora?

Zarządzanie pakietami i aktualizacjami oprogramowania w Ubuntu Landscape. Źródło: Free Ekanayaka, Package management at scale with Landscape, insights.ubuntu.com

Na co zwrócić uwagę w trakcie wyboru Linuksa na serwer? Poszczególne dystrybucje różnią się cyklem wydawniczym, polityką zabezpieczeń i zasadami dostarczania aktualizacji, ale także wsparciem środowisk biznesowych w zakresie wsparcia rozmaitej architektury sprzętowej i programowej, komercyjnego wsparcia produktowego i technicznego, narzędzi scentralizowanego zarządzania, systemów certyfikacji oraz szkoleń.

Dobry znajomy

Zacznijmy jednak od czegoś zupełnie innego, a mianowicie kwestii doświadczenia, umiejętności i przyzwyczajeń administratorów zatrudnionych w organizacji. Ważne, aby zapewnić im środowisko pracy, które znają i w którym czują się dobrze. Zilustrujemy to na dwóch przykładach.

Debian i Ubuntu bazuje na pakietach deb, podczas gdy w Red Hat, SUSE Linux, Oracle Linux i w dystrybucji CentOS stosowany jest format pakietów RPM. Wymaga to użycia różnych menedżerów pakietów, które pozwalają na instalowanie, usuwanie i aktualizowanie oprogramowania w systemie. W przypadku Debiana i Ubuntu jest to APT (Advanced Packaging Tool). Z kolei natywnym menedżerem w dystrybucji SLES jest YaST, podczas gdy pozostałe wymienione tutaj dystrybucje korzystają domyślnie z programu Yum.

Wszystkie te narzędzia działają bardzo dobrze, ale każde z nich obsługiwane jest w nieco inny sposób (składnia wywołania). Można także zauważyć pewne subtelne różnice w formacie i sposobie organizacji repozytoriów pakietów. Repozytoria deb wydają się być lepiej zorganizowane, a sam APT wprowadza niezłe mechanizmy zarządzania zależnościami między pakietami. Nie zmienia to postawionej przed chwilą tezy, że wszystkie te narzędzia działają bardzo dobrze i umożliwiają administratorom tworzenie własnych pakietów i podłączanie się do zewnętrznych repozytoriów, aby instalować oprogramowanie i biblioteki ze źródeł innych niż własne dystrybucji. Gdzie tkwi haczyk? Właśnie z doświadczeniu, umiejętności i przyzwyczajeniach w korzystaniu z nich.

Drugi przykład: w Debianie i Ubuntu pakiet serwera Apache nazywa się apache2, podczas gdy w konkurencyjnym Red Hacie i jego otwartym odgałęzieniu CentOS spotkasz się z pakietem httpd. W obu przypadkach dostrzeżesz różnice w nazwach katalogów i plikach konfiguracyjnych. Ustawienia serwera tego sieci web przechowywane są odpowiednio w katalogach /etc/apache2 i /etc/httpd.

Idźmy dalej tym tropem. W Debianie i Ubuntu masz do dyspozycji narzędzia administratora, które umożliwiają wygodne włączanie i wyłączanie witryn sieci web w konfiguracji serwera (a2ensite/a2dissite) oraz modułów serwera Apache (a2enmod/a2dismod). Z uwagi na fakt, że są to narzędzia specyficzne dla obu tych dystrybucji, nie ma ich w konkurencyjnych rozwiązaniach, opartych na innym układzie plików konfiguracyjnych Apache. Wracamy do punktu wyjścia.

Kiedy wynajmujemy serwer VPS, dedykowany lub instancję w chmurze, nierzadko mamy ograniczony wybór, który zostanie w nim zainstalowany. Dla przykładu homecloud.pl dla serwerów VPS pozwala wybierać między CentOS i Debianem. Z kolei portal Azure Marketplace oferuje bogatą kolekcję aplikacji uruchamianych na bazie Linuksa oraz obrazów samego systemu, w tym Ubuntu Server, CentOS, OpenSUSE oraz SUSE Linux Enterprise Server. Setki innych obrazów, w tym z systemami Debian i FreeBSD dla chmury publicznej Azure, zostało przygotowanych przez społeczność i udostępnionych w repozytorium VM Depot.

Stabilność i bezpieczeństwo

W środowiskach produkcyjnych stabilność oraz bezpieczeństwo to dwie najbardziej pożądane cechy systemów IT. Obie te cechy ściśle związane są z cyklem wydawniczym dystrybucji. Debian rozwijany jest w trzech równoległych gałęziach: stabilnej, testowej oraz niestabilnej. Proces produkcji wersji stabilnej polega na zamrożeniu gałęzi testowej. W okresie przejściowym do gałęzi testowej nie są dodawane żadne nowe pakiety, a jedynie usuwane są wykryte błędy. Kiedy system zostanie uznany za odpowiednio dojrzały, wersja testowa zostaje wprowadzona na rynek jako wydanie stabilne. Ma to miejsce mniej więcej co dwa lata. Podejście to pozwala zapewnić zgodność ze stosowanymi systemami oraz stabilność i bezpieczeństwo budowanych rozwiązań w zastosowaniach produkcyjnych.

Cykl wydawniczy Ubuntu jest krótszy. Kolejne wersje systemu pojawiają się na rynku co sześć miesięcy, ale raz na dwa lata wydawana jest wersja oznaczona przyrostkiem LTS. To skrót od słów Long Term Support, którym opisuje się wydania tej dystrybucji objęte wydłużonym okresem wsparcia. Obecnie okres ten wynosi 5 lat, zarówno dla wersji przeznaczonej na stacje robocze, jak i na serwery. W tym miejscu warto zwrócić uwagę, że hasło LTS oznacza nie tylko dłuższy okres, kiedy Ubuntu wydaje łatki zabezpieczeń dla danej wersji systemu. Cykl rozwoju wydań LTS jest krótszy niż standardowo, przy czym więcej czasu poświęca się na testy oraz usuwanie zauważonych błędów. Dodatkowo, wersje te projektowane są do obsługi najnowszego sprzętu, aby zapewnić zgodność systemu z wprowadzanymi na rynek technologiami w dłuższym czasie.

A co z pozostałymi dystrybucjami? Red Hat Enterprise Linux, SUSE Linux Enterprise Server i CentOS zaliczane są podobnie jak Debian do konserwatywnych dystrybucji, jeśli chodzi o szybkość implementacji nowych technologii i wersji oprogramowania. Z kolei Fedora i openSUSE uznawane są mniej lub bardziej słusznie za poligon doświadczalny odpowiednio dla RHEL i SLES. A Ubuntu? Cóż, podąża własną ścieżką i paradoksalnie wcale nie musisz czekać na wydanie kolejnej wersji oznaczonej LTS, aby zbudować stabilny, bezpieczny serwer. Wybierz Ubuntu, jeśli twoje projekty internetowe wymagają najnowszych wersji PHP czy MySQL. Alternatywnie, możesz pokusić się o skorzystanie z któregoś z nieoficjalnych repozytoriów z pakietami dla tych dystrybucji, w których nowości pojawiają się z zauważalnym opóźnieniem.


TOP 200