Ich habe ein paar 32-Bit-.elf- und .out-Dateien, die ich ausführen möchte, und zu diesem Zweck habe ich Ubuntu 13 64-Bit in VirtualBox installiert. (Ich hätte eine 32-Bit-Distribution vorgezogen, aber wegen des sehr eingeschränkten Internets musste ich auf dem Laptop meines Freundes herumstöbern und bekam nur das 64-Bit-ISO.) Mein Host-Betriebssystem ist Windows 10.
Wenn ich die Datei jedoch (über das Terminal) ausführe, erhalte ich die Fehlermeldung „Keine solche Datei oder kein solches Verzeichnis“. Ich kann mir die Details der Datei jedoch mit „file filename.elf“ ansehen.
Nach einer Google-Suche fand ich heraus, dass es daran lag, dass 32-Bit-Dateien ohne zusätzliche Bibliotheken nicht auf 64-Bit-Ubuntu ausgeführt werden konnten. Befolgen Sie einfach die Anweisungen hier:https://askubuntu.com/questions/454253/how-to-run-32-bit-app-in-ubuntu-64-bithat nicht ganz geklappt.
Keine der Bibliotheken schien richtig installiert zu werden. Beispiel: Beim Versuch „sudo apt-get install libc6:i386“ erhielt ich die Meldung „Paket libc6:i386 ist nicht verfügbar, wird aber von einem anderen Paket referenziert. Dies kann bedeuten, dass das Paket fehlt, veraltet ist oder aus einer anderen Quelle verfügbar ist. Es wird jedoch durch die folgenden Pakete ersetzt: libc-bin intscripts locales tzdata. E: Paket libc6 hat keinen Installationskandidaten“
Ich bin im Moment im Grunde verwirrt und es wäre großartig, wenn mir jemand eine sehr grundlegende und praxisnahe Erklärung geben könnte, wie man eine 32-Bit-ausführbare Datei auf einem 64-Bit-Ubuntu in VirtualBox zum Laufen bekommt.
Wenn dies nicht möglich ist, weisen Sie mich auf einen guten, leichten 32-Bit-Ubuntu-Emulator hin, der .elf- und .out-Dateien ausführen kann.
Antwort1
Tun
apt-get install libc6-i386
Referenz:So führen Sie eine 32-Bit-App in einem aktuellen 64-Bit-Ubuntu aus