Inhaltsverzeichnis

Live-System - Einleitung

Unter einem Live-System versteht man normalerweise ein auf einem bootfähigen Nur-Lese-Medium wie CD, DVD oder USB-Stick installiertes Betriebssystem, das ohne Installation auf Festplatte oder SSD gestartet werden kann. Viele Distributionen bieten Live-Systeme zum Kennenlernen und Testen der Hardwareunterstützung an bevor diese dann auf dem Rechner fest installiert wird.

Typische Aufgaben für ein Live-System sind Datenrettung von einem System das nicht mehr starten will, Reparatur des Bootloaders, vergessenes Root-Passwort setzen, …

Hier wird Debian's Live-Build-Projekt vorgestellt. Live-Build ist ein umfassendes Baukasten-System zur Erstellung auch komplexer Live-Systeme. Es unterstützt praktisch alle Debian-basierte Distributionen, die die Paketverwaltung APT verwenden (Debian GNU/Linux, Devuan, Linux Mint, Ubuntu, …)

Überblick

Bei der Erstellung eines Live-Systems muss zunächst eine rekursive Abhängigkeit aufgelöst werden: Man benötigt ein lauffähiges System (Host-Rechner) um ein lauffähiges System zu erstellen. In den Default-Einstellungen ohne weitere Konfiguration erstellt Live-Build ein minimales Live-System auf Basis des auf dem Host-Rechner installierten Debian-Systems nur mit Debian-Paketen aus dem Main-Repository (siehe Tutorial 1). Diese Bootstrap-Phase des Erstellungsprozesses lässt sich bereits hinsichtlich Spiegel-Server, Repositories, Architektur, zusätzliche Paket-Quellen, … konfigurieren, und so auch an andere Distributionen anpassen.

In der Chroot-Phase lassen sich dem Minimal-System weitere Pakete und Dateien hinzufügen, sowie Hooks ausführen. Hier sind Erfahrung in der Debian-Systementwicklung und ein Test-System nützlich. Welche Pakete müssen angegeben werden, und welche werden über die Abhängigkeiten installiert? Wie heißen die vordefinierten Konfigurationsdateien und wo liegen diese? Solche Konfigurations- und andere Dateien lassen sich durch eigene angepasste Dateien überlagern.
Der Live-User beispielsweise wird erst während des Bootens des Live-Systems angelegt und eingerichtet. Anpassungen an den Bash-Dateien bzw. Benutzerumgebung sollten im Live-System unter /etc/skel / abgelegt sein.
Unter Hooks versteht man Shell-Programme, die in diesem Fall während der Chroot-Phase ausgeführt, und so zu dauerhaften Änderungen am Live-Systems führen. Mit Chroot-Hooks lassen sich beispielsweise quelltextbasierte Pakete während des Erstellungsprozesses kompilieren und installieren, Pakete mit dpkg-reconfigure anders vorkonfigurieren, oder von APT normalerweise automatisch startende Server-Dienste erst mal deaktivieren.

In der Binary-Phase werden Dateien hinzugefügt, die nicht direkter Bestandteil des Live-Systems sind. Das können PDF-Dokumente oder Multimedia-Dateien sein die man ohne Live-System-Start bereitstellen möchte, oder z. B. ein Repository mit Pakete für den optionalen Installer.

Die Boot-Phase des Live-Systems lässt sich auch anpassen. Dazu gehören Name des Live-Users, Sprache, Tastaturbelegung, Boot-Hooks und Persistenz.
Boot-Hooks sind Shell-Programme, die nach jedem Systemstart während des Bootens ausgeführt werden. So lassen sich beispielsweise weitere Live-User einrichten.
Mit Persistenz lassen sich Daten so speichern, dass sie nach dem nächsten Live-Systemstart wieder verfügbar sind. Persistenz unterwandert den typischen Nur-Lese-Schutz von Live-Systeme.

Installation

apt update
apt install live-build

Hilfe

Debian Live Handbuch

Manpages

live-build (7)       - the Debian Live tool suite
live-config (7)      - System Configuration Components
live-boot (7)        - System Boot Components
lb (1)               - wrapper for live-build programs
lb_clean (1)         - Clean build directory
lb_config (1)        - Create config directory
lb_bootstrap (1)     - Complete the bootstrap stage
lb_chroot (1)        - Complete the chroot stage
lb_installer (1)     - Complete the installer stage
lb_binary (1)        - Complete the binary stage
lb_source (1)        - Complete the source stage
lb_build (1)         - Complete the bootstrap, chroot, installer, binary, and source stages

Seiten