LPIC-1 // INTERAKTIVE PROJEKTARBEIT

KERNEL
PANIC

Bau dir ein Linux: Eine kurze Systemrettung, bei der aus richtigen Diagnoseentscheidungen Schritt für Schritt ein funktionierender Rechner entsteht.

10 × 10Fragenpool
10 + 1Erfolgsmomente
Hall of TuxGemeinsames Scoreboard

Projekt: André Stiebitz
Abschlussprojekt im Linux-Kurs · Stand 30.07.2026
andrestiebitz.de/kernel-panic/
Vollständige Projektdokumentation · MIT Open Source

01 // Projektauftrag

Ausgangslage, Ziel und Ergebnis

Als Abschlussprojekt des Linux-Kurses sollte ein frei gewähltes, nachvollziehbares Projekt entstehen. Meine Wahl ist „Kernel Panic — Bau dir dein Linux“: ein Browsergame, in dem der Spieler ein gestörtes Linux-System Schritt für Schritt wieder in Betrieb nimmt. Die fertige Abgabe besteht aus dem öffentlichen Spiel, dieser Dokumentation, einem Download-Paket und dem offenen Quellcode.

ZIEL Wichtige Inhalte aus LPIC-1 101-500 und 102-500 durch konkrete Diagnoseentscheidungen wiederholen.
ZIELGRUPPE Linux-Einsteiger im Kurs sowie Mitschüler, die Befehle in einem spielerischen Zusammenhang üben möchten.
PRODUKT Eine ohne Anmeldung erreichbare, responsive Web-App mit 100 Fragen in zehn Kapiteln und zwei Spielmodi.
ABGABE Live-Link, Projektdokumentation als PDF, vollständiges ZIP und öffentliches Codeberg-Repository unter MIT.

Abnahmekriterien

Ergebnis: Alle Kriterien sind umgesetzt. Das Spiel ist seit dem 30.07.2026 unter https://andrestiebitz.de/kernel-panic/ öffentlich erreichbar.

Kernel Panic · Projektdokumentation · André Stiebitz · 2/12

02 // Lernkonzept

Vom Signal zur sicheren Entscheidung

Das Projekt fragt Befehle nicht isoliert ab. Jede Aufgabe beginnt mit einer beobachtbaren Situation und folgt demselben Denkweg. Damit wird nicht nur „Welcher Befehl?“ gelernt, sondern auch „Warum dieser Befehl und welches Risiko vermeide ich?“.

1 · SIGNALAusgabe, Zustand oder Fehlermeldung lesen.
2 · WERKZEUGPassenden Befehl oder Mechanismus wählen.
3 · ENTSCHEIDUNGDen kleinsten sicheren Schritt ableiten.
4 · RISIKOUnnötige oder destruktive Eingriffe erkennen.

Kapitel- und Prüfungsbezug

Kapitel LPIC-Bezug Schwerpunkte im Fragenpool
Boot101.1–101.3Hardware, Kernel, GRUB, Journal und Units
Pakete102.3–102.5APT, dpkg, RPM, DNF und Bibliotheken
Text103.2–103.8Filter, Streams, Umleitungen und Archive
Prozesse103.5 / 103.6Jobs, Signale, nice und Prozesszustände
Storage104.1–104.3Blockgeräte, fstab, Inodes, Swap und Mounts
Rechte104.5–104.7Modi, Spezialbits, Links, find und stat
Shell105.1 / 105.2Variablen, Tests, Schleifen und Skripte
Netzwerk109.1–109.4IP, Routing, Sockets, DNS und CIDR
Sicherheit107 / 110Konten, Gruppen, SSH-Schlüssel und sudo
Betrieb107 / 108Zeitplanung, Locale, Logs und Verify

Die Zuordnung dient der fachlichen Orientierung. Das Spiel bildet nicht jedes einzelne LPIC-Lernziel ab und ersetzt weder Kursunterlagen noch Prüfungsvorbereitung.

Inhaltliche Arbeitsweise

