01
Woraus Linux besteht: Kernel, Shell, Distributionen und Lizenzen
Am einfachsten stellst du dir Linux wie eine Zwiebel vor. In der Mitte sitzt die Hardware: CPU, Arbeitsspeicher, Festplatten und Netzwerkkarte. Drumherum liegt der Kernel, der diese Hardware direkt verwaltet. Außen um den Kernel liegt die Shell (zum Beispiel bash), die deine eingetippten Befehle interpretiert, und ganz außen die Programme, mit denen du tatsächlich arbeitest.
Programme fassen die Hardware nie selbst an. Muss ein Programm eine Datei lesen oder etwas übers Netzwerk schicken, bittet es den Kernel per Systemaufruf (System Call) darum. Der Kernel erledigt das mit der Hardware und gibt das Ergebnis zurück. So schützt der Kernel die Hardware und alle anderen Programme, selbst wenn ein Programm Fehler macht. Wechsle in der Szene unten mal den Befehl.
- Befehl
- ls /home
Ein Befehl wandert durch die Schichten bis zur Hardware und zurück · Hellgrün = Anfrage, Hellblau = Ergebnis
Die Shell interpretiert „ls /home“ und startet das Programm. Das Programm greift nie selbst auf die Festplatte zu, sondern bittet den Kernel per Systemaufruf (openat · getdents64) darum. Der Kernel kümmert sich um die Hardware und gibt das Ergebnis zurück, und die Shell zeigt es dir auf dem Bildschirm an. Deshalb schützt der Kernel die Hardware und alle anderen Programme, selbst wenn ein Programm Fehler macht.
Distributionen: der Kernel plus Werkzeuge im Paket
Genau genommen ist „Linux“ nur der Name des Kernels. Ein Kernel allein ist aber nicht benutzbar. Deshalb wird er zusammen mit einer Shell, Kommandozeilenwerkzeugen, einem Paketmanager und einem Installationsprogramm ausgeliefert. Dieses Gesamtpaket heißt Distribution (kurz Distro). Es gibt zwei große Familien, und wo sich ihre Befehle unterscheiden, zeigt dir dieser Leitfaden beide nebeneinander.
| RHEL-Familie | Debian-Familie | |
|---|---|---|
| Wichtige Distributionen | Red Hat Enterprise Linux, Rocky Linux, AlmaLinux, Fedora | Debian, Ubuntu |
| Paketformat | .rpm | .deb |
| Paketmanager | rpm / dnf (früher yum) | dpkg / apt |
| Admin-Gruppe | wheel | sudo |
Eine Kernelversion wie 5.15.0 liest du als „Major.Minor.Patch“. Früher galt die Regel, dass eine gerade Minor-Nummer eine stabile Version bedeutet – diese Regel wird heute nicht mehr verwendet. Heute veröffentlicht kernel.org die neueste Entwicklungsversion (mainline), stabile Versionen (stable) und Versionen mit Langzeitsupport (longterm).
Freie Software und die GPL
Linus Torvalds hat den Linux-Kernel 1991 veröffentlicht, und viele der Werkzeuge drumherum stammen aus dem GNU-Projekt, das Richard Stallman gestartet hat. Stallman hat außerdem die Free Software Foundation (FSF) gegründet, deren wichtigste Lizenz die GPL ist. Ein GPL-Programm darf jeder nutzen, verändern und weitergeben. Verbreitest du aber eine veränderte Version, musst du auch ihren Quellcode unter denselben GPL-Bedingungen offenlegen. Dieses Prinzip, das die Freiheit an die nächste Person weiterreicht, heißt Copyleft.
| Lizenz | Kernidee | Beispiele |
|---|---|---|
| GPL | Wer eine veränderte Version verbreitet, muss den Quellcode ebenfalls unter der GPL offenlegen (Copyleft) | Der Linux-Kernel (GPLv2), bash |
| LGPL | Programme, die die Bibliothek nur nutzen (gegen sie linken), müssen nicht unter der GPL offengelegt werden | Bibliotheken wie glibc |
| BSD, MIT, Apache | Freizügige Lizenzen fast ohne Pflicht zur Offenlegung des Quellcodes | Viele Werkzeuge und Bibliotheken |
Steht in der Frage … → wähle das
- “Der Teil, der die Hardware direkt verwaltet und Ressourcen an Programme verteilt”Kernel
- “Das Programm, das die Befehle eines Benutzers interpretiert und ausführt”Shell (bash usw.)
- “Wer eine veränderte Version verbreitet, muss den Quellcode unter denselben Bedingungen offenlegen”GPL (Copyleft)
- “Programme, die gegen die Bibliothek linken, müssen ihren Quellcode nicht offenlegen”LGPL
- “Die Person, die das GNU-Projekt und die FSF gestartet hat”Richard Stallman
- “Kostenlose, zu RHEL kompatible Distributionen”Rocky Linux, AlmaLinux
Jetzt weißt du, woraus Linux besteht. Als Nächstes schauen wir, in welcher Reihenfolge diese Schichten aufwachen, wenn du den Rechner einschaltest.
02
Was beim Einschalten passiert: der Bootvorgang
Zwischen dem Druck auf den Einschaltknopf und dem Anmeldebildschirm laufen mehrere Schritte nacheinander ab. Das ist wie ein Staffellauf: Jeder Schritt sucht den nächsten und übergibt ihm den Stab. Wenn du also weißt, bei welchem Schritt der Start hängen geblieben ist, weißt du auch, was kaputt ist.
| Schritt | Stufe | Was passiert |
|---|---|---|
| 1 | Firmware (BIOS oder UEFI) | Prüft die Hardware und wählt das Gerät, von dem gebootet wird |
| 2 | Bootsektor (MBR) oder EFI-Systempartition | Hier liegt der Bootloader |
| 3 | Bootloader (GRUB2) | Zeigt ein Menü und lädt Kernel und initramfs in den Arbeitsspeicher |
| 4 | Kernel + initramfs | Initialisiert die Hardware, sucht mit einem vorübergehenden Root-Dateisystem das echte Root-Dateisystem und hängt es ein |
| 5 | systemd (PID 1) | Der erste Prozess – startet die Dienste in der richtigen Reihenfolge |
| 6 | Target | Ist multi-user (Text) oder graphical (grafisch) erreicht, kannst du dich anmelden |
- Variante
- UEFI + GPT
- Ergebnis
- Bis zum Anmeldebildschirm gekommen
Vom Einschaltknopf bis zum Anmeldebildschirm · Baust du einen Fehler ein, bleibt der Start in diesem Schritt stehen
Wenn du den Rechner einschaltest, prüft die Firmware (UEFI) die Hardware, sucht das Gerät, von dem gebootet wird, und startet aus der EFI-Systempartition den Bootloader. GRUB2 lädt den Kernel und das initramfs (ein vorübergehendes Root-Dateisystem, das genutzt wird, bis das echte Root-Dateisystem eingehängt ist) in den Arbeitsspeicher, und der Kernel startet den allerersten Prozess: systemd (PID 1). Sobald systemd die Dienste bis zum Standard-Target hochgefahren hat, kannst du dich anmelden.
BIOS/MBR und UEFI/GPT: der alte und der heutige Weg
Vier Namen wirken erst mal viel, aber in zwei Paare sortiert wird es einfach. BIOS und UEFI sind Firmware: das Programm auf dem Mainboard, das nach dem Einschalten als Erstes läuft. MBR und GPT sind Formate für die Partitionstabelle: ein Inhaltsverzeichnis ganz vorn auf der Festplatte, das sagt: „So ist diese Platte aufgeteilt.“ Das übliche alte Paar ist BIOS + MBR, das heutige UEFI + GPT. Der Unterschied liegt darin, wie sie den nächsten Schritt finden, den Bootloader.
| Alter Weg | Heutiger Weg | |
|---|---|---|
| Firmware | BIOS | UEFI |
| Partitionstabelle | MBR | GPT |
| So wird der Bootloader gefunden | Führt den kleinen Code im allerersten Sektor der Festplatte (512 Byte) einfach aus | Öffnet eine kleine Partition nur fürs Booten (die EFI-Systempartition) und wählt dort eine Bootloader-Datei aus |
| Stell es dir so vor | Den Zettel innen im Buchdeckel lesen und tun, was draufsteht | Einen „Boot“-Ordner öffnen und die Datei auswählen, die gestartet wird |
Unter Linux ist die EFI-Systempartition meist unter /boot/efi eingehängt. In Prüfungen taucht sie gern als „Ort des Bootloaders beim Booten mit UEFI“ auf.
Der Bootloader GRUB2
Der Bootloader, der auf diesem Weg gefunden und gestartet wird, ist GRUB2. Früher war auch LILO verbreitet, heute ist GRUB2 der Standard. Hier stolpern viele, wenn sie Einstellungen ändern: Die Datei grub.cfg, die beim Booten tatsächlich gelesen wird, bearbeitest du nicht von Hand. Stattdessen änderst du die Vorlage /etc/default/grub und führst dann grub2-mkconfig aus (unter Ubuntu update-grub). Das erzeugt eine neue grub.cfg.
Von Runleveln zu Targets
Das alte init-System hat Systemzustände in nummerierte „Runlevel“ eingeteilt. systemd hat sie durch Targets ersetzt und die alten Nummern den Targets zugeordnet, sodass die alten Namen weiter funktionieren.
| Runlevel | systemd-Target | Zustand |
|---|---|---|
| 0 | poweroff.target | Ausschalten |
| 1 | rescue.target | Rettungsmodus (nur der Administrator, nur grundlegende Dienste) |
| 3 | multi-user.target | Mehrere Benutzer, Textmodus (auf Servern ein häufiger Standard) |
| 5 | graphical.target | Mehrere Benutzer, grafische Oberfläche |
| 6 | reboot.target | Neustart |
Das Standard-Target zeigst du mit systemctl get-default an und änderst es mit systemctl set-default. Wenn etwas kaputt ist, gibt es zwei Modi. rescue.target ist der Rettungsmodus: Er hängt die Dateisysteme ein und lässt den Administrator mit einem Minimum an Diensten allein ins System. emergency.target ist der Notfallmodus, der noch weniger startet (das Root-Dateisystem wird nur schreibgeschützt eingehängt). Bleibt der Start wegen einer falschen /etc/fstab hängen, landest du meist im Notfallmodus.
Steht in der Frage … → wähle das
- “Wo der Bootloader beim Booten mit UEFI liegt”EFI-Systempartition (/boot/efi)
- “Der heutige Standard-Bootloader unter Linux”GRUB2 (früher LILO)
- “Der erste Prozess, den der Kernel startet (PID 1)”systemd
- “Das systemd-Target, das Runlevel 3 entspricht”multi-user.target
- “Das Target, das mit grafischer Anmeldung startet”graphical.target (Runlevel 5)
- “Was nach einer Änderung der GRUB-Einstellungen zu tun ist”grub.cfg mit grub2-mkconfig (update-grub) neu erzeugen
In den Bootschritten 3 und 4 hat der Kernel das „Root-Dateisystem“ gefunden und eingehängt. Jetzt schauen wir, wie man Festplatten aufteilt und einhängt.
Anzeige
03
Festplatten aufteilen und einhängen: Partitionen, Dateisysteme und Verzeichnisstruktur
Eine neue Festplatte kannst du nicht einfach so benutzen. Es braucht drei Schritte. Zuerst teilst du die Platte in Bereiche auf (Partitionen). Dann legst du auf jeder Partition mit mkfs ein Format zum Speichern von Dateien an (ein Dateisystem). Zum Schluss hängst du sie mit mount an einer Stelle im Verzeichnisbaum ein. Anders als unter Windows gibt es keine getrennten Laufwerke C: und D:. Jede Festplatte wird als Ast eines einzigen Baums eingehängt, der bei / beginnt.
- Partitionstabelle
- MBR
- Nutzbarer Platz
- 2 / 4 TiB
Die Plattenscheibe (eine volle Runde = die ganze Platte) in Tortenstück-Partitionen aufteilen und jede an einer Stelle im Verzeichnisbaum (den Ordnern) einhängen
MBR speichert die Partitionsinformationen in den ersten 512 Byte der Festplatte und erlaubt bis zu 4 primäre Partitionen. Brauchst du mehr, machst du eine davon zur erweiterten Partition und legst darin logische Partitionen an (die logischen werden ab 5 nummeriert). Bei 512-Byte-Sektoren lässt sich alles jenseits von 2 TiB nicht nutzen. Nutzbar wird eine Partition erst, wenn du ein Dateisystem darauf anlegst (mkfs) und sie an einer Stelle im Verzeichnisbaum einhängst (mount).
| MBR | GPT | |
|---|---|---|
| Anzahl der Partitionen | Bis zu 4 primäre Partitionen (eine davon als erweiterte Partition mit logischen Partitionen darin, ab Nummer 5) | Standardmäßig 128 |
| Plattengröße | Bis 2 TiB bei 512-Byte-Sektoren | Weit größere Festplatten |
| Booten | BIOS | UEFI (EFI-Systempartition) |
Dateisysteme und Swap
Die gängigsten Linux-Dateisysteme sind ext4 und XFS. Beide sind Journaling-Dateisysteme: Sie schreiben geplante Änderungen erst in ein Journal und führen sie dann aus. Fällt plötzlich der Strom aus, wird das Dateisystem deshalb seltener beschädigt, und die Prüfung geht auch schneller. Die RHEL-Familie nutzt standardmäßig XFS. XFS lässt sich leicht vergrößern, aber verkleinern ist praktisch unmöglich (es gibt nur eine Funktion, die ein kleines Stück ganz am Ende abschneidet). Swap ist Plattenplatz, den sich das System vorübergehend borgt, wenn der Arbeitsspeicher knapp wird. Swap wird in kein Verzeichnis eingehängt, sondern mit swapon eingeschaltet.
/etc/fstab: was bei jedem Start eingehängt wird
Was du mit dem Befehl mount einhängst, ist nach einem Neustart wieder weg. Soll etwas bei jedem Start eingehängt werden, trägst du es als Zeile in /etc/fstab ein. Jede Zeile hat sechs Felder.
# Gerät (oder UUID) Mountpunkt Dateisystem Optionen dump Prüfreihenfolge UUID=4c2f…a91e /home xfs defaults 0 0 /dev/sdb1 /data ext4 defaults,nofail 0 2
Fehlt eine Festplatte, die hier steht, bleibt der Start im Notfallmodus hängen (Kapitel 2). Platten, auf die das System verzichten kann, gibst du nofail mit. Gerätenamen wie /dev/sdb1 können sich je nach Reihenfolge ändern, in der die Platten angeschlossen sind. Sicherer ist deshalb die UUID, die sich nicht ändert.
Die Verzeichnisstruktur (FHS)
In jeder Distribution hat jedes Verzeichnis eine feste Aufgabe (Filesystem Hierarchy Standard, FHS).
| Verzeichnis | Was darin liegt |
|---|---|
| /etc | Konfigurationsdateien des Systems |
| /home | Home-Verzeichnisse der normalen Benutzer (/root ist das Home-Verzeichnis des Administrators) |
| /var | Daten, die sich ständig ändern, etwa Logs (/var/log), Mail und Caches |
| /tmp | Temporäre Dateien, die jeder nutzen darf (Sticky Bit, Kapitel 5) |
| /usr | Installierte Programme und Bibliotheken (heute sind /bin und /sbin oft mit /usr/bin und /usr/sbin zusammengelegt) |
| /opt | Separat installierte Zusatzsoftware |
| /boot | Kernel und Bootloader-Dateien |
| /dev | Gerätedateien (/dev/sda usw.) |
| /proc | Virtuelles Dateisystem, das Kernel- und Prozessinformationen als Dateien zeigt (liegt nicht auf der Platte) |
Steht in der Frage … → wähle das
- “Unter MBR werden mehr als 4 primäre Partitionen gebraucht”Eine zur erweiterten Partition machen und darin logische Partitionen anlegen
- “Eine einzige Partition auf einer Festplatte über 2 TiB”GPT
- “Verfahren, das Dateisystemschäden nach plötzlichem Stromausfall verringert”Journaling (ext4, XFS)
- “Bei jedem Start automatisch einhängen”In /etc/fstab eintragen
- “Das Verzeichnis mit den Konfigurationsdateien des Systems”/etc
- “Wo sich Logdateien sammeln”/var/log
- “Virtuelles Dateisystem, das Kernelinformationen statt Platteninhalten zeigt”/proc
Die Festplatte ist eingehängt – jetzt schauen wir uns die Dateien darauf an. Name und Inhalt einer Datei liegen nämlich an getrennten Stellen.
Nur mit Pro
Bis hierhin ist der Guide kostenlos
Die übrigen 6 Kapitel sind für Pro-Abonnenten freigeschaltet. Jedes bringt weitere 3D-Grafiken und „Steht in der Frage …“-Hinweise, und im letzten Kapitel prüfst du dein Wissen selbst.
- 04Inodes, Links und Grundbefehle
- 05Rechte
- 06Benutzer und Gruppen
- 07Die Shell: Umleitung, Pipes und vi
- 08Prozesse und Signale
- 09Paket- und Dienstverwaltung
PasslyExam
Du kennst jetzt das Konzept. Teste es an Prüfungsfragen
PasslyExam bietet eigene Übungsfragen, Erklärungen und vollständige Probeprüfungen, die sich am offiziellen Prüfungsleitfaden jeder Zertifizierung orientieren. Die Erklärungen zeigen, warum die richtige Antwort stimmt und warum ähnlich klingende Optionen falsch sind. Registriere dich und übe jeden Tag kostenlos.