Ich habe eine 64-Bit-Version von Ubuntu 13.10. Ich möchte eine 32-Bit-Version eines Programms ausführen. Allerdings sehe ich ia32-libs
nicht in 13.10 enthalten. Gibt es dafür ein Ersatzpaket oder was?
41
Ich habe eine 64-Bit-Version von Ubuntu 13.10. Ich möchte eine 32-Bit-Version eines Programms ausführen. Allerdings sehe ich ia32-libs
nicht in 13.10 enthalten. Gibt es dafür ein Ersatzpaket oder was?
Antworten:
Das
ia32-libs
Paket wird nicht mehr benötigt (um genau zu sein seit 12.04). Wenn Sie das APT-System verwenden, müssen Sie sich keine Gedanken mehr über die Installation von 32-Bit-Paketen in einem 64-Bit-System machen. Dies geschah seit der Einführung von Multiarch , einer der wichtigsten Debian-Richtlinien, die sich auf die Art und Weise auswirken , wie Debian mit Abhängigkeiten umgeht . Diese Methode erlaubt es, verschiedene binäre Ziele im selben System zu haben, ohne Rücksicht auf die Kernel-Architektur. Dies bedeutet nicht, dass Sie jedes 32-Bit-Paket ohne Vorbereitung ausführen können. Wenn Sie jedoch die Bibliotheken / Binärdateien installieren, sollten theoretisch alle Anwendungen ausgeführt werden können. Dies gilt von 64-Bit bis 32-Bit und umgekehrt.Für die Verwendung einer solchen Methode wird die Verwendung der APT-Manager empfohlen, um unerfüllte Abhängigkeiten zu vermeiden. Das Changelog enthält einen kleinen Verlauf darüber, wie die Änderungen vorgenommen wurden:
ia32-libs
zupackage:arch
seinpackage
der Name der Bibliothek benötigt undarch
die Architektur (unten ein Beispiel mit Skype ist).ia32-libs-multiarch
Paket aus den Vorveröffentlichungen entfernt undia32-libs
nicht auf freche Weise veröffentlicht. Alle Ubuntu-Pakete sind Multiarch-fähig und Sie können verschiedene Architekturpakete auf Ihrem System installieren.Wenn Sie jetzt ein Paket installieren, das 32-Bit-Binärdateien benötigt, werden Sie nie erfahren, dass Sie ein 32-Bit-Paket verwenden, da der Paketmanager automatisch die erforderlichen Abhängigkeiten abruft:
Beachten Sie, dass Skype ein i386-Paket ist. Wenn ich es mit apt-get installiere, erspare ich mir später Kopfschmerzen.
Aber manche Leute bevorzugen es,
.deb
Pakete zu verwenden und sich dann darauf einzustellen, weil es etwas chaotisch werden kann. Sie sollten alle Abhängigkeiten vorher manuell installieren, damit Ihr System nicht mit nicht erfüllten Abhängigkeiten endet. Ein Befehl, der hilft, ist,dpkg-deb -I
da er die Informationen des Pakets anzeigt:Wie Sie sehen, werden die Abhängigkeiten aufgelistet, so dass Sie nur
sudo apt-get install
diese und dann müssensudo dpkg -i
. Ziehen Sie es vor, Software von den Repositorys zu installieren, anstatt sie herunterzuladen und manuell mit zu installierendpkg -i
.Wenn es sich bei Ihrer Bibliothek um eine Entwicklungsbibliothek handelt, können Sie sie jetzt mithilfe der
apt-get
Syntax installieren . Fügen:i386
Sie einfach die Bibliothek hinzu , die Sie herunterladen möchten, und fertig. Dies muss nicht manuell erfolgen, wenn Sie die Software aus den Repositorys installieren.Fazit: Nein, Sie können 32-Bit-Pakete ohne Installation ausführen
ia32-libs
, wenn Sie die Pakete aus den Repositorys installieren, noch besser. Wenn Sie in der Entwicklung sind, versuchen Sie immer, das APT-System zu verwenden.quelle
Denken Sie daran, die i386-Architektur hinzuzufügen, da Sie sonst keine 32-Bit-Pakete installieren können:
Überprüfen Sie die Anleitung zur Fehlerbehebung im Paket: https://help.ubuntu.com/community/PackageManagerTroubleshooterProcedure
quelle
apt-get install libc6:i386
undapt-get install libgtk2.0-0:i386
(letzteres, weil es eine GTK-App ist).