System Linux występuje w wielu odmianach, które bazują na jednorodnym jądrze systemu. Dystrybucje różnią się przeważnie zakresem dostępnego oprogramowania użytkowego, a wybór dystrybucji może być skomplikowany, niezależnie czy potrzebujemy systemu Linux dla stacji roboczej czy serwera.

Dostępne są dystrybucje zarówno komercyjne, jak i darmowe. Wersje komercyjne oferują wsparcie techniczne, łatwiejszą konfigurację i instalację oprogramowania oraz integrację z innymi środowiskami.

Wśród najważniejszych komercyjnych dystrybucji warto wymienić RHEL (Red Hat Enterprise Linux), Linspire, Mandriva, SLES (SuSe Linux Enterprise Server). Rozwiązań darmowych jest znacznie więcej, ale warto wspomnieć o najpopularniejszych m.in. OpenSuse CentOS, Fedora, Ubuntu, Debian.

Większość różnic pomiędzy poszczególnymi dystrybucjami jest w zasadzie kosmetyczna. Zmiany skupiają się raczej na sposobie konfiguracji, wersjach oprogramowania i implementacji poszczególnych składników niż modyfikacji kodu czy podstawowych funkcjonalności. Układ systemu plików, ustawienia konfiguracyjne, wersje oprogramowania, sposób aktualizacji i instalacji oprogramowania, a także zintegrowane narzędzia to najczęściej występujące elementy, wskazujące na różnice pomiędzy dystrybucjami.

Porównanie Ubuntu z RHEL/CentOS

Różnice pomiędzy poszczególnymi dystrybucjami najłatwiej pokazać, porównując kilka z nich w identycznym zastosowaniu. Porównajmy możliwość realizacji serwera www w postaci popularnego oprogramowania Apache. Oprogramowanie Apache jest dostępne dla wszystkich dystrybucji systemu Linux, ale poszczególne implementacje różnią się układem plików i sposobem konfiguracji. Przykładowo Ubuntu określa Apache w wersji 2 jako „apache2”, podczas gdy CentOS oraz RHEL określają go nazwą „httpd”.

Pliki konfiguracyjne w przypadku CentOS oraz RHEL są dostępne w katalogu „/etc/httpd”, natomiast w przypadku Ubuntu w katalogu „/etc/apache2”. Miejsce na dokumenty w Ubuntu znajduje się w katalogu „/var/www”, natomiast w przypadku CentOS oraz RHEL w „/var/www/html”.

Co więcej, Ubuntu oferuje możliwość łatwego sposobu rozbudowywania poprzez konfiguracje umieszczone w  katalogach “/etc/apache2/site-available” oraz “/etc/apache2/site-enabled”. Zarządzenie konfiguracjami może odbywać się przykładowo poprzez komendy a2ensite oraz a2dissite. Dzięki tej opcji możemy włączyć i wyłączyć wirtualne strony z poziomu linii komend. CentOS/RHEL nie posiadają takiej funkcjonalności i wymagają ręcznego zarządzania konfiguracją.

Warto jednak podkreślić, że trudno jednoznacznie wskazać lepsze rozwiązanie, bo zależy to od indywidualnych preferencji użytkownika/administratora. Z jednej strony rozwiązanie Ubuntu upraszcza konfigurację, ale część administratorów woli konfigurację bezpośrednią poprzez pliki.

Istnieją także inne różnice. Domyślnie Ubuntu blokuje konto użytkownika root. Wymaga natomiast, aby lokalny użytkownik był wykorzystywany do instalacji aplikacji. Ten użytkownik może wykonać komendę sudo, aby realizować zadania jako użytkownik root. CentOS/RHEL nie ma takich ograniczeń i pozwala na dostęp do użytkownika root i pełne wykorzystania konta.

Narzędzia instalacji i konfiguracji

