Poznaj Linuxa – darmowy system, który rządzi światem serwerów

by Patryk

Linux – podstawowe informacje

Linux to system operacyjny o otwartym kodzie źródłowym, pierwotnie opracowanym przez Linusa Torvaldsa w 1991 roku. Jego kod źródłowy jest stale modyfikowany i udostępniany za darmo przez rzesze użytkowników.

Na początku Linux powstał z myślą o komputerach. W dzisiejszych czasach system ten znajduje się dosłownie wszędzie, począwszy od urządzeń sieciowych takich jak routery, po urządzenia gospodarstwa domowego (m.in. pralki, lodówki, konsole, telewizory), a nawet znajdziemy go w telefonach. Warto wspomnieć, że system Android obecny na milionach urządzeń mobilnych oparty jest właśnie na jądrze Linuxa.

Jego niezawodność, bezpieczeństwo i elastyczność sprawiają, że jest to preferowany wybór w przypadku szerokiego zakresu zastosowań, takich jak:

  • hosting stron internetowych
  • przetwarzanie danych w chmurze
  • środowiska serwerowe
  • badania naukowe

Wiele największych organizacji i korporacji na świecie wykorzystuje Linuksa do zasilania swoich krytycznych systemów i usług. Ponadto Linux ma tętniącą życiem społeczność programistów i entuzjastów, którzy przyczyniają się do jego ciągłego rozwoju i doskonalenia.

Dystrybucje Linuxa i zastosowania serwerowe

Dobre zaplecze konfiguracyjne Linuxa doprowadziło do powstania wielu dystrybucji różniących się od siebie oprogramowaniem i interfejsem. Szacuje się, że istnieje około 600 różnych dystrybucji Linuxa, jednak wiele z nich ma cechy wspólne dwóch głównych dystrybucji.

Powszechnie przyjęło się, że dystrybucje dzielą się na:

  • oparte na dystrybucji Debian
  • oparte na dystrybucji Red Hat

Różnice pomiędzy nimi można znaleźć w strukturze systemu plików. Jedne dystrybucje przechowują pliki w tych samych lokalizacjach, z kolei inne mogą mieć pliki umieszczone w zupełnie innym miejscu lub zapisane pod inną nazwą. Różne dystrybucje tworzone są do różnych celów. Jedne będą pełnić rolę serwera i posiadać sam terminal, inne klienta wyposażonego w środowisko graficzne i będą przeznaczone do codziennej pracy na komputerze.

Aktualnie największy odsetek serwerów w firmach korzysta z systemów operacyjnych bazujących na jądrze Linuxa. Z usług serwerowych postawionych na systemie Linux korzystają najwięksi giganci tacy jak Google, Facebook, a także Amazon.

Na Linuxie można zainstalować wiele usług serwerowych, między innymi:

  • serwer WWW,
  • serwer poczty elektronicznej,
  • serwer DHCP,
  • serwer DNS,
  • serwer plików,
  • serwer spełniający rolę kontrolera domeny.

Architektura Linuxa

Linux działa w oparciu o unikalną architekturę, która odróżnia go od innych systemów operacyjnych. Zrozumienie tej architektury ma kluczowe znaczenie dla zrozumienia sposobu, w jaki Linux działa i współdziała ze sprzętem i oprogramowaniem. Architekturę Linuxa można przedstawić jako strukturę składającą się z 3 głównych warstw.

Jądro Linuxa

Jądro jest kluczową częścią systemu Linux, jest dosłownie jego sercem. Będąc najniższą warstwą systemu operacyjnego, jądro jest odpowiedzialne za:

  • kontrolę nad zasobami sprzętowymi (procesor, pamięć, urządzenia wejścia/wyjścia),
  • planowanie i zarządzanie zadaniami,
  • obsługę operacji wejścia/wyjścia,
  • komunikację pomiędzy aplikacjami a urządzeniami sprzętowymi.

Jądro ma pełny dostęp i kontrolę nad wszystkim, co dotyczy systemu. Jest pierwszym komponentem ładowanym podczas startu Linuxa. W skrócie: jądro jest odpowiedzialne za zapewnienie płynnego działania komputera.

Powłoka systemu Linux

Bezpośrednio nad jądrem znajduje się powłoka (shell). Mówiąc najprościej, powłoka służy jako interfejs pomiędzy użytkownikiem a systemem operacyjnym Linux. Umożliwia użytkownikom interakcje z systemem operacyjnym interpretując polecenia i uruchamiając programy. Powłoka może być tekstowa (CLI) lub graficzna (GUI).

Powłoka tekstowa (CLI)

