Multiarch ist Debians wegweisendes Ziel für wheezy

Seit Mai hatte ich immer wieder den Begriff Multiarch im Hinterkopf als ich zum ersten Mal in einem Interview mit Steve Langasek, Debians ehemaliger Release Manager für Sarge und Etch und treibende Kraft hinter Multiarch, darüber gelesen habe. Vor einem Monat bin ich dann erneut darauf gestoßen als ich am eigenen Computer erfahren durfte, was Steve Langasek als „a fair bit of breakage“ mit der Einführung von Multiarch ankündigte.

In meiner minimalen Debianinstallation für Spiele waren nach einem Upgrade die Pfade zu einigen Bibliotheken nicht mehr richtig gesetzt, was dazu führte, dass die 3D-Beschleunigung mit den Nvidia Treibern flach fiel. Für ein reinrassiges Spielesystem ein eher suboptimaler Zustand. Nach kurzer Suche in Debians Fehlerdatenbank konnte ich das Problem lokalisieren und hatte die Wahl ein Downgrade auf eine frühere Version der Nvidia Pakete zu machen oder darauf zu warten bis der fleißige Paketverwalter den Fehler korrigiert hatte. Da ich zu dieser Zeit das Spielesystem höchstens sporadisch nutzte, beließ ich es dabei und wartete auf die Lösung, die anderthalb Wochen später per Systemupdate verfügbar war.

Vor wenigen Tagen, am 26. Juli, wurde dann auch ganz offiziell bei debian.org Multiarch als Entwicklungsziel für das sehr wahrscheinlich im Jahr 2013 erscheinende Debian 7 alias wheezy ausgerufen. Hierbei handelt es sich laut der Meldung um eine radikale Neugestaltung der Dateisystemhierarchie, in dem Sinne das Bibliothekspfade so angepasst werden, damit es in Zukunft möglich sein wird Programme und Bibliotheken verschiedener Rechnerarchitekturen parallel auf dem gleichen System zu installieren.

Konkret heißt das, dass es zukünftig mit Hilfe von apt und dpkg möglich sein wird, 32-Bit-Anwendungen parallel auf einem 64bit-System aufspielen zu können. Heutzutage muss diese Art von Applikationen zuerst als neues AMD64-Paket gepackt werden, um überhaupt von dpkg, Debians Paketmanager, richtig erkannt und installiert werden zu können. Zusätzlich werden erforderliche Bibliotheken im Paket ia32-libs zur Verfügung gestellt, welches im Grunde nur eine Schnittmenge aus bestehenden 32-Bit-Bibliotheken ist und die für AMD64 gepatcht wurden. Das alles kostet viel Platz in den Archiven und erfordert zusätzlichen Entwicklungsaufwand, der an anderer Stelle sinnvoller eingesetzt werden könnte.

Zu Multiarch gibt es schon ein paar gute Beiträge zu lesen. Vor allem Debians Wiki ist hier hervorzuheben. Nun ist i386 und amd64 bei Debian nicht alles. Multiarch wird später für alle unterstützten Architekturen gelten. Neben der Fähigkeit 32-Bit-Anwendungen auf 64-bit-Systemen parallel zu installieren, wird auch Cross-Compiling wesentlich vereinfacht werden.

Wie Steve Langasek im Ubuntu-Wiki ausführlich darlegt, wird es mit Multiarch später möglich sein Abhängigkeiten und Pakete z.B. für die ARM-Architektur auf ein leistungsfähigeres Desktopsystem zu installieren, diese dort mit einem Cross-Compiler zu übersetzen und dann sofort mit Hilfe von Qemu auszuprobieren. Beispiele für bekannte Produkte, die auf ARM basieren und mit Debian funktionieren, sind das Slug, das SheevaPlug oder das Nokia-900-Smartphone. In der letzten Phase des Übergangs zu Multiarch wird es dann sogar möglich sein ein i386-System auf amd64 upzugraden, sofern natürlich der Rechner die Architektur überhaupt unterstützt.

Der Übergang zu Multiarch wird mit Sicherheit aufwändig werden. Wenn dieser Prozess aber erst einmal abgeschlossen ist, wird dadurch ein technischer Standard geschaffen, der auch für zukünftige und heute unbekannte Rechnerarchitekturen gelten wird. Debian schafft dadurch vielleicht auf den ersten Blick kein besonders werbewirksames Tool, aber erneut ein Stück technische Exzellenz um den Anspruch des universellen Betriebssystems gerecht zu werden.

3 Kommentare zu Multiarch ist Debians wegweisendes Ziel für wheezy

Schreibe einen Kommentar

Du kannst diese HTML tags benutzen

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>