Was sind die grundlegenden Bestandteile von Linux?

Linux 2 Min. Lesezeit

Ein Linux-System besteht aus mehreren, aufeinander aufbauenden Schichten. Beim Start des Servers werden diese in etwa in der folgenden Reihenfolge aktiviert; daher zeigt die Auflistung auch, was zwischen dem Einschalten und der Anmeldung geschieht.

1. Bootloader

Nach dem Einschalten des Geräts startet die Firmware (BIOS oder UEFI) den Bootloader – unter Linux ist dies fast immer GRUB. Dieser lädt den Kernel und ein temporäres Startdateisystem (initramfs) in den Arbeitsspeicher, das die für den Zugriff auf die Festplatten erforderlichen Module enthält. Über das GRUB-Menü kann das System auch mit einem älteren Kernel gestartet werden, falls nach einem Update Probleme auftreten sollten.

2. Kernel

Der Linux-Kernel ist das Herzstück des Systems: Er kommuniziert direkt mit der Hardware, verwaltet den Arbeitsspeicher, die Prozesse, die Dateisysteme und das Netzwerk und bedient die Programme über Systemaufrufe. Die aktuell ausgeführte Kernel-Version wird durch den Befehl „uname -r“ angezeigt.

3. Init-System: systemd

Der Kernel startet zunächst einen einzigen Prozess (PID 1), der für den Start der übrigen Dienste zuständig ist. Bei heutigen Distributionen ist dies „systemd“. Es startet das Netzwerk, den Webserver, die Datenbank, den SSH-Server und die übrigen Hintergrunddienste (Daemons) und sammelt zudem deren Protokolle. Die Verwaltung der Dienste wird in unserem Artikel zu „systemctl“ behandelt.

4. Systemverzeichnisse

Die Programme realisieren nicht alle Grundfunktionen selbst, sondern nutzen gemeinsame, gemeinsam genutzte Bibliotheken. Am wichtigsten ist die C-Bibliothek (in den meisten Distributionen die glibc), über die die Programme die Dienste des Kernels aufrufen. Darüber hinaus ist beispielsweise OpenSSL für die Verschlüsselung und zlib für die Komprimierung zuständig. Ein Sicherheitsupdate einer Bibliothek betrifft daher alle darauf aufbauenden Programme.

5. Shell und grundlegende Befehle

Die Shell (Befehlsinterpreter, unter Linux meist „bash“) nimmt die eingegebenen Befehle entgegen und führt sie aus. Die grundlegenden Befehle wie „ls“, „cp“, „mv“, „chmod“ oder „grep“ sind eigenständige Programme, von denen die meisten Teil des GNU-Projekts sind. Einen Überblick über deren Verwendung bietet der Artikel über grundlegende Linux-Befehle.

6. Paketmanager

Die Installation, Aktualisierung und Deinstallation von Programmen erfolgt über das Paketverwaltungssystem, das auch die Abhängigkeiten auflöst. AlmaLinux, Rocky Linux und CloudLinux verwenden den Befehl „dnf“ (früher „yum“), Debian und Ubuntu hingegen den Befehl „apt“. Dies ist einer der auffälligsten Unterschiede zwischen den Distributionen.

7. Verzeichnisstruktur und Konfigurationsdateien

Linux ordnet alle Dateien in einer einzigen Baumstruktur an, die vom Stammverzeichnis „/“ ausgeht. Die wichtigsten Verzeichnisse sind:

  • /etc: Konfigurationsdateien des Systems und der Dienste (z. B. /etc/ssh/sshd_config);
  • /var: variable Daten, beispielsweise Protokolle (/var/log) und häufig auch Websites (/var/www);
  • /home: die eigenen Verzeichnisse der Benutzer; das Verzeichnis des root-Benutzers ist /root;
  • /usr: die installierten Programme und Verzeichnisse;
  • /tmp: temporäre Dateien.

Die Einstellungen befinden sich fast immer in einfachen Textdateien, sodass sie mit einem Texteditor bearbeitet und problemlos gespeichert werden können.

8. Anwendungsprogramme und grafische Benutzeroberfläche

Auf Desktop-Computern basieren darauf die grafische Benutzeroberfläche (beispielsweise GNOME oder KDE Plasma) sowie die Benutzeranwendungen. Auf Servern gibt es in der Regel keine grafische Benutzeroberfläche: Die Verwaltung von VPS erfolgt über SSH und die Befehlszeile, sodass die Ressourcen des Rechners für die Bereitstellung von Websites und Anwendungen genutzt werden.

Zurück: Linux-Artikel (62)