Das ia32-libs
Paket ist in Ubuntu 12.04-Repositories für ein 64-Bit-System nicht mehr enthalten. Gibt es Ersatzpakete zum Herunterladen?
Das ia32-libs
Paket ist in Ubuntu 12.04-Repositories für ein 64-Bit-System nicht mehr enthalten. Gibt es Ersatzpakete zum Herunterladen?
Antworten:
Das Paket ia32-libs war ein Hack, um 32-Bit-Pakete auf einer 64-Bit-Installation zu installieren. Seit Ubuntu Version 11.10 (Oneiric) wurde Multi Arch hinzugefügt. Eines der Ziele ist das Entfernen des ia32-libs
Pakets. Stattdessen müssen Sie die 32-Bit-Bibliotheken eines Pakets installieren mit:
sudo apt-get install package-name:i386
Bei Paketen in den Standard-Repositorys (z wine
. B. dem Paket) müssen Sie sich darüber keine Gedanken machen . Bei externer Software ist dies etwas schwieriger, da die Abhängigkeiten manuell ermittelt werden müssen. Verwenden Sie in diesem Fall Ihre bevorzugte Suchmaschine, um die von Ihnen benötigten Bibliotheken zu finden.
Es scheint, dass ia32-libs immer noch existieren, aber nur als Hilfspaket, um gängige 32-Bit-Bibliotheken einzuschließen. Dieses Paket verwendet jetzt Multi Arch, um die 32-Bit-Pakete korrekt zu installieren.
ldd
, übergibt einen Pfad zur Binärdatei als Argument. Wenn die Ausgabe eine Zeile wie enthält libz.so.1 => not found
, müssen Sie finden libz.so.1
. Sie können packages.ubuntu.com verwenden oder apt-file search
das Paket suchen, das diese Datei enthält. In dem Beispiel, das ich gegeben habe, müssen Sie installieren zlib1g:i386
.
package-name
durch den tatsächlichen Namen ersetzen . Verwenden Sie, ldd
um herauszufinden, siehe den zweiten Kommentar oben.
Das ia32-libs
Paket wurde komplett durch ersetzt lib32z1 lib32ncurses5 lib32bz2-1.0
. Dies sollte kein Problem sein, da die Funktionalität nur in anderen Paketen noch vorhanden ist. Wir leben jedoch nicht in einer idealen Welt, in der alle ihre Pakete warten und die gesamte Software FLOSS ist. Einige Pakete sind daher immer noch von der ia32-libs abhängig.
Es gibt zwei Möglichkeiten:
ia32-libs
. (bevorzugt)Ich werde den Citrix-Empfänger als Beispiel verwenden, aber Sie können diese Methode für jedes DEB-Paket verwenden:
Laden Sie zuerst das .deb-Paket für citrix receiver von der Website herunter und führen Sie das Hacken in einem temporären Verzeichnis durch.
mkdir ica_temp
Packen Sie das Paket aus
dpkg-deb -x icaclient_13.0.0.256735_amd64.deb ica_temp
dpkg-deb --control icaclient_13.0.0.256735_amd64.deb ica_temp/DEBIAN
Öffne die Datei in gedit (oder deinem Lieblingseditor)
sudo -H gedit ica_temp/DEBIAN/control
Suchen Sie die Zeile, die mit beginnt Depends:...
. entfernen ia32-libs
und hinzufügenlib32z1 lib32ncurses5 lib32bz2-1.0
Erstellen Sie das geänderte Paket neu
dpkg -b ica_temp icaclient-modified.deb
Und installiere es
sudo dpkg -i icaclient-modified.deb
sudo apt-get install -f
Die Installation des Citrix-Empfängers erfordert auch einige Hacking. Die vollständigen Installationsanweisungen finden Sie im Ubuntu-Wiki
Sie können dies mit jedem alten .deb-Paket tun, das noch von ia32-libs abhängt.
Bitte beachten Sie, dass es sehr schlecht ist, alte Pakete zu installieren! Leider haben Sie für einige Binärinstallateure keine andere Wahl.
Sie können das Paket ia32-libs aus dem Raring-Repository herunterladen . Laden Sie es herunter und installieren Sie es manuell. Anschließend sollten die Abhängigkeiten aufgelöst werden.
Ich habe gelesen, dass Sie das ia32-libs-multiarch
Paket stattdessen installieren sollen . Allerdings hat es bei mir nicht geklappt und ich bekomme diesen Fehler
ia32-libs-multiarch:i386 : Depends: libgphoto2-2:i386 but it is not going to be installed.
Die Lösung, die für mich funktionierte, bestand darin, die folgenden Pakete zu installieren:
sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386
Wenn Sie diese Fehlermeldung erhalten, versuchen Sie Folgendes:
sudo apt-get update
Dann versuchen Sie es noch einmal:
sudo apt-get install ia32-libs
Ich habe gerade eine Neuinstallation von 12.04 durchgeführt, dieses Paket ist noch in den Repositories verfügbar. Tatsächlich habe ich diesen Fehler selbst erhalten, bevor ich update ausgeführt habe. Danach hat es gut funktioniert.
Ich glaube, dieser spezielle Anwendungsfall wurde durch die Pakete "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2" ersetzt. Dies ist wahrscheinlich eine spezifischere und nützlichere Antwort als "Sie können Multi-Arch verwenden".
Ich habe die ia32-libs folgendermaßen installiert (ich starte Ubuntu 13.04 Raring Ringtail auf einem 64-Bit-Rechner):
Eigene Architektur prüfen:
$ dpkg --print-architecture
Überprüfen Sie, ob eine fremde Architektur installiert ist:
$ dpkg --print-foreign-architectures
Abhängig von den Ergebnissen der beiden obigen Befehle funktionieren möglicherweise die folgenden drei Befehle (in meinem Fall hat die Verarbeitung viel Zeit in Anspruch genommen):
$ sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install ia32-libs
Package ia32-libs is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: lib32z1 lib32ncurses5 lib32bz2-1.0