私のaarch64コンピュータにNavicat(x86-64バイナリ)をインストールしようとしていますが、「バイナリを実行できません:Exec形式エラー」が発生します。
file
実行ファイルを実行した結果は次のとおりです。
navicatess15-sqlserver-en.AppImage: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, BuildID[sha1]=d629f6099d2344ad82818172add1d38c5e11bc6d, stripped
これは私のものですuname -a
:
Linux penguin 4.19.98-08076-g24ab33fb8e14 #1 SMP PREEMPT Wed Apr 1 17:17:36 PDT 2020 aarch64 GNU/Linux
私のコンピュータでこの実行可能ファイルを実行する方法はありますか?
(これはどのような違いがあるのかわかりませんが、OP1プロセッサを搭載したSamsung Chromebook PlusでLinuxを実行しています。)
答え1
答え2
Debianはマルチアーキテクチャのサポートこれは、あるアーキテクチャ用に構築されたプログラムを別のアーキテクチャにインストールして実行できることを意味します。
しかし、、次の要素を考慮する必要があります。
x86アーキテクチャはARMとは非常に異なるため、これは
qemu-user
エミュレーション(通常はエミュレーションを介して)を介して実行されるため、一部の速度と機能が失われる可能性があります。これには
binfmt
サポートが必要です。次の説明に従ってChromebookでLinuxコンテナ(crostinit)を使用する場合この投稿、このサポートは有効になっていません。Chromebookでは
binfmt
現在サポートが必要です。crouton
効果があるそしてこれに関して何が期待できるのか。
これをテストするには、次のコマンドを実行します。
ㅏ。アーキテクチャをサポートするために必要なバイナリをインストールします。
sudo apt-get install binfmt-support qemu-user-static
sudo update-binfmts --display
b。複数のアーキテクチャをサポートするようにDebianを設定します。
sudo dpkg --add-architecture amd64
sudo apt-get update
sudo apt-get upgrade
氏。テストを見てください。 (そうでないと仮定するとすでにhello
そのアーキテクチャのパッケージはすでにインストールされていますaarch64
。 )
sudo apt-get install hello:amd64
hello
その後、バイナリを使っておなじみの「Hello、World!」amd64
メッセージが印刷されます。