Linux alternatywa dla Windows czy system dla pasjonatów?

Temat, który wybrałem po części umotywowany jest tym, że może dzięki temu uda się wyjaśnić spór zwany również „OS Wars” czyli „Wojny systemów operacyjnych ”. Niezależnie, czy mówimy o rynku informatycznym, czy jakimkolwiek innym pojawiają się głosy zwolenników jednego produktu bądź rozwiązania a przeciw nim wystąpią głosy przeciwników a zarazem zwolenników konkurencji. Nie inaczej wygląda to w wypadku sporu, który system operacyjny jest lepszy, bądź bardziej przydatny do codziennego użytku i w tym właśnie momencie należało by zadać pytanie „czy system Linux może zastąpić w pełni system Windows”?
System Linux został wydany po raz pierwszy 17 września 1991 roku na procesory o architekturze x86. Właściwie to zostało wydane jądro systemu z gotowym zestawem narzędzi programistycznych oraz bibliotek z projektu GNU, co później zostało nazwane GNU/Linux. Z racji otwartego kodu jądra Linux, powstało mnóstwo dystrybucji tego systemu, takich jak: Sławny Red Hat, Korporacyjny Suse Linux, Stabilny Debian, Popularne Ubuntu i jego pochodne, konserwatywny, ale wydajny Slackware oraz wysoce zoptymailozwany Gentoo, jak również mniej popularny w obecnej chwili mający swoje miejsce w historii Mandrake znany później jako Mandriva. Są to najważniejsze dla rozwoju systemów opartych o jądro Linuks dystrybucje tego systemu. Każda z nich w zależności od wiedzy, umiejętności i wyobraźni tudzież potrzeb, można dowolnie przystosować. Jednak żaden z tych systemów nie będzie systemem Microsoft Windows, co to dla nas oznacza? A mianowicie z racji powstania platformy .NET, która została zaprojektowana przez Microsoft z myślą o szybkim i stosunkowo łatwym tworzeniu aplikacji dla systemu Windows(RAD – Rapid Application Development pl. szybkie projektowanie oraz tworzenie aplikacji. Powstało mnóstwo specjalistycznych aplikacji dla systemu Windows, które ze względu na zastosowanie .NET nie będziemy w stanie mimo usilnych prób emulacji uruchomić pod jakąkolwiek dystrybucją Linuxa. Choć w między czasie powstał projekt Mono, który niejako miał udostępniać funkcjonalność a nawet umożliwiać z założenia tworzenie aplikacji na platformę .NET(konkretnie przy użyciu C#). Niestety nie do końca okazało się zgodne z ową platformą. Aby uruchomić najpopularniejsze i najczęściej spotykane aplikacje w większości firm np. płacowo-księgowe, magazynowe, zazwyczaj tworzone są w oparciu o .NET, więc zmusza nas to do zastosowania w tym wypadku systemu Windows.
Nie byłbym jednak sobą gdybym nie spojrzał na to od drugiej strony a mianowicie jest też mnóstwo zalet systemu Linux, których Microsoft mimo usilnych starań nie do końca potrafi zaadaptować w swoim systemie elastyczny firewall (iptables), język skryptowy powłoki, który byłby intuicyjny w obsłudze oraz popularny, powłoki Linuksa (Sh, Bash Csh, Kornshell, Dash, Zsh). Powłoki te, zdobyły miliony zwolenników a pisanie w nich skryptów jest łatwe i przejrzyste. Kiedy skrypty w Powershell od Microsoft wymagają nauczenia się języka stosunkowo młodego oraz w pełni opartego na obiektach .NET co czasem bardziej przypomina pisanie kwerend SQL, składnia Powershell zdaniem wielu użytkowników, w tym także moim jest rozwlekła, obiekty do których się odwołujemy po prostu mają nazwy, których często nie sposób zapamiętać. Dodatkowo obsługa skryptów Powershell domyślnie po instalacji systemu Windows jest wyłączona a zależności w postaci brakujących modułów musimy rozwiązywać sami poprzez ich doinstalowanie, co też nie jest najlepiej udokumentowane. Większość dystrybucji Linuksa ma aplikację zwaną Managerem Pakietów np. APT, Aptitude, Dpkg , Zypper, Yum, Urpmi, Slapt-Get, Pacman i wiele innych, które potrafią pobrać oprogramowanie z repozytorium(serwera, który przechowuje i udostępnia na odpowiedniej licencji pliki instalacyjne dla programów dostępnych na daną dystrybucję Linuks) i zainstalować w naszym systemie, co zazwyczaj jest funkcją domyślną. Dodatkowo jest to oprogramowanie sprawdzone przez społeczność skupioną wokół danej dystrybucji, której to członkowie w przypadku znalezienia błędu mogą napisać, tzw. Bug Report. W większości dystrybucji skutkuje to tym, że programiści tworzący daną dystrybucję odczytują taki raport o błędzie, który zawiera dokładne szczegóły błędu oraz najczęściej bezzwłocznie rozpoczynają pracę nad aktualizacją poprawiającą owy błąd.
Ze względu na mniej restrykcyjne podejście w kwestii uruchamiania plików wykonywalnych, Windows uchodzi za mniej bezpieczny, ale mit o bez wirusowym Linuksie już dawno został obalony. Oczywiście sprawa jest nieco bardziej skomplikowana a mianowicie wykonywanie skryptów lub plików binarnych wykonujących operacje zmian w systemie operacyjnym wymagają hasła administracyjnego użytkownika Root, ale jako że przyzwyczajeni jesteśmy klikać dalej, wielu nieuważnych użytkowników nawet Linuksa, najczęściej nie przeczyta, co właściwie wykonuje tylko wpisze swoje hasło potwierdzając je klawiszem Enter.

1.Pierwsze wrażenie
Na pierwszy rzut oka, jeśli spojrzymy na system Microsoft Windows i dowolną Dystrybucję Linuksa z zainstalowanym środowiskiem graficznym(Gnome, KDE, XFCE, LXDE, Cinammon, Mate), zauważymy mnóstwo cech wspólnych, takich jak:
– pulpit;
– ikony;
-centrum sterowania, zarządzanie systemem(odpowiednik panelu sterowania);
– pasek zadań;
– obszar powiadomień;
– menu systemowe(Menu Start);
– menu kontekstowe najczęściej uruchamiane prawym klawiszem myszy;
– menadżer plików(odpowiednik Windows Explorer);
– zegar;
– menadżer oprogramowania(odpowiednik Programy I funkcje w systemie Windows lub w starszych wersjach Dodaj/Usuń Programy);
– możliwość ustawienia tła pulpitu lub motywu graficznego włącznie z ikonami;
– animacje 3d pulpitu Compiz, Beryl, Compiz Fusion (wprowadzone w Windows Vista);
– edytor plików tekstowych;
– odtwarzacz multimedialny;
– przeglądarka zdjęć;
– edytor graficzny;
– pole szybkiego wyszukiwania w menu startowym;
– przeglądarka internetowa;
– terminal tekstowy(odpowiednik wiersza poleceń w systemie Windows);
– kalkulator.
Właściwie do codziennego użytku wiele więcej nie potrzeba. Dodatkowo większość, jak nawet nie wszystkie „pulpitowe”, czyli wyposażone w środowisko graficzne dystrybucje Linuksa posiadają preinstalowany Pakiet Biurowy (OpenOffice lub Libre Office) w skład, którego wchodzą:
– edytor dokumentów;
– arkusz kalkulacyjny;
– program bazodanowy;
– edytor grafiki wektorowej;
– edytor prezentacji opartych o slajdy;
– program matematyczny.

Generalnie większość specjalistów w dziedzinie IT nie ma większych problemów z korzystaniem z jednego i z drugiego środowiska, ale większość ma swoje nawyki oraz przyzwyczajenia w kwestiach, w których akurat obydwa te systemy się od siebie różnią. Jeśli chodzi o domowego nietechnicznego użytkownika, to tutaj jednak system firmy Microsoft wiedzie prym nie chodzi o to, że jest lepszy, czy prostszy, po prostu jest popularniejszy. 15 lat temu przeciętny polski użytkownik zapytany, jakie zna systemy operacyjne odpowiadał, że Windows i nie miał pewności, co do istnienia systemu DOS. Brak świadomości istnienia innych systemów operacyjnych mocno związany jest z faktem, że Internet dość późno dotarł do kraju nad Wisłą. Dostęp do Internetu był drogi oraz nie każdy posiadał nawet możliwość podłączenia się do globalnej sieci. Komputery w domach, jeżeli były, to najczęściej były domowym centrum rozrywki multimedialnej, jak wiadomo 99% oprogramowania rozrywkowego na platformę x86 powstawało na systemy Microsoftu, DOS lub Windows. Nie inaczej było z ówczesnym profesjonalnym oprogramowaniem biurowym czy graficznym. W takiej sytuacji nie dziwi, że przeciętny użytkownik, który używa komputera do codziennej pracy, albo nie ma pojęcia o istnieniu innych systemów operacyjnych, jakie można by zainstalować na jego komputerze lub wręcz panicznie się ich boi, gdyż obsługa innego systemu operacyjnego niż ten, który zna po prostu go przerośnie. Znane mi osobiście są też przypadki osób, które, mimo, że profesjonalnie nie zajmują się informatyką, widząc prostotę i łatwość obsługi w codziennym użytkowaniu, takich dystrybucji Linuksa jak np. Ubuntu, bądź Mint nie widzą już potrzeby używania systemu Windows.

2. Mocne strony Linuksa

Jeśli już mówimy o niewątpliwych zaletach systemu, Linuks, to na pewno warto wymienić elastyczność, wysoki poziom bezpieczeństwa, otwarty kod źródłowy, co umożliwia dokonywanie zmian w systemie wedle własnego uznania i bogata biblioteka darmowego oprogramowania. Sam system jest również darmowy z drobnymi wyjątkami. Linuks najczęściej instalowany jest na serwerach takich jak: routery brzegowe, serwery plików, serwery pocztowe, serwery wirtualizacji XEN, KVM, OpenVZ, serwery WWW, serwer bazy danych, przy czym jeśli wydajność maszyny nam na to pozwala większość z tych usług, możemy uruchomić równolegle na tej samej maszynie, w wypadku systemu Windows mogą wystąpić problemy z kompatybilnością. Po drugie niektóre usługi nie mogą być używane w obrębie tej samej Instalacji systemu ze względów licencyjnych. Spora część dystrybucji Linuksa oprócz bogatej bazy oprogramowania posiada równie bogatą bazę sterowników do obsługi najbardziej typowego sprzętu, co pod systemem Windows bywa już problematyczne. Wracając jednak do Linuksa na biurko, czyli jako do systemu codziennego użytku, dowolnie możemy komponować wygląd całego środowiska graficznego, od bardzo konserwatywnego TWM, aż po pełne dekoracji, animacji i dodatkowych funkcjonalności KDE. Dodatkowo mamy jeszcze wpływ na poszczególne elementy każdego z tych środowisk i wszystko zależy od naszej wyobraźni, wiedzy lub umiejętności poszukiwania wiadomości w Internecie, oraz czasu, jaki chcemy bądź też możemy poświęcić na dostosowanie naszego środowiska graficznego.
Istotną zaletą jest również wsparcie ze strony społeczności skupionej wokół danej dystrybucji Linuksa, które jest udzielane Non-Profit na forach jej poświęconych.

3. Wady systemu Linuks

Do trudnych w pominięciu wad Linuksa warto zaliczyć problemy z obsługą pewnych specyficznych podzespołów, takie jak obecnie pojawiające się kontrolery macierzy Intel RAID, co zmusza często do skorzystania z RAID’u programowego, co obniża znacznie wydajność operacji dyskowych. Trudności też mogą przysporzyć nowe zasilacze awaryjne UPS komunikujące się po porcie USB zamiast portu COM, mimo że obydwa porty są portami szeregowymi to jednak komunikacja komputera z systemem Linuks na pokładzie odbywa się w sposób o wiele bardziej stabilny poprzez port COM niż ma to miejsce w wypadku portu USB. Jak wiadomo w wielu wypadkach jest to nie do przyjęcia żeby serwer stracił łączność z UPS’em, co może prowadzić do sytuacji, w której o utracie zasilania system nie zostanie poinformowany i nie podejmie odpowiednich działań takich jak np. zatrzymanie silnika bazy danych oraz poprawne wyłączenie systemu, co też zapobiegnie ewentualnym uszkodzeniom systemu plików, czy desynchronizacji macierzy dyskowej. Jest to bardzo istotne gdyż wiadomo, że bateria w przeciętnym UPS’ie wytrzymuje zazwyczaj na tyle długo by poprawnie wyłączyć komputer, który podtrzymuje, zwłaszcza jeżeli jest to maszyna klasy serwerowej nie pozostaje zbyt wiele czasu do pracy na baterii, inaczej jest w wypadku systemów wysokiej dostępności tam stosuje się najczęściej generatory zamiast UPS’ów.
Jednym z poważnych problemów, na które napotyka wielu początkujących użytkowników Linuksa, którzy chcą nieco bardziej zagłębić się mechanikę działania systemu są problemy z zależnościami pakietów. Niektóre programy nie zainstalują się bez odpowiedniego zestawu bibliotek, bądź innego programu, z którego czerpią potrzebne im zasoby. Te natomiast mogą wejść w konflikt z oprogramowaniem, które już zainstalowaliśmy, lub zamierzamy zainstalować doświadczeni użytkownicy nazywają to tzw. „Piekłem zależności”. Większość współczesnych programów do zarządzania pakietami oprogramowania radzi sobie z tym, ale niekiedy jednak to użytkownik musi rozwiązać spory pomiędzy pakietami. Inaczej sprawa wygląda w wypadku oprogramowania, którego nie ma w żadnym repozytorium dedykowanym dla używanej, przez nas dystrybucji i mamy jedynie pliki z kodem źródłowym, które musimy skompilować po to aby móc następnie ten program zainstalować w naszym systemie. W takiej sytuacji musimy niestety sami zadbać o zależności, a następnie o zależności dla tych zależności i czasem niekiedy instalacja jednego programu może zająć nawet jeden dzień lub dłużej głównie ze względu na konieczność ręcznego rozwiązywania zależności.
Kolejną wadą, choć może nie samego Linuksa a raczej światowego rynku oprogramowania, jest fakt iż większość profesjonalnego oprogramowania oraz gier komputerowych przeznaczonych na rynek komputerów osobistych powstaje głównie z myślą o systemach firmy Microsoft, często ze względu na wymuszoną w ten właśnie sposób powszechność tego systemu oraz prostotę i szybkość tworzenia oprogramowania przy użyciu .NET oraz DirectX.

4. Podsumowanie

System doskonały nie istnieje, nie ma oprogramowania wolnego od błędów i niedopatrzeń, często jest po prostu źle przetestowane. Nie można też rozważać systemów operacyjnych w kategoriach „Linuks Lepszy od Windows” bądź „Windows Lepszy od Linuksa” gdyż zależy, do czego potrzebujemy systemu operacyjnego, gdyż zależnie od zastosowania, obydwa powyższe stwierdzenia są prawdziwe. Osobiście używam obydwu systemów operacyjnych i wcale nie uważam żeby system Linuks miał być jedynie skierowany do Hobbystów, bo jego codzienna obsługa nie odbiega od oczekiwań, jakie stawia się systemom operacyjnym. Czy może zastąpić system Microsoft Windows? Na to pytanie można odpowiedzieć zarówno twierdząco, jak i przecząco, wszystko zależy, do czego będziemy używać komputera. Choć powoli dzięki rosnącym zasobom oferowanym przez współczesne komputery, możliwa jest już na sprzęcie średniej klasy, wirtualizacja drugiego systemu na akceptowalnym poziomie wydajności, pozwalającym na równoległą pracę na obydwu systemach.
System Linuks na pewno docenią projektanci stron WWW, ze względu podobieństwo środowiska do tego, na którym później strona będzie funkcjonować na serwerze produkcyjnym. Instalacja i konfiguracja np. usługi Apache + PHP i MySql jest dużo prostsza i bardziej kompatybilna ze środowiskiem na serwerze hostingowym, niż te proponowane na system Windows. Znajdzie on również zainteresowanie wśród ekspertów od bezpieczeństwa, gdyż świetnie nadaje się do testów penetracyjnych sieci ze względu na bogactwo dostępnych narzędzi sieciowych. Docenią go również administratorzy sieci firmowych gdyż ten świetnie sprawdza się, jako „Zapora Ogniowa”. Iptables zapewnia elastyczność, jakiej nie spotkamy w systemach Windows nawet klasy serwerowej. Równą jak nie większą elastyczność zapewniają tylko rozwiązania firmy Cisco, ale często ich cena sprawia, że przy ograniczonym budżecie wiele firm średniego rozmiaru decyduje się na rozwiązania oparte o system Linuks. Ale Linuks trafi również w gusta codziennym i niezaawansowanym użytkownikom komputera. Jeżeli nie potrzebują oprogramowania dedykowanego tylko dla systemu Windows, ani nie mają potrzeby używać rzadko spotykanych peryferii sprzętowych a zależy im na bezpieczeństwie swoich poczynań w Internecie, to mogą za darmo korzystać z pełnowartościowego systemu operacyjnego.