Powłoka tekstowa (CLI) pozwala wchodzić w interakcje z systemem operacyjnym za pomocą poleceń wpisywanych w terminalu. Interfejs ten zapewnia elastyczność i efektywność wykonywania zadań i zarządzania systemem. Dlatego administratorzy systemów Linux bardzo często korzystają wyłącznie z interfejsu tekstowego.

Linux oferuje różnego rodzaju powłoki tekstowe, z których najpopularniejszą jest Bash. Wśród innych popularnych powłok można wymienić: csh, tcsk, ksh. Na ten moment jednak nie zaprzątaj sobie nimi głowy. Poznasz je w momencie używania systemu.

Powłoka graficzna (GUI)

Oprócz powłoki tekstowej system Linux udostępnia również powłokę graficzną (GUI). Nie jest ona jednak tak często wykorzystywana przez administratorów w codziennej pracy. Podczas gdy CLI oferuje wydajność i dostęp do zaawansowanych funkcji, GUI zapewnia przyjazny interfejs graficzny, który zawiera ikony, okna, menu i inne elementy graficzne znane z systemu Windows.

Najbardziej popularnymi graficznymi powłokami są: GNOME, KDE, Xfce, MATE.

Aplikacje

Najwyższą warstwą Linuxa są aplikacje, czyli programy, z którymi użytkownicy mają bezpośredni kontakt podczas codziennej pracy. Mogą to być m.in.:

  • klienci poczty elektronicznej,
  • pakiety biurowe,
  • przeglądarki internetowe,
  • edytory tekstu.

Aplikacje komunikują się ze sprzętem za pośrednictwem jądra systemu, natomiast z użytkownikiem wchodzą w interakcję poprzez powłokę (tekstową lub graficzną). Przykładowo: otwierając plik tekstowy w edytorze wpisujesz polecenie w powłoce. Wówczas powłoka interpretuje twoje polecenie i za pośrednictwem jądra systemu operacyjnego pobiera odpowiedni plik z dysku twardego. Następnie przekazuje go do edytora tekstu, czyli aplikacji, która następnie wyświetla zawartość tego pliku, umożliwiając edycję tekstu.

Hierarchia systemu plików (FHS)

System plików Linuxa ma ściśle określony standard hierarchii plików zwany w skrócie FHS. Podstawowym jego celem jest ujednolicenie struktury katalogów w Linuxie, ułatwiając użytkownikom i administratorom lokalizowanie plików oraz zasobów.

Trzymając się wspólnej hierarchii, dystrybucje Linuksa mogą zapewnić kompatybilność z pakietami oprogramowania i bibliotekami zaprojektowanymi dla środowiska Unix.

  • /bin – katalog, w którym znajdują się wszystkie programy wykonywalne.
  • /boot – zawiera pliki potrzebne do uruchomienia systemu.
  • /dev – znajdują się tu pliki reprezentujące urządzenia w systemie, takie jak dyski twarde, dyski USB i drukarki.
  • /etc – zawiera pliki konfiguracyjne systemu oraz aplikacji. Tutaj można między innymi zmienić ustawienia sieciowe.
  • /home – zawiera katalogi domowe dla każdego użytkownika.
  • /lib – zawiera biblioteki potrzebne dla aplikacji znajdujących się w katalogach /bin i /sbin.
  • /lost+found – znajdują się tu wszystkie uszkodzone pliki znalezione w momencie awarii systemu.
  • /media – zawiera podkatalogi, do których montowane są wymienne nośniki danych zainstalowane w komputerze. Na przykład, po włożeniu dysku CD, jego zawartość można będzie przeglądać pod katalogiem /media/cdrom.
  • /mnt – miejsce, w którym administratorzy systemu mogą tymczasowo montować systemy plików, aby z nich skorzystać (np. dyski sieciowe).
  • /opt – zawiera podkatalogi dla opcjonalnych aplikacji, nie wspieranych standardowo przez dystrybucję.
  • /proc – katalog wirtualny (utrzymywany w RAM), zawiera uruchomione procesy i informacje o systemie.
  • /root – katalog domowy administratora systemu.
  • /run – aplikacje przechowują tu pliki przejściowe potrzebne do działania.
  • /sbin – programy wykonywalne, przeznaczone do uruchamiania przez administratora systemu w celu administrowania systemem.
  • /srv – przeznaczony na dane usług świadczonych przez system (np. strona WWW serwera Apache).
  • /tmp – zawiera pliki tymczasowe używane przez aplikacje i system.
  • /usr – katalog zawierający dane współużytkowane przez wszystkich użytkowników w systemie (m.in. dokumentacja aplikacji).
  • /var – katalog ten zawiera pliki, które często się zmieniają (np. logi systemowe).

You may also like

Leave a Comment