Wer eine leistungsfähige Rescue-CD, eine komfortable Konsolenumgebung, ein System zum Testen auf Sicherheitsrisiken oder auch einen schlanken Desktop sucht, hat mit Grml immer die richtige Wahl getroffen.
Live-CDs gibt es heutzutage wie Sand am Meer – wozu also noch eine weitere? Grml [1] erfüllt, wie die meisten Live-Distrubutionen, einen speziellen Zweck: Es wendet sich speziell an Systemadministratoren und Freunde von textbasierten Tools – also jene, die vor der Konsole oder einem Terminal und der Shell darin keine Angst haben, sondern das Potenzial darin sehen und nutzen wollen.
Egal, ob Sie Daten retten möchten, ein Netzwerk debuggen oder mobil arbeiten – Grml bringt die dafür notwendigen Anwendungen von Haus aus mit: angefangen von DD-Rescue, Recoverjpeg und Testdisk über Tcpdump und Hping3 bis hin zu LaTeX und einer Vielzahl an Editoren und Shells. Je nach Version (siehe Kasten “Grml-Varianten”) schwankt der Umfang der Programme.
Grml-Varianten
Es existieren mehrere Versionen von Grml: Die Live-CD mit etwa 650 MByte, eine Grml-small mit rund 60 MByte, und seit kurzem eine neue Version namens Grml-medium (mit etwa 170 MByte). Grml-small, der kleine Bruder von Grml, schränkt die mitgelieferte Software-Auswahl auf ein Minimum ein. Es läuft ein abgespeckter Kernel, außerdem verzichteten die Entwickler auf die Dokumentation. Darum besteht zwischen Grml und Grml-small ein gewaltiger Unterschied. Um die Kluft zwischen dem großen und dem kleinen Bruder zu schließen, riefen die Entwickler eine neue Variante ins Leben: Grml-medium.
Grml-medium liefert auf aktuell weniger als 200 MByte die wichtigsten Pakete für einen Systemadministrator mit. Im Gegensatz zu Grml-small ist der Kernel nicht abgespeckt, sondern mit jenem des vollständigen Grml identisch. Des Weiteren enthält Grml-medium die komplette Dokumentation sowie das X-Window-System. Wie den großen Bruder gibt es Grml-medium als 32-Bit und 64-Bit-Version.
Im Gegensatz zu den meisten anderen Live-CDs verwendet Grml als interaktive Shell die Z-Shell (auch bekannt als Zsh). Die modular aufgebaute Zsh lässt sich sehr gut an die eigenen Bedürfnisse anpassen. Das reicht vom Vervollständigungsmechanismus bis hin zu einer sehr mächtigen Skriptsprache, die die Shell gleich mitbringt (Abbildung 1). Leider fällt die Standardkonfiguration der Z-Shell gerade für Neulinge alles andere als attraktiv aus. Daher liefert Grml eine Konfiguration für die Z-Shell, mit Ihnen der Einstieg etwas einfacher fällt.

Abbildung 1: Die Z-Shell verwöhnt den Anwender mit einem umfangreichen Vervollständigungsmechanismus.
Das Z-Shell-Lovers-Projekt [2] dokumentiert in Form einer Manpage diverse Tipps und Tricks zur Z-Shell. Ein Referenzkarte auf der Website listet die wichtigsten Aliase, Funktionen und Einstellungen für die Z-Shell von Grml auf zwei A4-Seiten bereit.
Auf der Konsole
Grml startet ohne das X-Window-System oder eine grafische Oberfläche – obwohl Sie beides natürlich auf der CD finden. Grml fährt stattdessen mehrere Konsolen hoch – und zwar für die Kombinationen [Alt]+[F1] bis [Alt]+[F12] jeweils eine. Auf den ersten vier Konsolen loggt das System Sie bereits ein; darin läuft eine Screen-Session als Windowmanager.
Gleich nach dem Booten begrüßt Sie in der ersten Konsole ein textbasiertes Menü, das schnellen Zugang zu praktischen Skripten ermöglicht, wie der Netzwerkkonfiguration via Grml-network oder Netcardconfig, der Modifikation des Keyboard-Layouts oder für den Zugriff auf die Dokumentation via Grml-info (Abbildung 2).

Abbildung 2: Nach dem Booten begrüßt Sie Grml mit einer ausführlichen Information zu den nächsten Schritten.
Möchten Sie das X-Window-System trotzdem starten, erledigen Sie das über den Menüpunkt Grml-x oder den manuellen Aufruf (Abbildung 3). Grml-x erstellt dabei unter Einsatz von Hardware-Erkennung eine für das vorliegende System optimal angepasste Konfigurationsdatei und startet anschließend den X-Server sowie den angegebenen Windowmanager. Es stehen diverse kleine und schlanke Windowmanager zur Auswahl, darunter Awesome, DWM, Fluxbox, FVWM2, Openbox und WMII.

