Multiarch-Support unter Linux nutzen

i386 - cc-by-sa von Konstantin LanzetMit der Veröffentlichung von Debian „Wheezy“ hat es entscheidende Änderungen gegeben, die einem nicht sofort auffallen, weil sie mehr unter der Haube liegen. Eine dieser Änderungen ist der Multiarch-Support. Bisher war es mit Umständlichkeiten verbunden und nicht immer von Erfolg gekrönt, wenn man 32-Bit-Programme in einer 64-Bit-Linux-Installation betreiben wollte. Dank Multiarch kann man jetzt selbst bestimmen, welche Architekturen man auf einem 64-Bit-System alles unterstützen möchte.

Multiarch-Support aktivieren

Unter Debian 7 und den aktuellen Ubuntu-Versionen, die ja auf Debian basieren, kann man sich zunächst die unterstützten Architekturen anzeigen lassen.

1
dpkg --print-architecture
uduntu dpkg architecture amd64

Dieses Ubuntu unterstützt im Moment nur die 64-Bit-Architektur.

Jetzt kann man als Root seine Wunscharchitekturen hinzufügen beispielsweise „i386“.

1
2
3
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get upgrade

Die folgende Tabelle zeigt die möglichen Architekturen unter denen man auswählen kann.

Name Beschreibung
i386 32-Bit x86-Intel und AMD-Prozessoren
amd64 64-Bit x86-Intel und AMD-Prozessoren
armel ARM EABI
armhf ARMv7 (EABI hard-float ABI)
s390x IBM System z
ia64 Intel Itanium
mips MIPS (big-endian)
mipsel MIPS (little-endian)
powerpc PowerPC
s390 IBM S/390
sparc SPARC

Wenn man also die 32-Bit-Unterstützung hinzugefügt hat kann man bei der Installation der Pakete auswählen für welche Architektur man sie installieren möchte.

1
sudo apt-get install <paketname>:i386

Gibt man nichts an wird automatisch das Paket für die aktuelle Architektur installiert.

Wozu der ganze Aufwand?

Einerseits hilft es Entwicklern, die vorkompilierte Paket für verschiedene Architekturen bereit stellen wollen und ARM-Plattformen werden immer wichtiger, andererseits hat es für alle anderen Anwender einen ganz praktischen Nutzen.

Das proprietäre Flash-Plugin war lange Zeit nur für 32-Bit-Architekturen verfügbar und konnte somit auf 64-Bit-Installationen nicht genutzt werden. Erfreulicher Weise entdecken immer mehr Spieleentwickler Linux als Plattform. Diese Spiele liegen häufig nur als vorkompilierte Pakete für wenige Architekturen vor.

Dank Multiarch-Support kann man jetzt auf leistungsstarken 64-Bit-Installationen problemlos alles testen und nutzen.