Abbildung 1: Auf dem Weg zu Spiderman 3: Die Software Stopmotion unterstützt den Hobbyregisseur bei selbst gemachten Animationsfilmen nach dem Stop-Motion-Prinzip.
Je mehr Distributionen, Softwarepakete und Repositories es gibt, desto mehr spitzen sich die Probleme mit dem Paketmanagement zu: ungelöste Abhängigkeiten, unpassende Bibliotheken, überschriebene Anpassungen. Höchste Zeit, sich Gedanken zu deren Lösung zu machen. Einen radikalen Weg hat dabei die Firma Rpath [1] eingeschlagen, die sich vor allem aus ehemaligen Red-Hat-Mitarbeitern zusammensetzt, von den Entwicklern bis zum Management.
Besonders bedeutsam ist die Mitwirkung von Erik Troan, dem Erfinder des RPM-Paketmanagements, und Michael K. Johnson, der die Kernelentwicklung und später das Fedora-Projekt bei Red Hat leitete. Zusammen mit weiteren ehemals leitenden Entwicklern also geballte Linux-Kompetenz. Mit ihr entwickelt Rpath eine eigenen Linux-Distribution, die anderen Projekten oder Firmen als Basis für spezielle Linux-Varianten dienen soll. Solche so genannten Software-Appliances werden im Zusammenspiel mit einer Hardwareplattform zu Hardware-Appliances.
Linux-Baukasten
Fürs Paketmanagement der Distribution entwickelt Rpath das Conary-System [2], das die beschriebenen Probleme lösen will. Es ist nicht mit anderen Paketformaten kompatibel, arbeitet also nur auf Systemen, die von Haus aus dafür ausgelegt sind, etwa Rpath Linux oder das darauf basierende Foresight Linux [3] von Ken van Dine, das stets die neuesten Versionen von Gnome und damit zusammenhängenden Technologien wie Hal oder Beagle enthält.
Zum einen systematisiert Conary die Versionsnummern von Programmen und Libraries, die häufig nicht mehr zu entschlüsseln sind. So erscheint bei RPM- und Debian-Paketen hinter dem Namen die Versionsnummer der Software, gefolgt von weiteren Versionskennzeichen der Paketbauer. Häufig erhöhen die Distributoren die Versionen auch nur bei einem neuen Build, was die tatsächliche Version schwer erkennbar macht. Zum anderen ist Conary von vornherein darauf ausgelegt, verteilte Third-Party-Repositories gemeinsam mit dem Archiv des Distributors zu verwenden.
CVS für Distributionen
Zur Lösung dieser Probleme geht Conary neue Wege: Es verwendet fürs Paketmanagement die Mechanismen verteilter Sourcecode-Verwaltung wie zum Beispiel Arch und Monotone [4]. Es untergliedert zu installierende Software feiner und respektiert über ein recht komplexes System von Versionen und Branches auch individuelle Änderungen (Abbildung 2): Hat der Sysop etwa mehrere Binaries eines Pakets mit restriktiveren Rechten ausgestattet, erhält ein Paket-Update mit Conary diese Änderungen. Hierarchisch aufgebaute Namensräume erlauben das Mischen von Paketen mehrerer Repositories, ohne dass es zu Zusammenstößen kommt.
Abbildung 2: Das innovative Paket-Managementsystem Conary orientiert sich an Konzepten zur verteilten Quellcodeverwaltung. Hier die Komponenten des Imagemagick-Pakets in Kurz- und Langform.
Um Conary auszuprobieren, bieten sich zurzeit die beiden erwähnten Distribution an. Rpath liegt noch als Betaversion 0.99 vor, die Release steht kurz bevor. Beide lassen sich problemlos installieren und ähneln, abgesehen vom Paketmanagement, den bekannten Red-Hat- oder Fedora-Distributionen.