Abbildung 3: Grml bringt einige schlanke Windowmanager mit. Damit eignet sich das System auch für ältere Hardware als Desktop.
Troubleshooting
Stoßen Sie beim Start von Grml auf Probleme, bekommen Sie diese in der Regel mit den verschiedenen Optionen beim Start (Boot-Optionen) in den Griff, die Sie direkt in der Eingabezeile angeben können. Bereitet etwa die Bildschirmausgabe Probleme, hilft in der Regel das Deaktivieren des Framebuffers via vga=normal.
APCI gehört bei vielen Rechnern zu den Problemkindern; hier hilft meist das Booten mit noapic nolapic. Weitere Empfehlungen finden Sie sowohl in der mitgelieferten Datei grml-cheatcodes.txt, aber auch auf der Homepage und im Wiki [10]. Die Entwickler freuen sich über Feedback und haben für die Anliegen der Benutzer immer ein offenes Ohr.
Nützliche Tools
Auf den anderen Konsolen starten weitere nützliche Konsolentools. Auf der zweiten und dritten Konsole, die Sie [Alt]+[F2] beziehungsweise [Alt]+[F3] erreichen, läuft Screen mit der Zsh. Die weiteren drei Konsolen warten auf Ihre Eingaben. Die Konsolen 7 und 8 fungieren als Platzhalter für das X-Window-System, auf Konsole 9 lauscht ein Getty.
Auf Konsole 10 läuft Iptstate und liefert in Echtzeit einen Überblick über die Statustabellen von Iptables. Unter [Alt]+[F11] finden Sie Htop, einen Prozessmonitor mit einem benutzerfreundlichen Interface. Und auf der letzten aktiven Konsole dient schließlich Multitail als erweiterte Version von Tail zur Anzeige des Systemlog.
Da Grml auf Debian basiert, können Sie Pakete direkt aus dem Debian-Pool nachinstallieren. Fehlt die persönliche Lieblingssoftware also einmal, so ziehen Sie diese mittels des Paketmanagements wie gewohnt mit Apt-get oder Aptitude nach. Die Installation weiterer Software auf einer CD funktioniert natürlich grundsätzlich nicht. Aber durch den Einsatz des Overlaysystems Aufs [3] (Another Unionfs, von Junjiro Okajima) gelingt dies im RAM (zumindest temporär) trotzdem.
Die neue Version mit Codenamen “Skunk” (engl. für Stinktier) kommt mit dem Kernel 2.6.23.16 mit zusätzlichen Patches, wie Squashfs, Speakup und vielem mehr. Zusätzliche Treiber, wie zum Beispiel Atl2, Gspca, Madwifi und Tp-smapi, ermöglichen optimalen Hardware-Support. Wer einen Asus Eee-PC sein Eigen nennt, bekommt mit der neuen Grml unter anderem Support für WLAN und die Webcam out-of-the-box.
Neu hinzu kam der Support für Loop-AES und LZMA-Kompression für Squashfs, mit der sich trotz eines erweiterten Softwareangebots auf über 2500 Pakete gleichzeitig die ISO-Größe reduzieren ließ. Neben dem aktualisierten X.org 7.3 kamen 176 weitere Pakete neu hinzu, unter anderem FAI-client, FAI-server, Awesome, Open-iscsi und Openbox. Die weiteren Details zum neuen Release dokumentiert ein Announcement auf der Website.
Hardware-Support
Grml basiert auf Debian Unstable, um optimalen Hardware-Support zu leisten, und bringt in der neuen Version wieder aktualisierte Debian-Pakete mit. Neu hinzugekommene Skripte runden das Angebot ab: Mit Grml-paste erhalten Sie ein Kommandozeilen-Interface für den IRC-Paste-Bot [4]. Grml-vnet erlaubt das einfache Handhaben von virtuellen Netzwerkgeräten (TUN/TAP). Mit arename.pl benennen Sie Audio-Dateien aufgrund der Informationen in den Dateien (Tags) automatisch um.
Die Entwickler brachten auch die 64-Bit-Version auf den neusten Stand. Sie erhielt die Versionsnummer 0.2 und den Codenamen “Schwammerlklauber”. Während schlanke Texttools, wie diverse Editoren, durch die 64-Bit-Architektur kaum Vorteile erfahren, gehört ein 64-Bit-Kernel inklusive der passenden Binaries zum Pflichtprogramm für jeden, der ein entsprechendes System nach einem Crash retten möchte. Details zu den Neuerungen bei Grml64 0.2 finden Sie ebenfalls im Announcement auf der Homepage.
Installation
Sowohl die 32-Bit- als auch die 64-Bit-Version installieren Sie mit dem Tool Grml2hd auf die Festplatte. Das Programm führt Sie innerhalb weniger Minuten zu einer vollwertigen Linux-Installation. Wer eine solche Installation längerfristig einsetzen möchte, sollte aber zumindest mit Debian Unstable umzugehen wissen.
Heutzutage booten so gut wie alle aktuellen Rechner von einem USB-Medium oder einem Firewire-Device. Das Skript Grml2usb [5] ermöglicht dabei die Installation eines Grml-ISOs auf einen USB-Stick. USB-Sticks arbeiten in der Regel nicht nur zuverlässiger als selbstgebrannte CDs, sondern booten in der Regel auch schneller.
Während die Installation mittels Grml2hd der Installation auf einer Festplatte entspricht, die Sie bequem mit weiteren Paketen erweitern, erzeugt Grml2usb auf einem USB-Stick keine schreibbare, sondern nur eine lesbare (read-only) Version. Die im Live-Betrieb vorgenommenen Änderungen gehen verloren. Ein Konfigurationsframework [6] erlaubt es aber, einen Teil der Modifikationen auf Diskette oder USB-Stick zu sichern.
Grml-live
Mit dieser Release hat Grml nun sein eigenes, auf FAI (Fully Automatic Installation [7]) basierendes Build-Framework: Grml-live [8]. Damit beschränkt sich der Aufwand beim Bauen einer Grml-basierten Live-CD auf ein einziges Kommando. FAI arbeitet mit einer klassenorientierten Architektur, welche das Anpassen an die eigenen Wünsche sehr einfach erlaubt. Wer über einen schnellen Internet-Zugang oder einen lokalen Debian-Mirror verfügt, testet Grml-live ganz einfach mit folgender Codezeile:
$ grml-live -a i386 -c GRMLBASE,GRML_MEDIUM,I386
Dieser Aufruf erstellt ein auf Debian Stable und Grml-medium basierendes Live-Linux für 32-Bit-Systeme, das Sie nach dem Bauen unter /grml/grml-live/grml_isos finden. Das Tool lädt die Pakete von einem Debian-Mirror herunter und installiert diese dann in einer Chroot-Umgebung. Grml-live beziehungsweise FAI kümmert sich um all die relevanten Konfigurationen, damit daraus ein bootfähiges Image entsteht.
War das Bauen des ISOs erfolgreich, testen Sie das Resultat am einfachsten in einer virtuellen Umgebung wie Virtualbox, Qemu oder VMware. Bootet das ISO darin erfolgreich, brennen Sie es auf eine CD – oder kopieren Sie es auf einen USB-Stick, um es schließlich auf echten Systemen zu testen.
Die Dokumentation auf der Website beschreibt das Anpassen des Live-Systems an die eigenen Bedürfnisse. Möchten Sie zum Beispiel ein Debian-Paket namens foobar in das Live-System aufnehmen, definieren Sie dazu einfach eine neue Klasse:
# cat > /etc/grml/fai/config/package_config/LU << EOF PACKAGES aptitude foobar EOF
Nun nehmen Sie einfach diese Klasse zusätzlich in die Kommandozeile von Grml-live auf, um das Paket foobar automatisch zu installieren:
$ grml-live -a i386 -c GRMLBASE,GRML_MEDIUM,I386,LU
Selbstverständlich dürfen Sie noch weitere Pakete in die Klasse aufnehmen oder weitere zusätzliche Klassen definieren und diese je nach Bedarf einbinden.
Daily-Builds
Das neue Framework Grml-live ermöglicht daneben tägliche Snapshots [9]. Aus diesen entstehen via Cronjob und Skripten täglich neu erstellte ISO-Dateien. Die Skripte liegen ebenfalls als Teil von Grml-live den ISOs bei. Diese Snapshots eignen sich besonders für fleißige Tester, Entwickler und experimentierfreudige Zeitgenossen, die stets mit der neuesten Software arbeiten wollen.
In regelmäßigen Zeitabständen gibt das Projekt die auf den Snapshots basierenden Entwicklerversionen an einen geschlossenen Benutzerkreis frei. Entspricht eine Version den Stabilitätsansprüchen der Gruppe, findet ein Feature-Freeze statt. Ab dann fließen nur noch Bugfixes in das Produkt. Nach dem Veröffentlichen von Release Candidates und erfolgreichen Tests folgt die jeweils stabile Version.
Die Release-Politik hat sich in der Vergangenheit als gute Wahl herausgestellt, da sie Benutzer mit dem Wunsch nach aktuellem Hardware-Support und aktueller Software bedient, ohne dabei die Stabilität aus den Augen zu verlieren.
[1] Grml-Homepage: http://grml.org
[2] Z-Shell-Webseite von Grml: http://grml.org/zsh/
[3] Another Unionfs: http://aufs.sourceforge.net
[4] IRC-Paste-Bot: http://paste.grml.org
[5] USB-Seite im Wiki: http://wiki.grml.org/doku.php?id=usb
[6] Grml Konfigurationsframework: http://grml.org/config/
[7] FAI (Fully Automatic Installation): http://www.informatik.uni-koeln.de/fai/
[8] Grml-live: http://grml.org/grml-live
[9] Daily Builds: http://daily.grml.org
[10] Grml-Wiki: http://wiki.grml.org





