Soeben habe ich mein erstes LFS fertig gestellt. Hier kurz eine Zusammenfassung meiner Erfahrungen:

LFS… hä?

LFS steht für Linux From Scratch und bezeichnet… nicht direkt eine Distribution. Vielmehr handelt es sich bei LFS um eine Dokumentation, wie man sich aus einer Reihe von Quellpaketen ein Linux installiert. Und zwar, ohne eine Distribution im eigentlichen Sinne zu haben.

Warum?

Warum nicht? ;-)

Nein, im Ernst: der beste Grund den man für sowas haben kann ist ‚weil man dabei vielleicht was lernen kann‘.

Außerdem bin ich im Moment wieder mal Hotelbewohner, und sowas ist ein netter Zeitvertreib für den langen Abend.

Wie?

Ich habe die Installation sozusagen ‚berufsbegleitend‘ gemacht. Auf meinem Arbeits-Notebook habe ich eine VMWare Workstation, darin habe ich mir für die Installation eine virtuelle Maschine (160MB RAM, 4GB SCSI-Platte) gebastelt.

In Bezug auf das Ausgangs-System habe ich gecheated: auf den LFS-Projektseiten sind CD-Images verlinkt, die eine getestete Umgebung für den Bau enthalten. Da ich die Aktion schon seit einer Weile vor hatte, lag hier schon ein Image mit der Version 6.1 rum. Ein Download der aktuellen 6.1.1 hätte mir keinen riesigen Mehrwert gebracht, also habe ich die ‚alte‘ 6.1 benutzt.

Von der CD wird ein Linux gebooted, enthalten sind neben allen zum Bau benötigten Werkzeugen und der Doku selbst auch die Quellpakete für alle Komponenten des Systems. Da die Versionen genau die sind auf die sich die Doku bezieht gestaltet sich der Bau streßfrei.

Kleiner Tip am Rande: Wenn man die Installation in einer virtuellen Maschine vornimmt kann man die Doku bequem im grafischen Browser des Host-Systems lesen. Wenn man die virtuelle und die Host-Maschine vernetzt und ein SSH einrichtet kann man dann die einzugebenden Kommandos einfach per Copy & Paste in das Gastsystem einfügen. Das erspart eine Menge überflüssige und vor allem fehlerträchtige Tipperei.

Wie gesagt, beim Bau habe ich mich weitestgehend an die Anleitung gehalten. Der erste Reboot ging schief, da ich nicht bedacht hatte eine Unterstützung für den BusLogic SCSI-Controller der virtuellen Maschine einzucompilieren. Bei der Gelegenheit habe ich dann auch gleich den Treiber für die virtuelle AMD PCnet32 PCI Netzwerkkarte mit eingebunden.

Und?

Oft wird behauptet, daß man durch eine LFS-Installation ‚versteht wie das System wirklich funktioniert‘ oder sowas. Das ist in meinen Augen weitestgehend Unfug. Um das zu verstehen hilft wahrscheinlich nur eine intensive und mehrjährige Beschäftigung mit den Quelltexten der Pakete die in einem LFS enthalten sind. Das traue ich ehrlich gesagt niemandem (im Sinne von: niemandem!) zu.

Allerdings glaube ich tatsächlich, daß einem der Bau eines LFS die Vorstellung davon verbessern kann, aus welchen Komponenten ein Linux zusammengesetzt ist und welche Aufgaben diese haben.

Weiterhin ist LFS wahrscheinlich die beste Ausgangsposition, um eine kompromißlos zweckgebundene Installation auf die Beine zu stellen, oder ein absolut minimales System. Das fertige LFS umfaßt zwar 264MB auf der Platte, aber ich habe auch kein Augenmerk auf die Größe gelegt und Man-Pages und ähnlich verzichtbares Zeug mit installiert.

Man darf halt nur nicht in die verleitende Falle laufen und dazu übergehen alle Eingaben einfach zu kopieren ohne sie zu überdenken. Spätestens nach dem zwanzigsten make && make install lockt diese Vorgehensweise, aber wenn man da nicht hart gegen sich bleibt und alles liest (und zu verstehen versucht!) kann man die Aktion eigentlich ganz bleiben lassen.

Bei Gelegenheit werde ich noch mal die BLFS-Seiten (Beyond Linux From Scratch) überfliegen, aber ich denke im Moment eigentlich nicht daß ich diese Distribution auf Dauer verwenden werde. Falls ich es mir anders überlege wird das aber auch wieder hier erscheinen…

Naja, fast. An einer Stelle bei mir aber im Moment doch sehr: Nach einem Kernel-Update müssen (verständlicherweise) die VMWare-Kernelmodule neu übersetzt werden. Dazu gibt es ein Skript, das bislang auch klaglos seinen Dienst verrichtet hat. Bislang:

antarktis ~ # vmware-config.pl
Making sure services for VMware Workstation are stopped.

* ERROR: „vmware“ has not yet been started.
Unable to stop services for VMware Workstation

