Im Rahmen eines Praktikums zur Vorbereitung auf die Way-Up-Lehre als Linux Systemtechniker bei Puzzle, befasste ich mich mit der Zusammensetzung von Linux Systemen.
Linux from Scratch?
Für alle, die wissen wollen wie ein Linux-System aufgebaut ist oder für Geeks, denen ein problemlos funktionierendes Ubuntu oder Fedora mit Paketmanager und Installation auf Knopfdruck zu langweilig ist, gibt es Linux from Scratch.
Von Quelltextpaketen zum kompletten Linux-System
Linux from Scratch (LFS) ist ein Projekt mit hauptsächlich edukativem Zweck. Wer Schritt für Schritt die heruntergeladenen Quelltextpakete von Hand entpackt, die passenden Parameter für die Kompilierung selbst setzt, danach das Paket kompiliert und installiert, lernt, was unter der Haube eines Linux-Systems werkelt und zusammenarbeitet. Sei dies nun ein Webserver in einem riesigen Serverraum oder ein Desktopsystem
mit Office-, Audio- und anderen Anwendungen – die grundlegenden Tools wie Kernel, Treiber, Datei- und Benutzerverwaltung, Netzwerkkonfiguration und Bootprozess unterscheiden sich durch unterschiedliche Module und Konfigurationen.
Da LFS hoch konfigurierbar ist, eignet es sich auch um ein hardware- und funktionsspezifisches, schlankes System zu bauen.
Linux From Scratch besteht aus mehreren Teilen
- LFS – Linux from Scratch – Das Grundsystem mit den Tools, ohne die ein Linux kein Linux ist.
- BLFS – Beyond LFS – Erweiterung und Anpassung des Systems nach persönlichen Wünschen für Server- bis Desktopsystem.
- ALFS – Automated LFS – Da das Durcharbeiten von LFS ziemlich viel Zeit beansprucht und viele sich wiederholende Aufgaben dazugehören, verfolgt ALFS das Ziel, schneller zum funktionierenden System zu gelangen und trotzdem möglichst viel Konfigurationsfreiheit zu haben.
- HLFS – Hardened LFS – LFS mit Schwerpunkt auf Sicherheit.
Erfahrungen und Tipps
Wer sich mit LFS befassen möchte, dem rate ich viel Zeit einzuplanen. Im LFS-Book (Grundsystem ohne Erweiterungen) ist das System auf Seite 220 zum Booten bereit.
Ohne Vorwissen ist das Buch eine reine Kopier- oder Abschreibeübung. Man sollte schon eine Ahnung haben, wie ein Linux aufgebaut ist und wie die wichtigsten Kommandozeilentools funktionieren, damit man auch versteht, was man eigentlich bastelt. Ich habe vorher im frei verfügbaren Linux OpenBook von Galileo Press gelesen. Obwohl auch dafür einiges an technischem Grundverständnis vorhanden sein sollte, findet man dort viele Grundlagen an einem Ort.
Als Ausgangslage für den Bau eines LFS-Systems benötigt man ein vorhandenes Linux-System oder eine Live-CD. Ich verwendete auf einem leeren Notebook die LFS-Live CD, die zwar nicht mehr ganz aktuell, aber trotzdem mit allen nötigen Tools ausgerüstet ist.
Ich arbeitete oft mit mehreren Terminals (Alt+F1/F2 …). In einem lief der Konsolenbrowser Lynx, mit welchem ich auf der online Version von LFS navigierte, von da die Befehle durch markieren kopierte und per Mausrad-Klick im anderen Terminal einfügte. Daneben hatte ich auf meinem anderen Notebook mit Ubuntu die PDF Version geöffnet, da sich das PDF besser lesen lässt als die Online-Version in der Konsole.
GPM (Konsolenmaus) und Lynx waren dann auch die ersten Tools, die ich nach LFS im neuen System installierte. Tipp: Mit der Taste D kann man die Pakete und Patches aus Lynx herunterladen.
In meinem System habe ich mithilfe von BLFS einen X-Server aufgesetzt, Fluxbox als Fenstermanager installiert sowie Firefox und Thunderbird als GUI-Anwendungen kompiliert. Da in BLFS keine Erläuterungen zu einem Dateimanager ohne riesige Abhängigkeiten wie GNOME, KDE oder XFCE vorhanden waren, installierte ich den PCMan File Manager, ein schneller, funktionsreicher, in LXDE verwendeter Dateimanager.