Czym jest Linux? System operacyjny typu open-source, który zmienia świat
Linux jest sprawdzonym systemem operacyjnym typu open-source, wydanym w 1991 roku dla komputerów, ale jego zastosowanie rozszerzyło się na systemy dla samochodów, telefonów, serwerów internetowych i, ostatnio, sprzętu sieciowego.
Jego długowieczność, dojrzałość i bezpieczeństwo sprawiają, że jest to jeden z najbardziej zaufanych systemów operacyjnych dostępnych obecnie, co oznacza, że jest idealny dla komercyjnych urządzeń sieciowych, jak również przedsiębiorstw, które chcą używać go i jego urządzeń peryferyjnych do dostosowywania własnej sieci i infrastruktury centrum danych.
To z kolei sprawia, że umiejętności Linuksa są bardzo poszukiwane przez menedżerów IT zatrudniających pracowników. Na przykład wiele nowych technologii związanych z DevOps, takich jak kontenery, infrastruktura i kontrolery SDN, jest zbudowanych na Linuksie.
Czym jest Linux?
Linux jest systemem operacyjnym podobnym do Uniksa, choć, jak zobaczymy, nie wywodzącym się bezpośrednio od niego. Jak większość uniksopodobnych systemów operacyjnych, Linux składa się z kilku komponentów.
Jądro
Jest to rdzeń systemu i wysyła instrukcje do procesora, urządzeń peryferyjnych i pamięci.
Bootloader
Procesy, które zarządzają uruchamianiem systemu. Na komputerze użytkownik rozpoznałby to po pojawiającym się ekranie rozruchowym. Na urządzeniu sieciowym jest status wskazujący proces rozruchowy.
Demony
Usługi działające w tle, które uruchamiają się w czasie rozruchu lub po pełnym uruchomieniu systemu. Na przykład, demon sieciowy aktywuje wszystkie interfejsy sieciowe podczas startu systemu. Inne demony to takie rzeczy jak czas i DNS.
Powłoka
To jest linia poleceń Linuksa. Może być onieśmielający dla ludzi, którzy są przyzwyczajeni do pracy w środowiskach graficznych, ale większość profesjonalistów sieciowych jest przyzwyczajona do pracy w powłoce.
Komendy linuksowe
Interfejs wiersza poleceń (CLI) powłoki oferuje wiele potężnych możliwości – w tym te kluczowe dla sieci i administracji systemem – dla biegłych użytkowników, którzy są zaznajomieni z interfejsem tekstowym.
Środowiska graficzne
Poza powłoką, istnieje wiele środowisk graficznych dla Linuksa, które działają jak okienkowe GUI znane z Windows i macOS. W przeciwieństwie do tych systemów operacyjnych, Linux może być wyposażony w jedno z wielu środowisk pulpitu, aby zaspokoić potrzeby i gusta użytkownika.
Menedżery pakietów i aplikacje
Mimo, że wiele programów – szczególnie tych obsługiwanych z linii poleceń – jest dołączonych do większości instalacji systemu operacyjnego Linux, oczywiście będziesz chciał zainstalować więcej, aby uzyskać funkcjonalność, której potrzebujesz, a wiele z tych programów będzie graficznymi aplikacjami opartymi na GUI, bardziej znanymi niż te obsługiwane przez CLI. Zazwyczaj do tego celu używa się menedżera pakietów, programu, który pobiera pakiety oprogramowania z ogólnodostępnych bibliotek oprogramowania. Niektóre aplikacje sieciowe dla Linuksa, takie jak te skupiające się na analizie ruchu, bezpieczeństwie i zarządzaniu siecią, mają graficzne interfejsy, ale jest ich znacznie mniej niż tych dla serwerów i komputerów stacjonarnych.
Linus Torvalds i historia Linuksa
Jak wspomniano, Linux jest jednym z wielu systemów operacyjnych, które mieszczą się w kategorii „Unix-like”. Historia Uniksa jest bardzo zagmatwana, ale Linux, choć w dużej mierze przypomina Uniksa, nie wykorzystuje ponownie żadnego kodu źródłowego Uniksa.
Linux może być uważany za wnuka Uniksa. Jego bezpośrednim poprzednikiem był MINIX, mały Uniksopodobny system operacyjny stworzony pod koniec lat 80. w celu zilustrowania zasad projektowania systemów operacyjnych dla studentów.
Kod MINIX-a był dostępny dla celów edukacyjnych, ale nie mógł być ponownie użyty w zastosowaniach komercyjnych. W 1991 roku 21-letni student informatyki Linus Torvalds ogłosił, że zamierza stworzyć nowy system operacyjny, inspirowany MINIX-em, ale napisany od podstaw, tak aby kod mógł być udostępniony jako otwarte źródło na licencji GNU GPL. Połączył nazwę MINIX ze swoim własnym nazwiskiem i nazwał nowy system operacyjny Linux.
Jądro Linux
Jądro Linux jest rdzeniem systemu operacyjnego. Stanowi również kluczową różnicę między Linuksem a MINIXem (co jest nieco ironiczne, ponieważ Torvalds został oskarżony o kradzież kodu z MINIXa w celu stworzenia swojego systemu operacyjnego). Podczas gdy MINIX jest oparty na mikrokernelu, który zawiera minimalną ilość kodu potrzebną do uruchomienia systemu operacyjnego, Linux ma jądro monolityczne, co oznacza, że funkcje takie jak system plików, pamięć wirtualna i różne wywołania systemowe odbywają się w uprzywilejowanej przestrzeni jądra.
Jedną z zalet tego rozwiązania – która jest również jedną z kluczowych zalet Linuksa jako całości – jest to, że podczas gdy wewnętrzne funkcjonowanie systemu operacyjnego może ewoluować w czasie, interfejs między jądrem a przestrzenią użytkownika – częścią systemu, w której wykonywane są aplikacje poszczególnych użytkowników – pozostaje bardzo stabilny, co oznacza, że uaktualnienie Linuksa nie zmusi cię do uaktualnienia twoich programów.
Społeczność Linuksa
Jak wspomniano, kod Linuksa jest open source – konkretnie, jego kod jest wydany na licencji GNU Public License. Oznacza to, że:
- System operacyjny Linux może być pobrany i zainstalowany za darmo.
- Administratorzy mogą badać system operacyjny i dostosowywać go do własnych potrzeb.
- Istnieją nieograniczone przywileje redystrybucji oryginalnych lub zmodyfikowanych wersji systemu operacyjnego.
Jednym z najwyraźniejszych sygnałów, że Linux jest projektem opartym na społeczności jest to, że jądro nie jest utrzymywane w tajemnicy w korporacyjnym laboratorium, ale raczej poprzez publiczną listę e-mailową, gdzie wszystkie proponowane aktualizacje i debaty na temat tego, czy powinny być przyjęte do systemu operacyjnego są dostępne dla każdego. Każdy może dołączyć do społeczności Linuksa poprzez uczestnictwo i współtworzenie tej listy mailingowej.
Torvalds przewodniczy liście jako niezbyt łaskawy dyktator – był znany z wypuszczania obscenicznych diatryb na temat kodu, który uważał za szczególnie problematyczny – ale ostatnio stara się trochę poprawić swoje postępowanie.
Społeczność Linuksa wykracza daleko poza samo jądro. Otwarta natura Linuksa oznacza, że istnieje ogromna grupa profesjonalistów i entuzjastów aktywnie zaangażowanych w poszukiwanie nowych sposobów jego wykorzystania. Na przykład kontenery rozwinęły się w dużej mierze dzięki zaangażowaniu społeczności.
A Linux jako projekt społecznościowy nie oznacza, że platforma oparta na Linuksie jest „gorszym” urządzeniem. Linux posiada doskonały ekosystem z dojrzałymi interfejsami API, jak również zwinny stos sieciowy zoptymalizowany pod kątem zmodernizowanego centrum danych. Na przykład Linux jest zaprojektowany z oddzielnymi płaszczyznami sterowania i przekazywania danych, co ułatwia jego wykorzystanie w architekturach sieci definiowanych programowo, ponieważ oddzielenie tych płaszczyzn jest podstawą SDN.
Dystrybucje Linuksa
Ponieważ Linux jest open source, nie ma jednego sprzedawcy, który by go sprzedawał; teoretycznie można pobrać jądro, środowisko graficzne i różne inne narzędzia i aplikacje, a następnie zainstalować je wszystkie samodzielnie. W praktyce, te komponenty systemu operacyjnego są pakowane razem w tak zwaną dystrybucję – w zasadzie jest to system operacyjny Linux podrasowany w określony sposób, który jest gotowy do użycia po wyjęciu z pudełka.
Powtarzam, teoretycznie każdy może złożyć dystrybucję Linuksa, ale większość jest oferowana przez firmy i organizacje non-profit. Komercyjni dystrybutorzy mogą pobierać opłaty za swoje dystrybucje lub oferować opcjonalne, płatne usługi wsparcia. Niektóre z bardziej znanych dystrybucji Linuksa to:
- Ubuntu
- SuSE
- Debian
- Red Hat
- Fedora
- Oracle Linux
- CentOS
- Arch Linux
- Mandriva
Lista ta ciągle się zmienia; DistroWatch śledzi głównych graczy i ocenia wady i zalety każdego z nich.
Linux vs. Windows
Przełom tysiącleci był złotym okresem dla wojen Microsoft kontra Linux, z zadowolonymi z siebie użytkownikami Linuksa pewnymi wyższości wybranego przez siebie systemu operacyjnego na gruncie ideologicznym jak i technicznym, i Microsoftem strzelającym z taką samą pasją. Wielu z najbardziej zagorzałych zwolenników Linuksa twierdziło, że dzień, w którym Linux stanie się dominującym desktopowym systemem operacyjnym jest tuż za rogiem. To oczywiście nigdy nie nastąpiło. Jako komercyjny system operacyjny dla użytkownika końcowego, Linux nigdy nie rozprzestrzenił się poza małą niszę, a dni tych bitew w dużej mierze minęły (choć nadal znajdziesz ludzi chętnych do podjęcia walki).
Ale jeśli chodzi o serwery Linuxa, to już inna historia. Linux jest powszechnie postrzegany jako główny gracz na rynku serwerów na równi z Microsoftem i innymi dostawcami. I w najbardziej lukratywnym rynku technologii, aby pojawić się w tym wieku, Linux ma, w pewnym sensie, absolutnie zmiażdżył Redmond. Mobilny system operacyjny Android jest, w głębi duszy, pochodną Linuksa, a Android jest głównym graczem na rynku mobilnym, gdzie, pomimo wielokrotnych prób, Microsoft nie zdołał się utrzymać.
Do czego wykorzystywany jest Linux?
Dzięki swojej elastyczności, Linux znalazł drogę do wielu nisz, od produktów wbudowanych do serwerów superkomputerowych. W ciągu ostatniej dekady nastąpiła eksplozja liczby produktów opartych na Linuksie, które wywarły znaczący wpływ na przestrzeń IT, w tym:
- Kubernetes: Menedżer klastrów kontenerów od Google
- OpenStack: Platforma oprogramowania dla infrastruktury jako usługi w chmurze
- Open Daylight: Projekt Linux Foundation oparty na java, mający na celu przyspieszenie adopcji SDN i Network Functions Virtualization (NFV)
- Docker: Program do obsługi kontenerów
- Open vSwitch (OVS): Rozproszony wirtualny przełącznik wielowarstwowy do zapewnienia stosu przełączania wewnątrz środowisk wirtualizacji. OVS jest szczególnie interesujący, ponieważ oferuje bogatszy zestaw funkcji sieciowych niż podstawowe możliwości jądra Linux. Jeśli OVS odniesie choćby umiarkowany sukces, może być doskonałym prekursorem kształtu rzeczy, które nadejdą w networkingu.
Sieć powoli przyjmuje Linuksa, ale im bardziej firmy stają się zależne od sieci, tym bardziej domeny sieci i serwerów są do siebie zbliżane. Dla inżynierów sieciowych, możliwość dostępu do natywnej powłoki Linuksa pozwala im na wykorzystanie narzędzi i oprogramowania, które kiedyś były dostępne tylko dla serwerów. Dzięki temu o wiele łatwiej jest koordynować usługi sieciowe ze zmianami w serwerach i aplikacjach.
Dlaczego Linux odniósł taki sukces w przedsiębiorstwie?
W swoim spojrzeniu na Linuksa w 25. rocznicę jego powstania, Paul Venezia z InfoWorlda zastanawiał się nad tym, dlaczego ten początkujący system operacyjny zaprojektowany przez hipisów i idealistów, a nie biznesmenów, odniósł taki sukces w świecie korporacji. Jego zdaniem atrakcyjność Linuksa była dwojaka.
Po pierwsze, Linux jest adaptowalny, z różnymi dystrybucjami przenoszącymi go na każdą platformę komputerową, jaką tylko można wymienić.
Po drugie, Linux jest tani. To nie był darmowy rodzaj Linuksa, którym firmy były zainteresowane – szczerze mówiąc nie ufały darmowemu – ale tani komercyjny Linux z dostępnym wsparciem był trudny do przeoczenia. I co być może jeszcze ważniejsze, Linux mógł działać na sprzęcie klasy commodity – tanich komputerach PC x86, których większość firm miała już pod dostatkiem – w czasach, gdy inni dostawcy Uniksa, tacy jak Sun, używali swojego systemu operacyjnego, aby umieścić go w swoim sprzęcie klasy high-end.
Te czynniki sprawią, że Linux pozostanie w przedsiębiorstwach na długie lata. Więc czy jesteś sysadminem lub administratorem sieci, będziesz chciał się z nim zapoznać.