[[Vorlage(Archiviert)]] {{{#!vorlage Warnung Ab [:Oneiric:Ubuntu 11.10] ist die Verwendung von getlibs in der Regel nicht mehr nötig, da die Paketverwaltung auf 64-Bit-Systemen mittlerweile selbst in der Lage ist, 32-Bit-Bibliotheken parallel zu den 64-Bit-Bibliotheken zu verwalten. Möchte man also ein 32-Bit-Programm verwenden, installiert man es einfach und muss sich um nichts weiter kümmern, denn die nötigen 32-Bit-Bibliotheken werden automatisch mitinstalliert. Installiert man ein Programm ohne die Paketverwaltung, so sollte man es wie weiter unten beschrieben mit ''ldd'' analysieren und die 32-Bit-Bibliotheken von Hand (über die Paketverwaltung ohne getlibs) nachinstallieren. Die 32-Bit-Versionen der Bibliothekspakete erkennt man dadurch, dass dem Namen ein '':i386'' anhängt, z.B ''libgtk-3-0:i386''. }}} {{{#!vorlage Wissen [:Paketquellen freischalten/PPA: Ein PPA freischalten] [:Pakete installieren: Installation von Paketen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] Installiert man 32-Bit-Software auf einem 64-Bit-Ubuntu, so fehlen oftmals wichtige Bibliotheken, ohne die das 32-Bit-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. = Installation = getlibs ist nicht aus den Paketquellen installierbar. Derzeit kann es - nachdem das PPA jcollins/jaminppa nicht mehr exisitiert - noch von [http://usablesoftware.wordpress.com/2011/02/01/download-link-for-getlibs/ wordpress] {dl} heruntergeladen werden. Die Endung ''"pdf"'' muss durch ''"deb"'' ersetzt werden. ##Das Programm kann man jedoch aus einem PPA installieren.[1] ##[[Vorlage(PPA, jcollins/jaminppa, key A274733A , maverick, lucid)]] ##Folgendes Paket kann nach dem Auffrischen der Paketinformationen installiert werden:[2] ##{{{#!vorlage Paketinstallation ##getlibs, ppa ##}}} = Benutzung = == Installation eines 32-Bit-Paketes erzwingen == Pakete, die für ein 32-Bit-System erzeugt worden sind, lassen sich nicht wie üblich auf einem 64-Bit-System installieren. 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.[3] {{{#!vorlage Befehl # Allgemein sudo dpkg -i --force-all # Beispiel sudo dpkg -i --force-all skype-debian_2.0.0.63-1_i386.deb }}} Weitere Informationen hierzu findet man unter [:64-Bit-Architektur:]. == 32-Bit-Bibliotheken herunterladen == Ist ein 32-Bit-Programm nun auf einem 64-Bit-System installiert, so kann man damit beginnen, die nötigen Bibliotheken zu installieren. [[Anker(Anaylse)]] === Programm analysieren === Mit dem Befehl ``ldd`` kann man bestimmen, welche Bibliotheken ein Programm zum Ausführen benötigt. {{{#!vorlage Befehl # Allgemein ldd # 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 [:sudo:Root-Rechten] und übergibt den Pfad zur ausführbaren Datei des Programms. {{{#!vorlage Befehl # Allgemein sudo getlibs # 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. === Anhand des Namens des Paketes === 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. {{{#!vorlage Befehl # Allgemein sudo getlibs -p # Beispiel sudo getlibs -p libqt4-core libqt4-gui }}} === Anhand des Namens der Bibliothek === 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. {{{#!vorlage Befehl # Allgemein sudo getlibs -l # Beispiel sudo getlibs -l libogg.so.0 libSDL-1.2.so.0 }}} === Lokale 32-Bit-Bibliothek === Getlibs kann auch eine 32-Bit-Bibliothek, die man manuell aus den Paketquellen heruntergeladen hat, installieren. {{{#!vorlage Befehl # Allgemein sudo getlibs -i # Beispiel sudo getlibs -i libqt4-gui_4.3.2-0ubuntu3.2_i386.deb }}} === 32-Bit-Bibliothek aus Paketquelle herunterladen === Letztendlich kann man auch direkt Bibliotheken aus dem Internet herunterladen und gleich installieren lassen. {{{#!vorlage Befehl # 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 }}} == Optionen == {{{#!vorlage Tabelle <-4 tablestyle="width: 95%;" rowclass="titel">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 `lucid` oder eine andere Version gesetzt werden. Über Release wird bestimmt, welche Pakete heruntergeladen werden. Als Standard werden Bibliotheken passend zum System installiert. }}} = Links = * [http://ubuntuforums.org/showthread.php?t=474790 Thread auf ubuntuforums.org über den getlibs entstanden ist] {en} * [http://ubuntuforums.org/showthread.php?t=474790&page=31 Hinweis bezüglich der temporären Downloadmöglichkeit] {en} * [:64-Bit-Architektur:] {Übersicht} - Übersichtsartikel # tag: Installation, System