Niektóre dystrybucje wykorzystują specjalne narzędzie konfiguracyjne. Suse Linux oraz OpenSuse wykorzystują YaST (Yet another Setup Tool) jako narzędzie konfiguracyjne i zarządzające. Narzędzie to nie jest wykorzystywane w innych dystrybucjach Linux. W dystrybucji Ubuntu oraz Debian stosowane jest narzędzie Apt (Advanced Package Tool) do aktualizacji dystrybucji i zarządzana instalacjami oprogramowania. Narzędzie Apt pozwala aktualizować, instalować dowolne pakiety lub cały system. W RHEL, CentOS, Fedora i innych może być stosowany Yum (Yellowdo Updater / Modified). Apt oraz Yum pracują w podobny sposób, pozwalając administratorowi konfigurować dowolne repozytorium paczek, a także łatwo aktualizować oprogramowanie oraz zarządzać systemem.

Jeżeli chodzi o obsługę systemu i usług, istnieją duże podobieństwa, szczególnie w nowych dystrybucjach. Przykładowo systemd zastępuje sysvinit, stosowany w większości głównych dystrybucji Linux. Zmieniło to sposób działania dystrybucji w postaci ładowania, uruchamiania, zarządzania usługami. Starsze wersje tych samych dystrybucji nie posiadają systemd, co może potencjalnie stwarzać problemy z wydajnością.

Jak wybrać?

W przypadku rozwiązania dla domu, należy skupić się na łatwości obsługi oraz szerokim zakresie dostępnych aplikacji. Jeżeli zamierzamy zarządzać systemem Linux w środowisku produkcyjnym w charakterze serwera aplikacji, łatwiej będzie wskazać istotne cechy, zaczynając od stabilności systemu, a kończąc na wsparciu dla określonych pakietów oprogramowania.

Wybór dystrybucji w dużej mierze będzie ograniczony poprzez wymagania uruchamianych aplikacji oraz usług. Przykładowo jeżeli serwer musi mieć najnowsze wersje pakietów takich jak MySQL czy PHP, wybór stabilnej dystrybucji z długo utrzymywaną starszą wersją pakietów będzie komplikował sprawę. W takim przypadku konieczne będzie wykorzystanie oprogramowania pochodzącego z innych źródeł, tworzonego przez innych dostawców, niż oficjalne pakiety wspierane przez dystrybucję. W pewnych przypadkach można stworzyć własne pakiety instalacyjne lub samodzielne kompilacje dla potrzeb wymaganego oprogramowania. Alternatywnie, przegląd dostępnych dystrybucji i zawartego w nich oprogramowania może pokazać, że dana dystrybucja posiada wymaganą wersję MySQL lub PHP. Można także sprawdzić rekomendacje danej aplikacji dotyczące różnych dystrybucji. Warto też sprawdzić dla jakiej dystrybucji aplikacja jest najlepiej zoptymalizowana.

Stabilność powinna być równie istotnym czynnikiem wyboru i zawsze powinno się ją brać pod uwagę. Jeżeli jednak stabilna wersja nie pokrywa się z wymaganiami oprogramowania, przeniesienie się do nowszej będzie sensowniejszym rozwiązaniem niż adoptowanie starej, bardziej stabilnej wersji ze starszymi pakietami.

Istnieje wielu administratorów dbających o homogeniczność dystrybucji w zakresie serwerów aplikacji. Bo zarządzanie nimi, w przypadku różnych systemów bazodanowych czy aplikacji, będzie łatwiejsze niż wieloma różnymi dystrybucjami. Jeżeli dana aplikacja wykorzystuje Debian, dobrym pomysłem jest uruchamianie bazy danych dla aplikacji także w ramach tej dystrybucji.

Zaawansowany stan wiedzy w pracy z określoną dystrybucją, powinien być kluczowym czynnikiem wyboru. Ale można też zdecydować się na pokrewną wersję. W przypadku, gdy CentOS lub RHEL jest dobrze znany, podnoszenie poziomu zaawansowania konfiguracji będzie łatwiejsze w dłuższym okresie.

Podziel się na:
  • Facebook
  • Google Bookmarks
  • LinkedIn