Execution aborted.

Unter Windows habe ich ähnliche Fehler schon gesehen. Irgendwas im Sinne von ‚Das Programm kann nicht beendet werden weil das Programm nicht gestartet werden kann‘ oder so ähnlich. Lange her. Aber unter Linux? Ich bin enttäuscht…

… habe aber immerhin Zugriff auf die Quellen, so daß ich den Fehler quick & dirty fixen kann.

PS: OK, eine schnelle Suche im — wie immer äußerst hilfreichen — Gentoo-Forum brachte eine sauberere Lösung ans Licht: vmware-config.pl -skipstopstart

Habe ich eigentlich schon erwähnt, daß ich GNU screen für eines der wertvollsten Tools halte, die mir in letzter Zeit untergekommen sind? Nein? Im Gentoo-Wiki gibt es eine wirklich brauchbare Einführung, die auch gleich die ganzen Vorzüge prima hervorhebt. Vielleicht überzeugt das ja auch den einen oder anderen Leser. Oder ebnet zumindest die (definitiv vorhandene) Einstiegshürde etwas ein…

Die Idee ist schamlos geklaut, hat aber gerade — vielleicht etwas verfeinert — Einzug in meine zsh-Konfiguration gefunden:

# Bei Beendigung eines Kommandos mit Fehlerstatus eine 'Entschuldigung' ausgeben :-)
if fortune bofh-excuses > /dev/null 2>&1 ; then
   TRAPZERR() { fortune bofh-excuses | tail -n 1 }
else
   TRAPZERR() { echo 'AAAAAAAARRRRGHHHHH!!'; }
fi

Das ganze sieht dann ungefähr so aus:

rschaten@antarktis% foo
zsh: command not found: foo
That's easy to fix, but I can't be bothered.

Oder noch besser:

rschaten@antarktis% pgrep windows
Satan did it

Naja, Spaß ist vielleicht übertrieben. Aber falls man es mal brauchen sollte ist es gut zu wissen, daß man — wie Cow’s Blog beschreibt — die Chrome-URLs im Firefox direkt ‚ansurfen‘ kann. Der Tip, das nur mit einem Firefox zu machen der gerade keine wichtige Seite anzeigt ist übrigens ernst zu nehmen… :-)

An dieser Stelle möchte ich mal eben ein Lob in Richtung Spam Karma schicken. Das habe ich hier vor knapp drei Monaten installiert, nachdem mir die stetig ansteigende Flut von Kommentar-Spam zu viel geworden ist.

Seitdem sind fast alle Spam-Kommentare sauber ausgefiltert und einer umwelt- und nervenschonenden Entsorgung zugeführt worden. Wenn ich mich recht entsinne hatte ich seit der Installation genau einen Kommentar, den ich doch von Hand filtern mußte.

Alles in allem ist das also exakt das, was man sich an der Stelle wünscht. Danke nochmal an die Entwickler, meine Empfehlung an alle WordPress-Benutzer!

Nachdem ich Heute das Archiv von /dev/radio ‚leergehört‘ habe (sehr zu empfehlen), bin ich auf OpenRadio gespannt. Eine Radiosendung, die sich vollständig der Information über Open Source Software verschrieben hat. Ich hoffe, daß deren Sendungen auch nicht nur als Stream sondern auch als MP3 verfügbar gemacht werden.

Auch wenn Ajax mittlerweile ein alter Hut ist, Systeme wie Protopage faszinieren mich immer noch. Gibt es eigentlich sowas auch in frei? Wenn überhaupt, dann hätte ich es lieber auf dem eigenen Server…

Naja, noch nicht. Ich weiß auch noch nicht, ob ich das Videgor-Plugin installieren werde, wenn das Netz aufgebaut ist. Aber die Idee — von der ich über Golem erfahren habe — ist nicht schlecht:

Videgor erweitert diesen zu einem verteilten Videorekorder, indem teilnehmende Geräte zum Peer-to-Peer-Netz IGOR verbunden werden.

Sofern genügend Computer an diesem Netzwerk teilnehmen, sollen sich im Idealfall auch bereits ausgestrahlte Sendungen programmieren lassen. Diese werden dann von einem anderen VDR übertragen, der die gewünschte Sendung aufgezeichnet hat – was natürlich entsprechende Bandbreiten voraussetzt.

Insgesamt setzt sich Videgor aus drei einzelnen Plug-ins zusammen: Dvdrvidtrans ist für den Transfer zwischen den VDRs zuständig, während dvdrepg Informationen der elektronischen Programmzeitschrift EPG zwischen den Computern austauscht. Dvdrsched letztlich koordiniert die Timer unterschiedlicher VDRs.

Interessant wäre jetzt, zu wissen wie die rechtliche Situation aussieht. Es würde mich wundern, wenn niemand versucht gegen diese Idee vorzugehen…

Nachtrag: Auch bei Heise gibt es einen Bericht dazu.