Lot w czasoprzestrzeni. System operacyjny LINUX.
Na początku był Windows. Lubimy rzeczy nam znane i wygodne. Bardzo szybko przyzwyczajamy się i najchętniej sięgamy po to, co znane. Wiele osób nie lubi zmian, a przynajmniej tych gwałtownych zmian. Z reguły kojarzą się nam one dość negatywnie, ponieważ najczęściej wiążą się z jakimś wysiłkiem, jaki musimy podjąć, aby je poznać, by znów przyzwyczaić się do czegoś.
Tak samo, jak przyzwyczajamy się do naszej ulubionej książki, kawy czy knajpy, w której mamy zarezerwowaną najlepszą miejscówkę, czy do miejsca na wakacje, gdzie mamy sprawdzony hotel, tak samo jest z systemami operacyjnymi, z którymi pracujemy na co dzień.
Większość z nas korzysta zapewne z Microsoft Windows – on jest praktycznie wszędzie. Był od najmłodszych lat, zapewne w prawie każdym domu, potem w szkolnej w bibliotece, kafejkach internetowych, a później nawet na studiach. Nawet podczas zakupów zestawu komputerowego, oferowany jest nam w pakiecie system operacyjny Windows (z wyjątkiem MacBooków, oczywiście, ale to już droższa zabawa i całkiem inna historia). Oprócz świetnie znanego nam Windowsa czy równie dobrze znanego nam macOS, istnieje również wiele innych systemów, o których warto wspomnieć – w tym również rodzina systemów Linux, o której tutaj będzie mowa.
Co nieco o Systemie Linux
Linux to rodzina unixowych systemów operacyjnych, które są oparte na jądrze linux. Nazwa wzięła się z połączenia słów „Linus” (od imienia twórcy) oraz „Unix”. Jądro Linuxa to twór fińskiego informatyka Linusa Torvaldsa, który nieprzerwanie uczestniczy w rozwoju tego projektu od 1991 roku.
Linux opiera się na zasadach wolnej licencji, dzięki czemu jest on darmowy, a dodatkowo umożliwia rozwijanie projektu przez każdego początkującego czy dewelopera, który tylko ma na to czas i ochotę. Przez lata ogromna społeczność stworzyła szereg dystrybucji systemu.
Dla kogo jest Linux? Zastosowanie
Linux stosowany jest często jako podstawowy system operacyjny dla serwerów WWW, FTP, pocztowych, baz danych, zapór sieciowych czy routerów. Często można spotkać go w zastosowaniach domowych, a także biurowych. Istnieje wiele państw europejskich, które planują przejście na Linuxa ze względu na ich bezpieczeństwo, stabilność, łatwość modyfikacji kodu źródłowego. Z Linuxa często korzysta wywiad, a nawet wojsko, a nawet sam Microsoft. Nierzadko spotykamy Linuxa w bankowości, instytucjach finansowych czy w medycynie. System znajduje także zastosowanie w systemach nawigacji GPS, dekoderach telewizji naziemnej i satelitarnej. Nawet w urządzeniach mobilnych Linux ma swój udział – smartfony z systemem Android, który oparty jest na właśnie na Linuxie, dominuje dziś na rynku. Czy możemy w takim razie zakładać, że to system tylko dla zaawansowanych geeków czy wielkich przedsiębiorstw i nie ma w nim miejsca na zwykłego szarego użytkownika? Odpowiedź brzmi: absolutnie nie.
Nawet jeśli nie korzystamy na co dzień z Linuxa, to z wielkim prawdopodobieństwem korzystamy z niego poprzez codzienne przeglądanie internetu – dużo (a mógłbym nawet zaryzykować stwierdzenie, że większość) serwisów internetowych korzysta z tego systemu. Co jednak, jeśli chcielibyśmy „dotknąć” go bezpośrednio, poczuć go na własnej skórze? Żaden problem!
Zaprezentuję krótki przykład wykorzystania Linuxa na podstawie przygotowania lokalnego środowiska do tworzenia oprogramowania w języku PHP. Żeby móc skutecznie tworzyć oraz prezentować wyniki naszego kodu potrzebujemy:
- PHP,
- serwera Apache,
- MySQL,
- Git,
- jakiegoś IDE (tutaj PhpStorm, który przy okazji serdecznie polecam).
Żeby całe to oprogramowanie zainstalować na Windowsie, musielibyśmy prześledzić każdą stronę danego oprogramowania, aby potem przejść ścieżkę od pobrania aż do poprawnej instalacji. Poniżej zaprezentuję sposób, który pozwoli nam zainstalować całe potrzebne oprogramowanie za pomocą jednej komendy.
Pierwszym krokiem będzie stworzenie pliku z rozszerzeniem .sh, który powinien wyglądać tak, jak poniżej (powiedzmy, że nazwiemy go „instalacja.sh”).
#!/bin/bash
sudo apt update
sudo apt-get install php libapche2-mod-php
sudo apt-get install apache2
sudo apt-get install git
sudo apt install ubuntu-make
umake ide phpstorm
sudo apt install mysql-server
Następnie uruchamiamy go komendą: sudo sh instalacja.sh i voilà! Skrypt wykona za nas całą pracę. Jest to bardzo skuteczna pomoc, gdy musimy coś zautomatyzować.
Wielu z nas zapewne wyobraża sobie sceny z „Matrixa”, kiedy pomyśli o Linuxie, ale nic bardziej mylnego. Od początku projektu pojawiło się wiele dystrybucji, a razem z nimi GUI stworzone specjalnie po to, aby dosłownie każdy mógł zagłębić się w systemy rodziny Linux. Jednym z najbardziej przyjaznych użytkownikowi, który świeżo wkracza w świat Linuxa, jest Ubuntu.
Obawy związane z przejściem na linux
Jak wspomniałem we wstępie, nie lubimy zmian. Jeśli coś nas powstrzymuje przed zmianą systemu na inny, to właśnie obawa, że będziemy musieli się go nauczyć. Z pewnością tak też będzie, ale nie jest to takie trudne, jak nam się wszystkim wydaje.
Jeśli wejdziemy w system Linux, szybko przekonamy się, że interfejs praktycznie niczym się nie różni od dobrze nam znanego Windowsa. Ikony aplikacji, pasek zadań czy interfejs ustawień systemu to wszystko doskonale nam znane koncepty. Wielu z nas (również ja przed przejściem na Linuxa) uważa zapewne, że w Linuxie bez konsoli ani rusz – to jednak nieprawda. GUI dla każdego w zupełności powinno wystarczyć, terminal bardzo usprawnia pracę, ale praca bez niego nie jest niemożliwa. Dla przykładu: Ubuntu umożliwia instalację oprogramowania przez specjalną aplikację w stylu Microsoft Store,w której przycisk „instaluj” robi za nas całą robotę.
Ta część z nas, która lubi sobie pograć w gry, pewnie słyszała, że na Linuxie nie za bardzo jest to możliwe. Nie jest to prawdą. Oczywiście istnieje wiele gier, które są produkowane jedynie na systemy Windows, ewentualnie na macOS. Jednakże coraz więcej deweloperów, tworząc gry, próbuje tworzyć swoje oprogramowanie również z myślą o systemach unixowych. Poza tym istnieje wiele programów, które umożliwiają uruchamianie gier na systemy Windows w Linuxach – na przykład Wine. Dodatkowo Linuxem zainteresował się sam Steam, umożliwiając fanom gier instalacje gier z platformy na Linuxa. Na samym Ubuntu możemy pobrać i zainstalować wiele gier za pomocą jednego przycisku.
Dlaczego warto używać Linuxa?
O zaletach tego systemu można pisać wiele. Zacznijmy od tego, że jest darmowy. Użytkownicy Linuksa lubią jego spójność i stabilność, a świadectwem autentycznego projektu systemu Unix jest fakt, że system operacyjny może pozostać wciąż taki sam, przesuwając swoje granice w nowe formy technologii. Co więcej otwartość kodu umożliwia jego całkowitą modyfikację. Kolejną zaletą jest fakt, że umożliwia on szybką i wydajną pracę w terminalu. Linux stawia na bezpieczeństwo i zapewnia pełną anonimowość użytkownika. Jest szybki i sprawny w działaniu oraz posiada szeroką ofertę darmowego oprogramowania.
System operacyjny Android firmy Google działa na jądrze Linuksa, wielu więc z nas technicznie ma Linuksa codziennie przy sobie w zasięgu ręki. Dobrą wiadomością jest to, że Linux daje poczucie odkrywania, gdy stawiasz swoje pierwsze kroki, uczysz się nowych poleceń, a także poczucie spełnienia, gdy wszystko działa tak, jak powinno, ułatwiając Ci życie.
Różnice między Windowsem a Linuxem
Główną różnicą między Linuxem a Windowsem jest oczywiście cena. Linux jest darmowy, dostępny praktycznie wszędzie, a Windows jest systemem komercyjnym, który kosztuje niemałe pieniądze – szczególnie, gdy chcemy skorzystać z wersji, która oferuje nam zaawansowane narzędzia. Windows nie jest w pełni konfigurowalny, a jego kod nie jest publicznie dostępny. W Linuxie natomiast możemy dostosować praktycznie każdy aspekt, kod jest publicznie dostępny, a jego modyfikacja dozwolona. Linux jest również znacznie bezpieczniejszym systemem niż Windows.
Dlaczego ja wybrałem Linuxa?
W moim przypadku to nie jest do końca tak, że to ja go wybrałem – to Linux wybrał mnie, a raczej zmusił, abym z niego korzystał. W jednej z firm, w której miałem przyjemność pracować, wszyscy pracowali na systemach Linux – nie żałuję jednak zmiany. Gdybym wiedział wcześniej, co może zaoferować mi Linux i jak wiele czasu i frustracji zaoszczędzić, przesiadłbym się na niego o wiele wcześniej.
Po prawie 20 latach na Windowsach ukazał się przede mną Ubuntu i (po pierwszych trudnościach związanych z terminalem) od razu go pokochałem. Ponieważ jestem programistą, miałem wiele możliwości się o tym przekonać. Instalacja jakichkolwiek zależności, bibliotek oprogramowania z długiej listy kroków, które należałoby wykonać, aby poprawnie zainstalować cokolwiek na Windowsie, zaczęła się sprowadzać do jednej komendy w terminalu, a docelowo do złożenia kilku komend w pliku z rozszerzeniem .sh, aby wszystkie potrzebne narzędzia, biblioteki instalować dokładnie jedną komendą – reszta zawarta była już w jednym wykonywalnym pliku.
Dodatkowo praca lokalnie w takim środowisku pozwala oswoić się z pracą, gdzie dostęp mamy jedynie zdalnie i przez terminal – na przykład, gdy obsługujemy serwer WWW. Praca w terminalu jest szalenie prosta, szybka i wydajna. Myślę, że w systemach Linux odnajdzie się każdy i nawet, jeśli nie ma się zamiaru na co dzień z nim pracować, to warto się z nim chociaż zapoznać, bo kto wie, na czym przyjdzie nam pracować w przyszłości. Nie jestem jednak w stanie polecić konkretnej dystrybucji Linuxa – tu każdy powinien wybrać osobiście. Są dystrybucje, które nadają się do wszystkiego (jak Ubuntu) i raczej w tę stronę kierowałbym świeżaków, którzy chcą sprawdzić, z czym to się je.
Gdy pierwszy raz zobaczyłem przed sobą Ubuntu, byłem lekko zestresowany. Jednak po pokonaniu pierwszych trudności, odnalezieniu materiałów o tym, jak, co i gdzie, już wiedziałem że Linux to dobry wybór, który wszystkim polecam.