Linux-Spätlese
Tom's Readme
Wir werfen wie jeden Monat einen Blick auf aktuelle Linux-Entwicklungen und hoffen, den Freaks und Geeks ein paar interessante Anregungen liefern zu können.
Wir werfen wie jeden Monat einen Blick auf aktuelle Linux-Entwicklungen und hoffen, den Freaks und Geeks ein paar interessante Anregungen liefern zu können.
Warum ist eigentlich noch kein "2001er Châteauneuf-du-Linux, 2.4er Spätlese" auf dem Markt erhältlich? Ich bin sicher, dass Linus Torvalds und die vielen anderen Kernel-Entwickler über Danksagungen dieser Art nicht unglücklich wären, schließlich haben sie in den letzten zwei Jahren hart für den Kernel 2.4 gearbeitet, der Anfang 2001 freigegeben wurde. Die Absteckpfähle der Marke Linus zum Befestigen der Weinreben sind jedenfalls schon bei linus-france.com zu haben, so dass eine Weinmarke mit ähnlich klingendem Namen gar nicht abwegig wäre.
Doch Spaß beiseite. Erfreulich ist, dass kurz nach Erscheinen der neuen Kernel-Version endlich die ReiserFS-Patches integriert wurden und damit dieses Filesystem endlich den ihm gebührenden Platz fand. Wenn man bedenkt, wie viele andere, wesentlich experimentellere Features sich unter der Haube von Linux verstecken, dann ist die zögerliche Haltung bei ReiserFS kaum verständlich. Das Gleiche gilt für den Logical Volume Manager, der ebenfalls sehr spät in den aktuellen Kernel integriert wurde.
Positiv ist hingegen die Quellcode-Konvergenz von uClinux und Linux, denn sonst hätte Lineo kaum einen Tag nach Freigabe von Linux 2.4 die entsprechende Version von uClinux (zum Beispiel für Cold-Fire- und Dragon-Ball-Prozessoren) bekannt geben können.
Für andere Plattformen (wie etwa LinuxPPC) und Projekte sieht die Situation leider nicht so rosig aus, weil sich zu viel Material angestaut hat und Linus auch nicht gewillt ist, Monster-Patches aufzunehmen. Sein Motto lautet nämlich nach wie vor: Lieber 50 kleine Patches, die sich in kurzer Zeit verdauen lassen, als eine große Datei, die unkontrollierbar viele Änderungen an verschiedenen Stellen vornimmt. Diese durchaus verständliche Vorgehensweise führt allerdings dazu, dass die Einstiegshürde für losgekoppelte Projekte immer höher wird, es sei denn, die Entwickler schaffen es, auch nach langer Zeit diese kleinen Häppchen zu generieren.
Interessant ist diese Bemerkung vor allem im Zusammenhang mit Open-Source-Projekten von Firmen, die eine bestimmte Kernel-Version als Grundlage für ihre Projekte nehmen und sich dann wundern, dass die Welt draußen nicht stehen geblieben ist. Doch auch für die Behebung dieser Probleme gibt es mittlerweile jede Menge Linux-Beraterfirmen, die einem mit Rat und Tat zur Seite stehen.
Neben ReiserFS und Klassikern wie dem Journaled File System von IBM sowie XFS von SGI, kommen auch andere Projekte wie das Global File System (GFS) gut voran, das sich zurzeit der Version 4.0 nähert. Dieses Dateisystem war ursprünglich für Fibre Channel oder Shared SCSI ausgelegt, doch inzwischen lassen sich damit auch lokales Journaling und verteilte, IP-basierte Filesysteme realisieren.
Die Performance ist natürlich im zuletzt genannten Fall nicht so gut wie bei Fibre Channel, doch bei vorhandener Netzwerk-Infrastruktur fallen außer Konfigurationsarbeiten keine weiteren Investitionskosten an. Administratoren und interessierte Netzwerker können sich damit hervorragend auf die in den nächsten Jahren anstehende Storage-Area-Network-Welle (SAN) vorbereiten, an der mittlere und größere Firmen kaum vorbeikommen werden.
Eher für den universitären Bereich (High Performance Computing) geeignet ist das Parallel Virtual File System (PVFS), das an der Clemson University mit Unterstützung der NASA entwickelt wird. PVFS kommt ohne Spezial-Hardware und Kernel-Modifikationen aus und weist dann bestehenden Linux-Clustern einen interessanten Ausweg aus der derzeitigen NFS-Misere.
Fairerweise darf an dieser Stelle ein Hinweis auf NFS4 nicht fehlen, das SUN Microsystems gerne als Linux-Standard für verteilte Filesysteme etablieren möchte. Die Entwicklung wurde dabei an das Center for Information Technology Integration (CITI) der Universität von Michigan abgegeben, um Bedenken seitens der Open-Source-Gemeinde vorzubeugen.
In den verschiedenen Arbeitsgruppen, die nicht von Sun kontrolliert werden, sind momentan über 100 Studenten und freie Entwickler mit der Umsetzung und Weiterentwicklung von NFS4 beschäftigt. Dieses Protokoll erlaubt einen netzwerktransparenten, fehlertoleranten und skalierbaren Dateizugriff und bringt wesentliche Verbesserungen gegenüber den aktuellen NFS-Implementierungen.
Allerdings gibt es mit OpenAFS einen interessanten Neuzugang in diesem Bereich: AFS ist als verteiltes Filesystem an der Carnegie-Mellon-Universität entstanden und später von der Transarc Corporation (jetzt IBM Transarc Labs) als kommerzielles Produkt weiterentwickelt und vertrieben worden. IBM hat schließlich letztes Jahr Teile davon als Open Source offen gelegt, die nun als OpenAFS weitergepflegt werden. Das ungefähr 11 MByte große Paket ist derzeit in der Version 1.0.2 vom 21. Januar 2001 sowohl im Quellcode als auch vorkompiliert für Debian GNU/Linux 2.2 und Red Hat 6.2/7.0 verfügbar. Neben erprobtem und skalierbarem Unix File Sharing bietet OpenAFS zudem Ortsunabhängigkeit der Daten und transparente Daten-Migration, so dass sich diese Software unter anderem für den Einsatz in größeren Firmen und Universitäten empfiehlt.
Linux wäre bestimmt nicht Linux, gäbe es da nicht auch noch etwas verrücktere Projekte, beispielsweise das Perl-Filesystem, mit dem sich hervorragend neue Ideen im Netzwerkbereich testen lassen.
Damit ist die Liste der Dateisysteme für Linux in keinster Weise bereits erschöpft, aber es gibt ja schließlich noch andere Themen! Wichtig ist in diesem Zusammenhang nur, dass die Entwicklung nicht stehen bleibt, denn unsere Filesystem-Ansprüche wachsen und verändern sich ständig. Wer hätte etwa vor zwanzig Jahren gedacht, dass ein normaler Endanwender mit Hunderttausenden, ja mit Millionen von Dateien auf seinem System zurechtkommen muss, wobei die Dateigrößen zwischen wenigen KByte und mehreren GByte variieren?
Es wird sicherlich noch einige Zeit dauern, bis das von den Sandia National Laboratories, der Celera Genomics Group und Compaq in Angriff genommene 150 Millionen Dollar teure Linux-Cluster-Projekt mit seinen 10.000 bis 20.000 Alpha-Prozessoren auf unseren Schreibtischen landet. Doch wer kann schon mit Sicherheit ausschließen, dass in nicht allzu ferner Zukunft Peta-Cruncher zur Standardausrüstung von Normalsterblichen gehören werden? :-)
Wechseln wir das Thema und werfen einen Blick auf zufällig ausgewählte Projekte, die diesen Monat mein Interesse geweckt haben. Als erstes sei auf die Homepage der neu gegründeten GIMP User Group (GUG) - nicht zu verwechseln mit der German Unix User Group (GUUG) - hingewiesen. Man findet dort unter anderem Dokumentation aller Art zum GNU Image Manipulation Program, das Weihnachten letzten Jahres in der Version 1.2 erschienen ist.
Ein anderes sehr interessantes und vor allem umfassendes Projekt unter der Schirmherrschaft der Free Software Foundation ist die Erschaffung einer frei erhältlichen Enzyklopädie mit dem Namen GNUPedia. Ich bin sicher, dass Georg C. F. Greve in seiner nächsten "Brave GNU World" ausführlich darüber berichten wird. Denn im Moment ist außer Lippenbekenntnissen kaum etwas darüber zu erfahren.
Wichtig scheint mir ein Enzyklopädie-taugliches XML-Format zu sein, um die gesammelten Informationen zu erfassen, denn das vorgeschlagene HTML wird kaum die Bedürfnisse der verschiedenen Benutzergruppen befriedigen können. Wenn man sieht, wie viel Geld zum Beispiel von Microsoft in den Erwerb von Rechten an Bildern, Musik und Informationen gesteckt wird, kann man erahnen, in welches Haifischbecken man sich ausgerechnet mit einer freien Enzyklopädie begibt. Zudem ist die Korrektheit der Informationen kein triviales Problem, da bei gewissen Themen oft sehr unterschiedliche Ansichten verbreitet sind.
Gerade die Komplexität und Naivität der Herangehensweise macht aber wohl den Reiz dieses Projekts aus. Ich erinnere mich nur zu gut an das Gefühl, von einem Projekt (wie dem Linux-Cluster CLOWN für die WDR-Computernacht) überrollt zu werden und es letztendlich durch die Mithilfe vieler Kollegen doch noch irgendwie zu schaffen. Genau das Gleiche wünsche ich GNUPedia, denn freie Betriebssysteme sind nur der Anfang einer freien Informationsgesellschaft.
Nach so vielen schwergewichtigen Hinweisen und Überlegungen entspannen wir uns kurz mit dem freien, von Red Hat gehosteten Strategiespiel XConq, das Mitte Januar ein neues SDL-Interface erhielt. Und wer danach gleich selber plattformübergreifende Spiele entwickeln möchte, findet vielleicht Gefallen am Python Game Development Kit, das Python/ SDL anbindet.
Natürlich ist SDL nicht die einzige plattformübergreifende Entwicklungsumgebung für Spiele. So wurde ich vor langer Zeit gebeten, einmal das Paket PLIB vorzustellen, das Geometrie-, Font-, Szenengraph- und Sound-Bibliothek sowie OpenGL-basierte Widgets zusammenfasst. In einer ähnlichen Kategorie angesiedelt ist CLANLIB, das je nach Plattform (Linux, Windows und BeOS) die Targets OpenGL, Framebuffer, GGI, SVGALib, X11, OpenPTC oder DirectX unterstützt und als Killerapplikation das witzige Spiel Pingus vorzuweisen hat.
Hervorzuheben ist bei CLANLIB - aus Programmiersicht - unter anderem die LUA-Skriptanbindung. LUA ist eine in Brasilien entwickelte objektorientierte Skriptsprache, die hierzulande allerdings kaum bekannt ist, aber trotzdem eine beeindruckende Referenzliste vorzuweisen hat. Sie stellt unter anderem sehr flexible Meta-Mechanismen zur Verfügung, mit denen sich OOP-Konzepte wie Klassen und Vererbung selber definieren lassen. Das müsste doch eigentlich so manches Informatikerherz erfreuen.
Bei einer Auflistung der in unseren Breiten vielleicht etwas exotischen Skriptsprachen darf natürlich Ruby nicht fehlen, die in Japan äußerst beliebt ist und letztes Jahr sogar Anlass zu einer O'Reilly-Ruby/Perl-Konferenz gab (siehe dazu auch die "Brave GNU World", Ausgabe 18). Andere Länder, andere Vorlieben - das kann man hier sicherlich sagen.
Das Gleiche gilt übrigens auch für Betriebssysteme. Im Land der aufgehenden Sonne sind nämlich die verschiedenen BSD-Varianten sehr beliebt, und das ist auch gut so. Denn es gibt nichts Schlimmeres als Mono-Betriebssystem-Kulturen, die letztlich fast zwangsläufig zur Betriebsblindheit führen - das gilt nicht nur für Windows, sondern auch für Linux! - und bei großangelegten Internet-Attacken sogar die Grundlage für das eintretende Chaos sind.
Der Red-Hat-Systeme angreifende Ramen-Wurm ist zwar an und für sich harmlos, zeigt aber, welche Gefahr bestünde, wenn auf der ganzen Welt nur noch diese eine Linux-Variante installiert wäre. Entsprechende Vorfälle bei Windows sind altbekannt und haben zu wesentlich größeren Schäden geführt.
Alle Rezensionen aus dem Linux-Magazin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...