Ich habe Ubuntu 14.04. Ich habe kürzlich Viber heruntergeladen . Die Viber-DEB-Datei weist eine 64-Bit-Architektur auf. Ich möchte es auf meinem Computer installieren, aber mein Computer unterstützt nur 32-Bit.
Die Ausgabe von running lscpu
ist wie folgt:
Architecture: i686
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 23
Stepping: 10
CPU MHz: 2800.000
BogoMIPS: 5586.12
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 2048K
software-installation
Ein Umar Mukthar
quelle
quelle
lscpu
in Terminal?Antworten:
Vorausgesetzt, Ihre Hardware unterstützt 64-Bit, was Folgendes bewirkt:
und das Paket wurde vorbereitet, um Multiarch zu verwenden, was auch zutrifft:
Sie können einfach die erforderlichen 64-Bit-Bibliotheken und Binärdateien installieren, die von dem Paket abhängen (dazu später nichts mehr), das Sie zum Ausführen der Anwendung benötigen, und zwar praktisch ohne Auswirkungen auf die Leistung. In meinem Fall habe ich das Paket einfach installiert:
Und dann begannen Probleme ...
Die Paketmanager entschieden, dass sie keine Abhängigkeiten für ihr Paket auflisten sollten.
was sie eigentlich brauchen:
Sie müssen also die fehlenden Bibliotheken manuell finden und installieren ! Dies ist einfach, wenn Sie die richtigen Werkzeuge kennen.
apt-file
Praktisch ist hier auch die http://packages.ubuntu.com-Funktionalität "Inhalte von Paketen durchsuchen". Aber ich ging voran und suchte nach ihnen:Diese Dateien sind bereits in meinem System installiert. Sie müssen nur den Paketnamen kopieren, der vor dem Doppelpunkt steht, der mit endet
amd64
. Sie sollten die Paketnamen wie folgt kopieren:Diese hatte ich nicht installiert, die ich mit erhalten
ldd /opt/viber/Viber | grep 'not found' | awk '{printf "%s$\n", $1}' | apt-file search -x -a amd64 -f - | sed 's/\:/:amd64:/'
:apt-file
Es war eine Zumutung, mir die 64-Bit-Pakete zu geben, also musste ichsudo apt-file -a amd64 update
sie zwingen, die 64-Bit-Dateiliste zu haben.Lassen Sie mich nun erklären, was alles oben steht:
ldd /path/to/binary
: Liest eine Binärdatei und teilt Ihnen mit, welche Bibliotheken, Symbole usw. benötigt werden.dpkg -S
: Suche nach Paketen, die eine bestimmte installierte Datei enthalten.awk
,sed
undgrep
: modifizieren den Textstrom, um nur die interessanten Teile zu verarbeiten oder die gewünschte Ausgabe anzuzeigen.|
,$(...)
: Die erste Rohrleitung zu einem anderen ermöglicht mir die Ausgabe eines Befehls, und die später ermöglicht es mir , einen Befehl auszuführen / bewerten , bevor die wichtigsten sind ausgeführt wird.TL; dr installiere einfach diese Pakete:
Sie müssen auch den 64-Bit-Kernel installieren.
quelle
sudo dpkg --add-architecture amd64
.Es ist nicht möglich, eine Software zu installieren, die unter einem 32-Bit-Betriebssystem nur 64-Bit-Arch unterstützt, wohingegen das Gegenteil der Fall ist. Um eine 64-Bit-Software zu installieren, benötigen Sie eine Hardware, die 64-Bit unterstützt, und ein darauf laufendes 64-Bit-Betriebssystem.
Ich möchte auch erwähnen, dass es nicht möglich ist, ein 64-Bit-Betriebssystem als virtuelle Maschine auf einer Hardware zu installieren, die nur eine 32-Bit-Architektur unterstützt. Ihre Hardware sollte die 64-Bit-Architektur zusammen mit der Virtualisierungsunterstützung unterstützen, um virtuelle 64-Bit-Maschinen zu erstellen.
quelle
Ich muss sagen, dass Sie nicht wahr sind
Entsprechend der Ausgabe
lscpu
Ihrer installierten Ubuntu-Version ist 32 Bit, während Ihr System 64-Bit-Anwendungen unterstützen kann. Wenn Sie 64-Bit-Anwendungen installieren möchten, müssen Sie 64-Bit-Versionen von Ubuntu OS installieren. siehe diese Zeilen unten:Laden Sie Ubuntu 14.04.1 (64 Bit) herunter und installieren Sie es. Installieren Sie dann auch Viber .
quelle
Sie können 64-Bit-Software auf einem Computer mit 32-Bit-Hardware genauso installieren wie beispielsweise ARM-Software auf einem x86-Ziel mithilfe dynamischer Übersetzung.
Grundsätzlich befindet sich eine Software wie qemu zwischen den Programmen und Ihrem Computer und führt eine Übersetzung vom AMD64-Befehlssatz zum x86-Befehlssatz (wahrscheinlich i686) durch ( was in Ihrem Fall allerdings sehr schwerwiegend sein könnte) völlig vermeidbar).
Unter der Voraussetzung, dass Sie Ubuntu verwenden, verfügen Sie über eine hervorragende Dokumentation zur Einrichtung . Grundsätzlich haben Sie eine von zwei Möglichkeiten: Sie können das Programm entweder in einer vollständigen 64-Bit-VM-Umgebung mit eigenem Kernel ausführen oder, wie ich finde, in der User-Space-Visualisierung Thunking verwenden (ich glaube nicht, dass dies üblich ist) Heutzutage Thunking genannt, aber vergessen Sie das neue Wort), um Systemaufrufe von 64 Bit auf 32 Bit zu übersetzen, damit Sie Ihren eigenen Kernel verwenden können.
Jetzt erklärt der Leitfaden dies besser als ich, aber kurz gesagt, Sie müssen qemu und die Pakete qemu-kvm-extras-static installieren und dann mit dem qemu-debootstrap eine Umgebung und Bibliotheken für Ihr 64-Bit-Programm einrichten. Dann müssen Sie binfmt_misc und den statischen qemu-Interpreter (qemu-arch-static, in Ihrem Fall wahrscheinlich x86_64, x64 oder AMF64) verwenden, um Ihr Programm in seiner Umgebung auszuführen.
Beachten Sie jedoch, dass Ihre CPU offenbar 64-Bit-Anweisungen unterstützt, sodass Sie möglicherweise 64-Bit-Ubuntu installieren können. Sie können x86-Code ohne Emulation auf einem AMD64-Computer ausführen. Wenn Sie dies tun können, ist dies möglicherweise einfacher. Wenn Sie andererseits qemu und die Welt der Architekturemulation entdecken möchten (möglicherweise später, wenn Sie ein Programm erstellen lassen, für das beispielsweise ... ARM erstellt wurde, z. B. für ein Telefon), empfehle ich Ihnen, weiterzumachen, aber seien Sie vorsichtig Manchmal dauert es ein bisschen, bis die Dinge richtig funktionieren.
quelle
Lesen Sie mehr über 32-Bit- (x86) und 64-Bit-Anwendungen:
http://www.techsupportalert.com/content/32-bit-and-64-bit-explained.htm
Manchmal ist es möglich, dass eine Anwendung oder ein einzelnes Paket [eine .deb-Datei] nach der Installation als beides fungiert.
dh
x86 app on x86 OS
undx64 app on x64 OS
quelle
x86 application on x64 OS
.Wenn Sie ein 32-Bit-System verwenden
sudo dpkg --force-architecture -i viber.deb
link: Wie installiere ich Viber auf Ubuntu 13.10, 32bit
quelle