Ubuntu: 32-Bit-Software unter 64-Bit

Speicherriegel a 2 GB kosten heute nicht mehr die Welt. Da liegt es nahe, die alten Grenzen von 32-Bit-Betriebsystemen zu sprengen und – entsprechende Hardware vorausgesetzt – ein 64-Bit-System zu installieren, das mehr RAM adressieren kann. Manche Software ist aber nur 32-bittig erhältich, zum Beispiel die kommerziellen Programme Skype und Zattoo. In den englischsprachigen Ubuntu Forums stieß ich kürzlich auf ein nettes Script (nein, nicht das suspekte Automatix), das so smart ist, die benötigten Bibliotheken zu ermitteln und nachzuladen: Getlibs.

Die generelle Strategie lautet: Wenn die Software noch nicht auf 64 Bit portiert ist, muss man eben die 32-Bit-Version verwenden. Das Problem dabei sind die Abhängigkeiten: Ein Programm erwartet in der Regel Bibliotheken, die auf einem 64-Bit-System nicht vorhanden sind. Genauer gesagt: nicht in der 32-Bit-Version vorhanden sind. Getlibs ist in der Lage, diese Abhängigkeiten zu erkennen (indem es ganz standardkonform den Debian-/Ubuntu-Paketmagager dpkg befragt) und schließlich aufzulösen – und zwar in Wohlgefallen. Tatsächlich sehe ich nur den einen Nachteil: dass man sich sein 64-Bit-System notgedrungen mit ein paar 32-Bit-Bibliotheken zumüllt.

Getlibs lässt sich aus einem vom Autor bereitgestellten deb-Paket installieren: Das Paket downloaden und (mit gdebi) einrichten. Die Installation von 32-Bit-Programmen ist dann recht einfach:

  1. Das gewünschte Programmpaket herunterladen
  2. Die Installation durch den Debian-Paketmanager erwingen

    $ sudo dpkg -i --force-all package_name.deb

  3. Getlibs über das (gewöhnlich nach /usr/bin/) installierte Programm laufen lassen, um die fehlenden Bibiotheken nachzuinstallieren:

    $ getlibs /usr/bin/programm

Es empfiehlt sich danach, das Programm zum ersten Start in einem Terminal aufzurufen. Sollte doch noch etwas haken, kann man dort die Fehlermeldungen sehen. Meckert das Programm über fehlende Bibliotheksdateien (zu erkennen an der Namenserweiterung *.so), so füttert man getlib getrost mit dem (oder den) Namen aus der Fehlanzeige – samt dem Schalter “l” (wie library). Das praktische Skript sucht sich dann selbst mit Hilfe von dpkg das Paket, in dem diese Datei enthalten ist, lädt dieses herunter und installiert es:

$ getlibs -l bibliotheksname.so.0

Getlibs kann man an ohne “sudo” starten. Wenn etwas installiert werden soll, fragt das Script selbst nach dem Passwort.

Zum Schluss noch zwei Beispiele, wie die Installation mit Getlibs unter Xubuntu 8.04 Hardy Heron abläuft:

Zattoo. Für die kostenlose TV-Software (Registrierung notwendig) stellt der Schweizer Hersteller ein 32-Bit-Paket für Debian und Ubuntu bereit.

$ sudo dpkg -i --force-all zattoo-3.2.1.14137-i386.deb
[...]
$ getlibs /usr/bin/zattoo_player
[...]
The following i386 packages will be installed:
libbonoboui2-0
libcurl3
libdbus-glib-1-2
libgnome2-0
libgnome-keyring0
libgnomeui-0
libgnomevfs2-0
libgtkglext1
libmozjs0d
libnspr4-0d
libxul0d
Continue [Y/n]? Y
Downloading ...
Installing libraries ...
New depedencies have been detected
libavahi-glib.so.1: libavahi-glib1
libavahi-common.so.3: libavahi-common3
libavahi-client.so.3: libavahi-client3
The following i386 packages will be installed:
libavahi-client3
libavahi-common3
libavahi-glib1
Downloading ...
Installing libraries ...

Nach dem Programmstart von zattoo_player klagte die Software zwar, das Flash-Plugin fehle, lief dann aber ohne Probleme. Tatsächlich ist Flash installiert, aber als 64-bit-Version.

Skype. Die Linux-Version der kommerziellen Kommunikations-Software unterstützt inzwischen Video-Telefonate. Auch hier gibt es aber nur ein 32-bittiges deb-Paket. Auf meinem System waren aber schon alle Abhängigkeiten erfüllt.

$ sudo dpkg -i --force-all /home/dschmidtke/Desktop/skype-debian_2.0.0.68-1_i386.deb
$ getlibs /usr/bin/skype
This application isn't missing any dependencies

7 comments on “Ubuntu: 32-Bit-Software unter 64-Bit”

Schreibe einen Kommentar