Die bereitgestellten Linux-Kursunterlagen wurden ausschließlich genutzt, um die Themenabdeckung zu kontrollieren. Sämtliche Spieltexte und Szenarien wurden für dieses Projekt neu formuliert. Kursoriginale, Lösungssammlungen und Prüfungs-Screenshots sind nicht enthalten.

Kernel Panic · Projektdokumentation · André Stiebitz · 3/12

03 // Spielablauf

Zwei Modi, drei Aufgabentypen

KURSLAUF · 30 FRAGEN

Pro Kapitel werden drei Fragen zufällig ausgewählt. Der Lauf dauert ungefähr 30 Minuten und eignet sich für Vorführung und Wiederholung.

LERNMODUS · 100 FRAGEN

Alle zehn Fragen jedes Kapitels werden gespielt. Der gespeicherte Fortschritt ermöglicht mehrere Sitzungen.

Aufgabentypen

AUSWAHL

Eine Diagnose oder sichere nächste Aktion wird aus mehreren Antworten gewählt. Genau eine Antwort ist richtig.

SIMULIERTES TERMINAL

Der Spieler tippt einen Befehl selbst. Leerzeichen und Pipes werden normalisiert, Groß-/Kleinschreibung bleibt absichtlich relevant.

SEQUENZ

Gemischte Befehls- oder Skriptbausteine werden in eine ausführbare Reihenfolge gesetzt. Ablenker müssen bewusst weggelassen werden.

FEEDBACK

Fehler kosten XP und Systemintegrität, Hinweise kosten XP. Nach einer Antwort werden Signal, Werkzeug, Entscheidung und Risiko erklärt.

Fortschritt und Abschluss

Kernel Panic · Projektdokumentation · André Stiebitz · 4/12

04 // Fehler und Lernübersicht

Ein Fehler kostet, aber vernichtet nichts

Lernen entsteht an der Stelle, an der eine Antwort nicht stimmt. Die Fehlerbehandlung ist deshalb kein Abbruch, sondern ein eigener Lernschritt: sie benennt den Preis, zeigt die Lösung und führt weiter.

SICHTBARER PREIS

Eine falsche Antwort kostet zehn XP und zwei Prozentpunkte Integrität. Der Abzug steht in der Fehlermeldung, statt unbemerkt in der Statistik zu verschwinden.

LÖSUNG SOFORT

Die Meldung nennt den richtigen Befehl beziehungsweise die richtige Antwort. Das Schema Signal → Werkzeug → Entscheidung → Risiko klappt automatisch auf.

AUTOMATISCH WEITER

Nach dreieinhalb Sekunden erscheint die nächste Frage. Ein „Weiter“-Knopf ist immer vorhanden und überspringt die Wartezeit sofort.

DREI FEHLER

Drei Fehler in einem Kapitel setzen auf den Kapitelanfang zurück. Gelöste Fragen und gesammelte XP bleiben erhalten; nur der Einstiegspunkt wandert zurück.

Warum eine verpasste Frage zurückkommt

Eine falsch beantwortete Frage gilt nicht als gelöst und wird am Ende des Kapitels erneut vorgelegt. Ein Kapitel ist erst abgeschlossen, wenn alle seine Fragen sitzen. Das hält den Lauf vollständig abschließbar und bewahrt gleichzeitig den Vertrag mit der Score-API, die für jede Frage des Laufs ein Einzelergebnis erwartet.

Lernübersicht zum Mitnehmen

Am Ende eines Laufs gibt die Abschlussseite einen persönlichen Lern-Spickzettel heraus, als Markdown-Datei und als Druckansicht. Er beginnt mit den Fragen, die einen zweiten Versuch oder einen Hinweis gebraucht haben — jeweils mit Lösung und vollständigem Lernschema —, und endet mit der Bilanz pro Kapitel. Er entsteht vollständig im Browser, ohne Serveranfrage und ohne persönliche Daten.

Kernel Panic · Projektdokumentation · André Stiebitz · 5/12

05 // Oberfläche

Benutzerführung und sichtbarer Systemaufbau

Die Oberfläche verbindet eine reduzierte Terminal-Ästhetik mit klaren hellen Aufgabenflächen. Kapitelstatus, XP, Integrität und Fortschritt bleiben jederzeit sichtbar. Die vier Ansichten zeigen den vollständigen Weg von der Moduswahl bis zum Kapitelbericht.

