32 ビット カーネルを使用する x86_64 上の Linux で直接行うことはできません。 64 ビット コードを実行するには、64 ビット カーネルが必要です。 (注:カーネル。64 ビット カーネルで 32 ビットのユーザーランドを実行し、64 ビット バイナリのサポートをインストールできます。これがどれほど簡単かは、ディストリビューションによって異なります。Debian の例はこちらです。)
一部の仮想化ソフトウェアはそれを行うことができ (使用している CPU の種類に制限があります)、エミュレーターもそれを行うことができます。ただし、ネイティブで実行するには、64 ビット カーネルが必要です。
ほとんどの 64 ビット ディストリビューションは 32 ビットをサポートしているため (デフォルトまたはインストール可能)、同じ OS で 64 ビットと 32 ビットの両方のバイナリを実行する必要がある場合は、32 ビットを使用する必要があります。
@Mat の回答の拡張:
はい、一部の仮想化ソフトウェアで実行できます。対処すべき主な障害は、32 ビット環境では CPU の 64 ビット機能が利用できず、64 ビット カーネルの機能も利用できないことです。お使いの CPU に ある場合でも同様です。 64 ビットのサポート (2003 年頃から、すべてがサポートしています)。
あなたの質問は、あなた自身のシステム環境で 64 ビット アプリを実行したいことを暗黙のうちに述べています。それが本当にあなたの意図である場合、これはすべての仮想マシン ベースのソリューションを除外します。私が知っている唯一の残りは、qemuのカーネルエミュレーションです。そう:
qemu-x86_64 ./your_64bit_app
現在のカーネルと現在の環境変数を使用して、現在のシステムでアプリを実行します .もちろん、それほど高速ではありません。CPU をエミュレートする必要があります。
Linux x86-64 アプリのみをエミュレートできます。