Linux
Linux ist ein freies, quelloffenes Betriebssystem-Kernel, das 1991 von Linus Torvalds entwickelt wurde. Zusammen mit GNU-Softwarekomponenten bildet es die Basis für zahlreiche Distributionen und betreibt heute die Mehrheit aller Server, Cloud-Infrastrukturen und mobilen Geräte weltweit.
Linux ist ein freies, quelloffenes Betriebssystem, das auf dem 1991 von Linus Torvalds entwickelten Kernel basiert. Der Begriff Linux bezeichnet streng genommen nur den Kernel selbst, wird aber umgangssprachlich für das gesamte Betriebssystem verwendet, das aus dem Linux-Kernel und GNU-Softwarekomponenten besteht.
Linux hat sich vom Hobbyprojekt eines finnischen Informatikstudenten zum meistgenutzten Server-Betriebssystem der Welt entwickelt. Heute betreibt Linux über 96% aller Webserver, alle Android-Smartphones und die leistungsstärksten Supercomputer der Welt.
Geschichte und Entwicklung
Die Geschichte von Linux begann im Jahr 1991 an der Universität Helsinki. Der finnische Informatikstudent Linus Torvalds wollte die Funktionen seines neuen 386er-PCs optimal nutzen und begann, ein eigenes Terminalemulationsprogramm zu schreiben.
Die Geburtsstunde von Linux
Am 25. August 1991 kündigte Torvalds sein Projekt in einer heute legendären Usenet-Nachricht in der Newsgruppe comp.os.minix an. Er beschrieb es bescheiden als "nur ein Hobby, es wird nicht so groß und professionell wie GNU". Wenige Wochen später, am 17. September 1991, veröffentlichte er die erste Version 0.01 des Linux-Kernels mit nur etwa 10.000 Zeilen Quellcode.
Wichtige Meilensteine
Die Entwicklung von Linux verlief in beeindruckendem Tempo. Der Wechsel zur GNU General Public License war dabei ein entscheidender Wendepunkt:
- 1991: Erste öffentliche Version 0.01 auf dem FTP-Server der Helsinki University
- 1992: Lizenzwechsel zur GNU General Public License (GPL) – Linux wird vollständig frei
- 1993: Über 100 Entwickler arbeiten am Projekt; erste Distributionen (Slackware, Debian) entstehen
- 1994: Version 1.0 erscheint mit Netzwerk-Unterstützung; Red Hat und SuSE veröffentlichen ihre ersten Distributionen
- 1996: Einführung des Tux-Pinguins als offizielles Maskottchen
- 2003: Linux wird im Unternehmensbereich mainstream durch IBM-Investitionen
- 2024: Linux-Kernel 6.x mit über 30 Millionen Zeilen Code und tausenden aktiven Entwicklern
Der Erfolg von Linux basiert maßgeblich auf dem Open-Source-Modell. Durch die GPL-Lizenzierung konnte jeder den Quellcode einsehen, modifizieren und weitergeben. Dies führte zu einer weltweiten Entwicklergemeinschaft, die Linux kontinuierlich verbessert.
Architektur des Linux-Kernels
Der Linux-Kernel ist ein monolithischer Kernel mit Modul-Unterstützung. Das bedeutet, dass alle grundlegenden Betriebssystemfunktionen in einem einzigen Programmblock laufen, aber Gerätetreiber und zusätzliche Funktionen als Module dynamisch geladen werden können.
Kernfunktionen
Der Linux-Kernel übernimmt vier zentrale Aufgaben, die für den Betrieb eines Systems unverzichtbar sind:
- Prozessverwaltung: Der Completely Fair Scheduler (CFS) verteilt die CPU-Zeit fair auf alle Prozesse
- Speicherverwaltung: Virtueller Speicher, Paging und modernes Memory Management mit MGLRU
- Dateisystemverwaltung: Unterstützung für ext4, Btrfs, XFS, ZFS und viele weitere Dateisysteme
- Gerätetreiber: Modulares Treibersystem für Hardware-Unterstützung ohne Kernel-Neukompilierung
Kernel-Module
Ein besonderes Merkmal von Linux ist das modulare Treibersystem. Du kannst Kernel-Module zur Laufzeit laden und entladen, ohne das System neu starten zu müssen. Dies ermöglicht eine flexible Hardware-Unterstützung:
# Geladene Kernel-Module anzeigen
lsmod
# Informationen zu einem Modul abrufen
modinfo usb_storage
# Modul laden
sudo modprobe usb_storage
# Modul entladen
sudo modprobe -r usb_storage
# Kernel-Version anzeigen
uname -r
Linux-Distributionen
Eine Linux-Distribution (kurz: Distro) ist ein Komplettpaket aus dem Linux-Kernel, GNU-Tools, Paketverwaltung, Desktop-Umgebung und vorinstallierter Software. Es gibt hunderte verschiedene Distributionen, die sich in Philosophie, Zielgruppe und Einsatzgebiet unterscheiden.
Debian-Familie
Debian ist eine der ältesten und einflussreichsten Distributionen. Sie legt großen Wert auf Stabilität und freie Software. Viele populäre Distributionen basieren auf Debian:
- Debian: Maximale Stabilität, ideal für Server, über 59.000 Pakete
- Ubuntu: Benutzerfreundlich, großer Community-Support, gut für Einsteiger
- Linux Mint: Basiert auf Ubuntu, besonders einsteigerfreundlicher Desktop
- Kali Linux: Spezialisiert auf Penetrationstests und IT-Sicherheit
Red Hat-Familie
Red Hat entwickelt Enterprise-Linux-Lösungen für Unternehmen. Diese Distribution-Familie verwendet RPM-Pakete und DNF/YUM als Paketmanager:
- RHEL (Red Hat Enterprise Linux): Kommerziell, langfristiger Support, für Unternehmen
- Fedora: Community-getrieben, neueste Technologien, Testfeld für RHEL
- CentOS Stream: Rolling Release, Vorschau auf zukünftige RHEL-Versionen
- Rocky Linux / AlmaLinux: Kostenlose RHEL-Kompatible für den Enterprise-Einsatz
Weitere wichtige Distributionen
Neben Debian und Red Hat gibt es weitere bedeutende unabhängige Distributionen:
- SUSE Linux Enterprise: Kommerziell, stark in Europa verbreitet
- openSUSE: Community-Version von SUSE mit YaST-Konfigurationstool
- Arch Linux: Rolling Release, minimalistisch, für erfahrene Benutzer
- Alpine Linux: Extrem schlank, ideal für Container
Vergleich: Server vs. Desktop
Die Wahl der richtigen Distribution hängt vom Einsatzzweck ab:
| Kriterium | Server-Distros | Desktop-Distros |
|---|---|---|
| Beispiele | Debian, RHEL, Ubuntu Server | Ubuntu Desktop, Fedora, Linux Mint |
| Oberfläche | Meist nur Terminal | Grafische Oberfläche (GNOME, KDE) |
| Stabilität | Sehr konservativ | Balance zwischen Stabilität und Aktualität |
| Updates | Selten, nur Sicherheitsupdates | Regelmäßig, auch neue Features |
| Ressourcen | Minimal | Mehr RAM/CPU für Desktop-Umgebung |
Für Produktionsserver empfehlen sich Debian oder RHEL wegen der langfristigen Unterstützung. Für Desktop-Nutzung und Entwicklung sind Ubuntu oder Fedora gute Optionen mit aktueller Software.
Einsatzgebiete von Linux
Linux ist heute in nahezu allen Bereichen der IT präsent. Die Kombination aus Stabilität, Sicherheit und Flexibilität macht es zur bevorzugten Wahl für professionelle Anwendungen.
Server und Cloud
Linux dominiert den Servermarkt. Über 96% aller Webserver weltweit laufen unter Linux. Die großen Cloud-Anbieter (AWS, Google Cloud, Microsoft Azure) setzen primär auf Linux für ihre Infrastruktur.
- Webserver: Apache, Nginx auf Linux-Basis
- Datenbanken: MySQL, PostgreSQL, MongoDB
- Cloud-Infrastruktur: AWS, Google Cloud, Azure
- Containerisierung: Docker, Kubernetes
Eingebettete Systeme und IoT
Linux findet sich in unzähligen Geräten des täglichen Lebens:
- Smartphones: Android basiert auf dem Linux-Kernel
- Smart-TVs: Die meisten Smart-TVs nutzen Linux
- Router und NAS-Systeme: OpenWrt, FreeNAS, TrueNAS
- Raspberry Pi und Einplatinencomputer: Raspbian/Raspberry Pi OS
- Fahrzeuge: Automotive Grade Linux in modernen Autos
Supercomputer und Wissenschaft
Alle Top-500-Supercomputer der Welt laufen unter Linux. Die Flexibilität und Skalierbarkeit machen es zur einzigen Wahl für High-Performance-Computing (HPC) in der wissenschaftlichen Forschung.
Grundlegende Linux-Befehle
Die Arbeit mit Linux erfolgt häufig über die Kommandozeile (Terminal). Hier sind die wichtigsten Befehle, die du als IT-Fachkraft kennen solltest:
Dateien und Verzeichnisse
# Aktuelles Verzeichnis anzeigen
pwd
# Verzeichnisinhalt auflisten
ls -la
# Verzeichnis wechseln
cd /var/log
# Verzeichnis erstellen
mkdir -p /pfad/zum/verzeichnis
# Datei kopieren / verschieben / löschen
cp quelle.txt ziel.txt
mv alte-datei.txt neue-datei.txt
rm datei.txt
# Dateiinhalt anzeigen
cat /etc/hostname
less /var/log/syslog
Systemverwaltung
# Systeminformationen anzeigen
uname -a
cat /etc/os-release
# Laufende Prozesse anzeigen
ps aux
top
htop
# Dienste verwalten (systemd)
sudo systemctl status nginx
sudo systemctl start nginx
sudo systemctl enable nginx
# Speicherplatz und RAM
df -h
free -h
Netzwerk
# Netzwerkkonfiguration anzeigen
ip addr
ip route
# Verbindung testen
ping -c 4 google.com
traceroute google.com
# Offene Ports anzeigen
ss -tulpn
netstat -tulpn
# DNS-Abfrage
dig example.com
nslookup example.com
Paketverwaltung
Jede Linux-Distribution verwendet ein Paketverwaltungssystem zur Installation und Aktualisierung von Software. Die beiden wichtigsten Systeme sind APT (Debian/Ubuntu) und DNF/YUM (Red Hat/Fedora).
APT (Debian/Ubuntu)
# Paketlisten aktualisieren
sudo apt update
# Alle Pakete aktualisieren
sudo apt upgrade
# Paket installieren
sudo apt install nginx
# Paket entfernen
sudo apt remove nginx
# Nach Paketen suchen
apt search webserver
DNF (Fedora/RHEL)
# Pakete aktualisieren
sudo dnf update
# Paket installieren
sudo dnf install nginx
# Paket entfernen
sudo dnf remove nginx
# Nach Paketen suchen
dnf search webserver
Linux vs. andere Betriebssysteme
Linux unterscheidet sich in mehreren Punkten grundlegend von Windows und macOS:
| Aspekt | Linux | Windows | macOS |
|---|---|---|---|
| Lizenz | Open Source (GPL) | Proprietär | Proprietär |
| Kosten | Kostenlos | Kostenpflichtig | An Apple-Hardware gebunden |
| Kernel | Monolithisch | Hybrid | Hybrid (XNU) |
| Paketverwaltung | APT, DNF, Pacman | Windows Store, MSI | Homebrew, App Store |
| Server-Verbreitung | > 96% | < 3% | < 1% |
| Desktop-Verbreitung | ~3% | ~70% | ~15% |
Für Server-Anwendungen ist Linux die klare erste Wahl aufgrund der Stabilität, Sicherheit und Kosteneffizienz. Im Desktop-Bereich hat Windows den größten Marktanteil, aber Linux gewinnt kontinuierlich an Bedeutung, besonders bei Entwicklern.
Linux in der IT-Praxis
Linux-Kenntnisse sind in der IT-Branche unverzichtbar geworden. Fachinformatiker für Systemintegration arbeiten täglich mit Linux-Servern, konfigurieren Dienste und verwalten Netzwerkinfrastrukturen. Auch für Fachinformatiker für Anwendungsentwicklung ist Linux relevant, da viele Entwicklungsumgebungen und Deployment-Pipelines auf Linux basieren.
In folgenden Bereichen wirst du Linux mit hoher Wahrscheinlichkeit begegnen:
- Server-Administration: Webserver, Mailserver, Datenbankserver
- DevOps und Cloud: CI/CD-Pipelines, Container, Kubernetes
- Netzwerktechnik: Firewalls, Router, VPN-Gateways
- IT-Sicherheit: Penetrationstests, Forensik, SIEM-Systeme
- Automatisierung: Bash-Scripting, Ansible, Terraform