Startansicht mit zwei Spielmodi
Start: Projektidee, Kurslauf, Lernmodus und direkte Abgabe-Downloads.
Fragenansicht auf dem Desktop
Desktop: Kapitelrail, Aufgabe, Hilfesystem und fachliche Einordnung.
Responsive Fragenansicht auf dem Smartphone
Mobil: dieselbe Mission responsiv auf 390 Pixel Breite.
Abschlussbericht nach zehn Kapiteln
Abschluss: Systemstart, Ergebnisbericht und gemeinsame Hall of Tux.

Kernel Panic · Projektdokumentation · André Stiebitz · 6/12

06 // Technische Umsetzung

Statisches Spiel mit optionaler Score-API

„Kernel Panic“ ist mit Next.js 16 und React 19 umgesetzt und wird als statische Website exportiert. Das gesamte Lernen funktioniert ohne Anwendungsserver. Nur die optionale Bestenliste spricht mit einer getrennten Python-API und einer privaten SQLite-Datei. CSS erzeugt die Oberfläche; der Systemplan ist ein eigenes SVG.

FRAGENBANK100 strukturierte JavaScript-Objekte
SPIELLOGIKAuswahl, Prüfung, Punkte und Kapitel
REACT-UIRätsel, Navigation, Systemplan, Bericht
BROWSERHTML/CSS/JS + localStorage

Datenfluss

StartDer Spieler wählt Kurslauf oder Lernmodus.
AuswahlcreateRunQuestionIds() mischt je Kapitel 3 oder 10 eindeutige IDs.
SpeicherungModus, IDs, Fortschritt, XP, Integrität, Fehler und Hinweise landen unter kernel-panic-progress-v2 im Browser.
ValidierungBeim Laden entfernt sanitizeProgress() unbekannte oder widersprüchliche Werte.
DarstellungReact rendert die aktuelle Frage und den aus dem Zustand abgeleiteten Kapitelstatus.
ScoreboardErst am Abschluss lädt oder speichert die optionale „Hall of Tux“ einen anonymen Alias.
AusfallsicherheitIst die API nicht erreichbar, bleiben Spiel, Fortschritt und Abschluss vollständig nutzbar.

Wichtige Projektdateien

