Sparsam
Bei der Aktualisierung von installierter Software verhält sich Conary ebenfalls wie ein Versionskontrollsystem: Es überträgt lediglich ein Changeset, überspielt also nicht sämtliche Binärdateien, wenn sich nur eine Konfigurationsdatei ändert – laut Brett Adam ein großer Vorteil gegenüber RPM. Dabei lässt er allerdings außer Acht, dass Suse und Red Hat ein ähnliches Feature bieten (siehe Kasten "Delta-RPM"). Immerhin berichtet der Rpath-CTO von einem großen Kunden, der zu Conary gewechselt habe, um seine Anwendungen zur Kreditkartenabrechnung schneller und effizienter auf seinen zahlreichen und weltweit verteilen Servern zu aktualisieren.
Delta-RPM
Bereits seit Version 9.2 verwendet Suse Linux so genannte Delta-RPMs, um Software zu aktualisieren. Dabei handelt es sich um Pakete, die zwar einen vollständigen RPM-Header enthalten, als Payload aber nur einen Binär-Diff zur Vorgängerversion des Pakets.
Das Patchen übernimmt nicht RPM selbst, sondern die darüberliegende Schicht Libzypp – beziehungsweise Yum, denn seit 2009 setzen auch Red Hat und Fedora auf Deltas. Als Resultat kommt ein normales RPM-Paket heraus, das sich wie gewöhnlich installieren lässt.
Als jüngste Entwicklung hat die LZMA/XZ-Komprimierung bei Delta-RPM Einzug gehalten, daneben haben die Entwickler eine Option eingebaut, die den tendenziell hohen Speicherverbrauch des Tools in Grenzen hält. Die Delta-RPM-Werkzeuge stehen unter BSD-Lizenz, den Quellcode pflegen die Entwickler in einem Gitorious-Repository [11].
Besagter Kunde nutze zudem ein Feature, das Conary seit rund eineinhalb Jahren bietet. Das System kann RPM-Pakete von Suse Linux Enterprise, RHEL und Centos einkapseln (Abbildung 1). So erhielt das Unternehmen eine Conary-Systemverwaltung aus einem Guss und kann dennoch weiterhin bei seiner bevorzugten Enterprise-Distribution bleiben. Die Subskriptionsverträge bleiben davon unberührt, da Conary die Original-Binärpakete des Herstellers unverändert lässt und lediglich einpackt.
Wer Conary kennenlernen möchte, kann als Alternative zu Rpaths kommerziellen Angeboten zum freien Foresight Linux greifen, das alle erforderlichen Tools enthält. Unter [4] hat Rpath eine Community-Website eingerichtet, die zum Austausch von Recipes dient, derzeit aber nicht besonders üppig befüllt ist. Ein Artikel im "LinuxUser" [5] beschreibt die Conary-Kommandos sowie das Bauen eigener Pakete und Appliances.
Endanwender-Installation
Während Conary ganze Betriebssysteme versioniert, bedient der Zero Install Injector, kurz 0install [6], das andere Extrem: Die Software ermöglicht es Normalanwendern ohne Superuser-Rechte, einzelne Programme nach Wunsch zu installieren. Dabei ist sie distributionsneutral – ein Paket lässt sich auf allerlei Linuxen installieren, sofern dort die Zero-Install-Tools vorhanden sind.
Zero Install ist einer von mehreren Versuchen, die Software-Installation unter Linux ähnlich anwenderfreundlich zu gestalten wie unter Windows oder Mac OS X, und verwendet dabei ein übersichtliches GUI (Abbildung 2). Im Gegensatz zu eingeschlafenen Projekten wie Autopackage und Klik erfreut es sich aktiver Pflege und Entwicklung. Das Projekt möchte noch 2011 die Version 1.0 publizieren, derzeit ist 0.54 aktuell.
Software-Entwickler profitieren von Zero Install, da sie ihre Programme dezentral auf der eigenen Website in einem installierbaren Format publizieren können, ohne auf die Arbeitsabläufe und Repositories der Linux-Distributionen angewiesen zu sein. Thomas Leonard, der Erfinder des Zero Install Injector, legt solche Gedanken in einem online verfügbaren Artikel dar [7]. Der Brite entwickelt das Installationssystem seit 2003 und verwendet es unter anderem für seine Desktopumgebung Rox und deren Anwendungen.
Zum Installieren eines Softwarepakets benötigt der Anwender einen Zero Install Feed. Dabei handelt es sich um eine im Web veröffentlichte XML-Datei mit Meta-Informationen zum Paket. Sie enthält unter anderem die Adresse des Installationsarchivs und den Hashwert, der das Paket identifiziert (Abbildung 3). Eine ständig aktualisierte Sammlung zahlreicher Feeds bietet [8].
Zieht der Benutzer die Feed-Adresse aus dem Webbrowser in das Zero-Install-Fenster, starten Download und Installation. Dabei landen alle Dateien eines Pakets unterhalb von »~/.cache/0install.net/implementations/Hashwert/«
im Homeverzeichnis des Anwenders. Dort findet sich für jedes installierte Programm ein Baum von Systemverzeichnissen wie auf einem ganz gewöhnlichen Unix-System (Abbildung 4).
Zero Install löst Abhängigkeiten automatisch auf und lädt die benötigten Dateien herunter. Befindet sich eine Bibliothek bereits im Installationsverzeichnis des Benutzers, wird sie nicht neu geladen. Daneben können optional auch verschiedene Benutzer auf einem Rechner vorhandene Bibliotheken teilen, wofür das Installationssystem diese in »/var/cache/0install.net/«
bereithält.
Interessanterweise kennt Zero Install im Grunde nur das Ausführen von Programmen. Das Kommando »0launch«
und seine GUI-Entsprechung führen eine Anwendung aus, wenn sie bereits installiert ist. Andernfalls lädt es die Software zur Installation herunter. Ist ein Programm bereits länger als einen Monat nicht gelaufen, sucht Zero Install automatisch nach Updates. Aktualisierungen lassen sich auch von Hand im GUI des Installationssystems veranlassen.
Dazu gesellen sich Features, die einer Softwareverwaltung gut zu Gesicht stehen: GPG-signierte Feeds stellen Herkunft und Unversehrtheit sicher. Daneben kann der Anwender Policies vorgeben, die beispielsweise nur die Installation stabiler Programmversionen erlauben. Versionen mit Sicherheitsproblemen werden in den Web-Feeds als »insecure«
gebrandmarkt.
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 4 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





