Installiert man 32-bit-Software auf einem 64-bit-Ubuntu, so fehlen oftmals wichtige Bibliotheken in der 32-bit-Version, ohne die das Programm nicht laufen kann. Um dennoch 32-bit-Software auf einem 64-bit-System betreiben zu können, müssen diese Bibliotheken heruntergeladen und von Hand installiert werden, was relativ mühsam ist.
getlibs erleichtert diesen Vorgang. Das Programm analysiert beispielsweise, welche Bibliotheken ein 32-bit-Programm benötigt und installiert diese direkt aus der Paketverwaltung heraus. So lässt sich 32-bit-Software sehr leicht auf einem 64-bit-Ubuntu installieren.
Fremdpakete können das System gefährden.
getlibs ist nicht aus den Paketquellen installierbar. Das Programm kann man jedoch hier
als .deb-Paket herunterladen (HINWEIS: temporär kann das Paket nur hier
als .deb-Paket herunterladen). Anschließend installiert [1] man das Paket wie üblich. Das Programm wird ausschließlich im Terminal benutzt, es werden also keine Startmenü-Einträge erstellt.
Pakete, die für ein 32-bit-System erzeugt worden sind, lassen sich nicht wie üblich auf einem 64-bit-System installieren [1]. Das System weigert sich mit der Meldung
Paket-Architektur (i386) passt nicht zum System (amd64)
diese Pakete zu installieren. Daher muss man die Installation solcher Pakete erzwingen.
# Allgemein sudo dpkg -i --force-all <paket_i386.deb> # Beispiel sudo dpkg -i --force-all skype-debian_2.0.0.63-1_i386.deb
Weitere Informationen hierzu findet man unter 64bit-Architektur.
Ist ein 32-bit-Programm nun auf einem 64-bit-System installiert, so kann man damit beginnen, die nötigen Bibliotheken zu installieren.
Mit dem Befehl ldd kann man bestimmen, welche Bibliotheken ein Programm zum Ausführen benötigt.
# Allgemein ldd </pfad/zu/binary> # Beispiel ldd /usr/bin/skype
linux-gate.so.1 => (0xffffe000)
libXv.so.1 => /usr/lib32/libXv.so.1 (0xf7e37000)
libaudio.so.2 => not found
...Alle Bibliotheken, die hier als not found markiert werden, sind noch nicht auf dem System installiert. Diese Ausgaben benutzt nun getlibs und installiert automatisch alle Bibliotheken, die nicht gefunden werden konnten. Dazu startet man getlibs mit Root-Rechten und übergibt den Pfad zur ausführbaren Datei des Programms.
# Allgemein sudo getlibs </pfad/zu/binary> # Beispiel sudo getlibs /usr/bin/skype
Danach sind alle Bibliotheken, die dieses Programm benötigt, installiert. Das Programm sollte nun sofort und ohne weitere Probleme starten. Die restlichen Möglichkeiten getlibs zu bedienen sind meist nur für spezielle Fälle nötig.
Alternativ kann man mittels getlibs auch direkt bestimmte Bibliotheken installieren. Dazu müssen der Schalter -p gesetzt und der Name des Paketes angegeben werden, das die Bibliothek enthält.
# Allgemein sudo getlibs -p <paket1> <paket2> # Beispiel sudo getlibs -p libqt4-core libqt4-gui
Des Weiteren kann man mittels getlibs auch direkt bestimmte Bibliotheken installieren. Dazu müssen der Schalter -l gesetzt und der Name der Bibliothek angegeben werden.
# Allgemein sudo getlibs -l <lib1> <lib2> # Beispiel sudo getlibs -l libogg.so.0 libSDL-1.2.so.0
Getlibs kann auch eine 32-bit-Bibliothek, die man manuell aus den Paketquellen heruntergeladen hat, installieren.
# Allgemein sudo getlibs -i <i386_library_1.deb> # Beispiel sudo getlibs -i libqt4-gui_4.3.2-0ubuntu3.2_i386.deb
Letztendlich kann man auch direkt Bibliotheken aus dem Internet herunterladen und gleich installieren lassen.
# Allgemein sudo getlibs -w ubuntu.com/i386_library_1.deb # Beispiel sudo getlibs -w security.ubuntu.com/ubuntu/pool/main/q/qt4-x11/libqt4-gui_4.3.2-0ubuntu3.2_i386.deb
| Weitere Optionen von getlibs | |||
| Option | Beschreibung | ||
--apt-file | Benutzt apt-file, um den Paketnamen einer Bibliothek zu bestimmen. Die Standardeinstellung benutzt direkt packages.ubuntu.com. Dies ist besonders nützlich für Anwender, die nicht Ubuntu benutzen. | ||
--build | Konvertiert ein 32-bit Paket in ein 64-bit Paket und installiert es gleich. Bibliotheken, die in diesem Paket enthalten sein sollten, werden nicht installiert. Diese Funktion ist noch nicht ausgereift! | ||
--savebuild | Kann mit --build benutzt werden. Das generierte 64-bit Paket wird im Homeverzeichnis des Benutzers abgelegt. | ||
--mirror bzw. -m | Benutzt den angegebenen Mirror zum Download. | ||
--verbose | Liefert zusätzliche Informationen. | ||
--ldconfig | Führt ldconfig für Verzeichnisse aus, wo neue Bibliotheken installiert wurden. | ||
-64 | Erlaubt apt-get 64-bit Pakete auf einem 64-bit System zu installieren | ||
--distro | Hier kann Ubuntu oder Debian angegeben werden. Ubuntu installiert Bibliotheken nach /usr/lib32 bzw. /lib32. Debian hingegen nach /emul/ia32-linux/. Als Standard werden die Bibliotheken passend zum System installiert. | ||
--release | Diese Option kann auf hardy, gutsy, feisty, edgy oder dapper gesetzt werden. Über Release wird bestimmt, welche Pakete heruntergeladen werden. Als Standard werden Bibliotheken passend zum System installiert. | ||
Diese Revision wurde am 2. Juni 2010 um 16:51 Uhr
von Heinrich Schwietering erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet:
Installation, System
2004 – 2010 ubuntuusers.de • Einige Rechte vorbehalten