app/ Einstieg und globales Design components/ Spiel, Rätsel, Kapitelrail, Systemplan, Bericht lib/question-bank.js 10 Kapitel × 10 Fragen lib/game.js Auswahl, Mischen, Speichern, Auswertung server/ gehärtete Score-API und SQLite-Schema treasure/ Seed der getrennten Fake-Datenbank deploy/ Nginx- und Container-Konfiguration lib/*.test.js Fragenbank- und Logiktests tests/ Browser- und visuelle Tests docs/ Dokumentation und PDF-Quelle public/ PDF, ZIP und Favicon scripts/serve-static.mjs lokaler Server für den Export

Kernel Panic · Projektdokumentation · André Stiebitz · 7/12

07 // Betrieb und Erweiterung

Lokal starten, prüfen und bauen

Voraussetzungen

Für das Spiel werden Node.js 20 oder neuer, npm und ein aktueller Browser benötigt. Die lokale Score-API braucht zusätzlich Python 3.13; ihr Produktionsbetrieb ist per Docker Compose dokumentiert. Das Repository kann von Codeberg geklont oder als ZIP geladen werden.

Lokal ausführen

git clone https://codeberg.org/andremadstop/lpic-kernel-panic.git
cd lpic-kernel-panic
npm install
npm run dev

# Browser:
http://localhost:3000/kernel-panic/

Qualität und Export

npm audit
npm run check
npx playwright test

# npm run check erzeugt die Schatz-DB, testet die Score-API
# und führt Linter, Logiktests sowie statischen Build aus.
# Das fertige Webprojekt liegt danach in out/.

Eine Frage ergänzen

Neue Aufgaben werden in lib/question-bank.js einem Kapitel zugeordnet. Jede Frage enthält eine eindeutige ID, Typ, LPIC-Ziel, Aufgabenstellung, Lösung, Signal, Werkzeug, Entscheidung, Risiko, Hinweis und XP. Abhängig vom Typ kommen Auswahlmöglichkeiten, akzeptierte Terminalantworten oder Sequenzbausteine hinzu.

Der Banktest kontrolliert Anzahl, eindeutige IDs, Pflichtfelder, genau eine richtige Auswahlantwort sowie vollständige Terminal- und Sequenzlösungen. Eine Änderung ist erst fertig, wenn alle Prüfungen grün sind.

Kernel Panic · Projektdokumentation · André Stiebitz · 8/12

08 // Qualität und Sicherheit

Automatisierte Abnahme

Prüfergebnisse des Abgabestands

100 / 100 FRAGEN VALIDE 6 / 6 BROWSERTESTS BUILD GRÜN 0 VULNERABILITIES

PrüfungWas kontrolliert wirdErgebnis
FragenbankExakt 10 × 10, eindeutige IDs, Pflichtfelder und typspezifische Lösungengrün
Spiel-LogikNormalisierung, Mischen, 30/100-Auswahl, Punkte, Speicher-Sanitisierung und Kapitelberichtgrün
KomplettwegEin zufälliger 30-Fragen-Kurslauf wird automatisch bis zum Systembericht gelöstgrün
LernmodusStart mit allen 100 Fragen und 10 Fragen pro Kapitelgrün
PersistenzFragenauswahl bleibt nach Neuladen identischgrün
Score-APIValidierung, serverseitige Neuberechnung, SQL-Constraints, Ranking und Idempotenzgrün
Mobil390 × 844 Pixel ohne horizontalen Überlaufgrün
AuslieferungPDF, ZIP, API-Health, Schatzdatei und Security-Header live vorhandengrün
Abhängigkeitennpm audit gegen die npm-Sicherheitsdatenbank0 Befunde

Datenschutz- und Sicherheitsmodell

Bekannte Grenzen

Fortschritt synchronisiert nicht zwischen Geräten. Freitext wird nur gegen definierte Befehlsvarianten geprüft. Weil Fragen und Clientcode offen sind, ist die Bestenliste ein spielerischer Vergleich und kein manipulationssicherer Prüfungsnachweis.

Kernel Panic · Projektdokumentation · André Stiebitz · 9/12

09 // Erfolg, Community und Easter Egg

Lernen soll sich nach Fortschritt anfühlen

Ein reines Quiz quittiert meist nur „richtig“ oder „falsch“. Dieses Projekt setzt zusätzlich auf erkennbare Etappen: Nach jedem Kapitel fährt ein neues Systemmodul hoch. Eine kurze Animation nennt das erreichte Kapitelziel, fasst den Lerngewinn zusammen und zeigt drei konkrete Fähigkeiten. Nach Kapitel zehn startet das Gesamtsystem mit Abschlussanimation, Statistik und Ergebnisbericht.

Animierter Erfolgsmoment nach einem abgeschlossenen Kapitel
Kapitel geschafft: sichtbarer Erfolg, Lernzusammenfassung und nächster Schritt.
HALL OF TUX

Wer möchte, veröffentlicht am Ende einen frei gewählten Alias und seinen auf 1.000 Punkte normierten Score. Die API berechnet das Ergebnis aus den Einzelergebnissen neu. Klarnamen sind unnötig.

TREASURE HUNT

Fortgeschrittene können im Seitenquelltext eine Ops-Notiz und eine absichtlich öffentliche SQLite-Datei finden. SQL-Abfragen führen durch erfundene Wartungslogs bis zu einem kleinen Internet-Klassiker.

Wichtige Trennung

Die Schatzdatei ist ein statisches Fake-Artefakt ohne echte Nutzer-, Score- oder Serverdaten. Die produktive SQLite-Datei liegt außerhalb des Webroots und ist ausschließlich über die eingeschränkte Score-API erreichbar. So bleibt der Witz lehrreich, ohne die Infrastruktur zu öffnen.

Kernel Panic · Projektdokumentation · André Stiebitz · 10/12

10 // Veröffentlichung

Deployment, Download und Open Source

Produktionsweg

1 · CHECKLinter, Logik-, API- und Browsertests
2 · BUILDWebexport, PDF, ZIP und Schatz-DB
3 · DEPLOYWebpfad + isolierter API-Container
4 · VERIFYHealth, Limits und kompletter Live-Weg
npm run check
rsync -a --delete out/ "$HOST:$WEBROOT/kernel-panic/"
ssh "$HOST" "cd \$COMPOSE_DIR && docker compose up -d --build"
BASE_URL=https://andrestiebitz.de npx playwright test

Host, Webroot und Compose-Verzeichnis stehen als Variablen, weil die Zielumgebung nicht Teil der Veröffentlichung ist.

Öffentliche Artefakte

Spielhttps://andrestiebitz.de/kernel-panic/
PDF…/kernel-panic/kernel-panic-projektarbeit.pdf
ZIP…/kernel-panic/kernel-panic-lpic-projekt.zip
Githttps://codeberg.org/andremadstop/lpic-kernel-panic
API-Health…/kernel-panic/api/health

Open-Source-Lizenz

Quellcode und eigene Projekttexte stehen unter der MIT-Lizenz, Copyright © 2026 André Stiebitz. Nutzung, Kopieren, Änderung und Weitergabe sind erlaubt, sofern Copyright- und Lizenzhinweis erhalten bleiben. Die Software wird ohne Gewährleistung bereitgestellt. Der vollständige rechtsverbindliche Text liegt in der Datei LICENSE im Repository und im ZIP.

Bewusste Ausschlüsse

Die MIT-Freigabe umfasst ausschließlich die selbst entwickelte Anwendung und die selbst formulierten Projekttexte. Bereitgestellte Kursunterlagen, fremde Lösungsblätter und Prüfungsbilder wurden nicht veröffentlicht und sind nicht Teil der Lizenz.

Kernel Panic · Projektdokumentation · André Stiebitz · 11/12

11 // Abschluss

Präsentation, Fazit und Quellen

Vorschlag für eine kurze Live-Präsentation

  1. Problem und Idee: LPIC-Befehle in eine zusammenhängende Systemrettung einbetten.
  2. Zwei Modi: 30-Fragen-Kurslauf und vollständigen 100-Fragen-Lernmodus zeigen.
  3. Drei Aufgaben: je eine Auswahl-, Terminal- und Sequenzfrage vorführen.
  4. Lernmodell: Signal → Werkzeug → Entscheidung → Risiko erklären.
  5. Systemplan: sichtbaren Aufbau und Kapitel-Erfolgsmoment zeigen.
  6. Technik: statische React-App, localStorage und getrennte Score-API nennen.
  7. Community: Hall of Tux zeigen und die SQLite-Schatzsuche nur andeuten.
  8. Qualität: Komplettweg, Fragenbank- und API-Tests zeigen.
  9. Abgabe: Live-Link, PDF, ZIP, Codeberg und MIT-Lizenz teilen.

Ein-Satz-Erklärung

„Ich wollte die LPIC-Befehle nicht nur als Quiz abfragen, sondern als zusammenhängende Systemrettung, bei der man aus einem Signal das passende Werkzeug und eine sichere Entscheidung ableitet.“

Fazit und mögliche Weiterentwicklung

Das Projekt verbindet Linux-Fachinhalte, Webentwicklung und Qualitätssicherung in einer überschaubaren, direkt nutzbaren Abgabe. Sinnvolle spätere Erweiterungen wären ein frei wählbares Kapitel, barriereärmere Tastatursteuerung, weitere Erklärvarianten oder ein Export des persönlichen Ergebnisberichts. Die jetzige Fassung ist mit Lernpfad, Erfolgsmomenten, Bestenliste und Schatzsuche abgeschlossen.

Quellenbasis

Live: https://andrestiebitz.de/kernel-panic/
Download: https://andrestiebitz.de/kernel-panic/kernel-panic-lpic-projekt.zip
Quellcode: https://codeberg.org/andremadstop/lpic-kernel-panic
Lizenz: MIT · Copyright © 2026 André Stiebitz

Kernel Panic · Projektdokumentation · André Stiebitz · 12/12