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.
Heißt das auch das es dann vermutlich nur noch einen Installer geben wird?
Wenn ich deine Frage richtig verstehe, meinst du, ob es in Zukunft z.B. nur eine Netzinstallations-CD geben wird, mit der alle von Debian unterstützten Architekturen direkt installiert werden können?
Also zum einen gibt es schon heute eine Multiarch-CD für i386/amd64, mit der sich beide Architekturen von einer Installations-CD aus installieren lassen. Prinzipiell halte ich es also für möglich. Ich bin mir aber nicht sicher, ob es auch sinnvoll ist. Auf jeder Installations-CD befinden sich schon die jeweiligen Basispakete. Selbst bei einer Netzinstallation würde der Platz einer CD bei 12 Architekturen nicht mehr ausreichen, womit man schon auf eine DVD ausweichen müsste. Damit würde der Sinn einer Netinstall-CD verloren gehen, nur die wesentlichen Pakete dort draufzupacken und den Rest via Internet herunterzuladen.
Was apt und dpkg angeht, die beiden werden später in der Lage sein alle Binärpakete verschiedener Architekturen im gleichen Dateisystem parallel zu installieren. Also werden auch Werkzeuge wie debootstrap aus einem laufenden System heraus ein Multiarchsystem installieren können. Wie Debian das mit den Installations-CDs handhaben wird, müssen wir glaube ich noch abwarten.
Naja in jedem Fall wird sich dann die Frage, installiere ich 32 oder 64Bit geklärt haben.
Wenn wie unter Windows auch 32Bit Software relativ klaglos läuft gibt es ja nicht mehr viele Gründe für ein 32Bit System.