Skip to content

Theoretische Grundlagen

Kernel

Alle Linux-Distributionen basieren auf dem Linux-Kernel. Dieser Kern ist die Grundlage jedes Linux-Systems. Distributionen können leicht modifizierte Versionen des Kernels verwenden, aber im Wesentlichen sind sie sehr ähnlich. Der Kernel ist für die grundlegende Hardwareverwaltung und die Bereitstellung von Systemaufrufen zuständig.

Init-System

Nachdem der Kernel geladen wurde, führt dieser den ersten Prozess aus, den Prozess mit der ID 1. Dieser Prozess wird auch Init-System genannt, da er die Basis für alle weiteren Systemdienste bildet. Das Init-System ist verantwortlich für das Starten und Verwalten von Systemdiensten.

Am weitesten verbreitet unter Linux ist systemd. Es gibt aber auch alternative Init-Systeme wie OpenRC oder runit. Diese unterscheiden sich in ihrer Anwendung und Philosophie bezüglich der Aufgaben, die ein Init-System übernehmen soll.

Paketmanager

Der verwendete Paketmanager ist einer der größten Unterschiede zwischen verschiedenen Linux-Distributionen. Der Paketmanager beeinflusst, wie Software installiert, aktualisiert und verwaltet wird. Er vereinfacht die Installation, Aktualisierung und Entfernung von Softwarepaketen.

Für den Nutzer sind die Anzahl der verfügbaren Pakete, die Benutzerfreundlichkeit und die Fähigkeit, Abhängigkeiten aufzulösen, wichtige Faktoren bei der Wahl des Paketmanagers.

Release-Modell

Distributionen können unterschiedliche Release-Modelle haben, die bestimmen, wie Softwareaktualisierungen bereitgestellt werden. Ubuntu verwendet beispielsweise ein regelmäßiges Release-Modell mit Long-Term Support (LTS)-Versionen, die über einen längeren Zeitraum unterstützt werden. Arch Linux hingegen verwendet ein Rolling-Release-Modell, bei dem Software kontinuierlich aktualisiert wird.

Bei einem Rolling-Release-Modell kann es aufgrund von Abhängigkeitskonflikten zu Systeminstabilitäten kommen. Wenn Programme oder Treiber auf bestimmte Versionen von Bibliotheken angewiesen sind und diese durch kontinuierliche Updates verändert werden, kann es zu Inkompatibilitäten kommen. Dies kann dazu führen, dass externe Software nicht mehr funktioniert oder neu kompiliert werden muss.

Desktop-Oberfläche

Distributionen können mit verschiedenen Desktop-Umgebungen (DEs) ausgeliefert werden. Eine Desktop-Umgebung bietet eine grafische Benutzeroberfläche, die die Interaktion mit dem System erleichtert.

Die zwei am weitesten verbreiteten Desktop-Umgebungen sind GNOME und KDE Plasma. XFCE legt besonderen Fokus darauf, ressourcenschonend zu sein und eignet sich gut für ältere Hardware.

Des Weiteren gibt es sogenannte Window-Manager (WMs), die sich vor allem durch eine automatische Anordnung der Fenster und sehr gute Konfigurierbarkeit auszeichnen. Sie sind unter erfahrenen Benutzern sehr beliebt, da sie einen effizienten, auf die eigenen Bedürfnisse zugeschnittenen Workflow ermöglichen. Beispiele hierfür sind i3, Awesome und Sway.

Philosophie

Distributionen können unterschiedliche Philosophien verfolgen, die ihre Designentscheidungen und Zielgruppen beeinflussen. Debian legt beispielsweise großen Wert auf freie Software und Stabilität, während Arch Linux auf Einfachheit und Benutzerkontrolle setzt. Fedora ist bekannt für seine Innovationsfreudigkeit und die Integration neuer Technologien.

Grundbegriffe

  • Kernel: Der Kern des Betriebssystems, der die Hardware abstrahiert und Systemaufrufe für Anwendungen bereitstellt.
  • Paketmanager: Ein Werkzeug zur Verwaltung von Softwarepaketen, einschließlich Installation, Aktualisierung und Entfernung.
  • Desktop-Umgebung (DE): Eine grafische Benutzeroberfläche, die die Interaktion mit dem System erleichtert und Anwendungen bereitstellt.
  • Window-Manager (WM): Eine Alternative zur Desktop-Umgebung, die sich hauptsächlich auf die Verwaltung von Fenstern konzentriert.
  • Init-System: Der erste Prozess, der nach dem Kernel gestartet wird und für das Starten und Verwalten von Systemdiensten verantwortlich ist.
  • LTS (Long-Term Support): Längerer Update-Zeitraum mit Sicherheitsupdates und Fehlerbehebungen
  • Rolling-Release: Kontinuierliche Aktualisierung von Software.
  • Abhängigkeiten: Softwarepakete, die von anderen Paketen benötigt werden, um korrekt zu funktionieren.
  • Systemdienste: Hintergrundprozesse, die wichtige Funktionen des Betriebssystems bereitstellen, z.B. Netzwerkdienste, Druckdienste oder Benutzeranmeldungen