質問: そのようなファイル、又はディレクトリはありません?しかし、ファイルは存在します! ゲーム(shank)をダウンロードしましたが、binファイルが実行されません。実行可能ファイルを起動しようとすると表示されるエラーは次のとおりです。bash: ./shank-linux-120720110-1-bin: no such file or directory
回答: おそらく、32ビットサポートがインストールされていない64ビットシステムで32ビットバイナリを実行しようとしています。「no such file or directory」というメッセージが表示される場合が3つあります。 ファイルが存在しません。ファイルが存在することを確認したと思います(おそらく、シェルがそれを完了したためです)。 その名前のファイルがありますが、それはぶら下がるシンボリックリンクです。 ファイルが存在し、それを読み取ることもできます(たとえば、コマンドfile shank-linux-120720110-1-binは「elf 32-bit lsb executable...」のようなものを表示します)、それでも実行しようとすると、ファイルが存在しないことが通知されます。 この最後のケースのエラーメッセージは明らかに紛らわしいです。あなたが言っていることは、プログラムを実行するために必要なランタイム環境の重要なコンポーネントが欠落しているということです。残念ながら、エラーが報告されるチャネルにはエラーコードのスペースのみがあり、実際に原因となるのはランタイム環境であるという追加情報のためのスペースはありません。この説明のテクニカルバージョンが必要な場合は、 64ビットシステムで32ビットバイナリを実行しているときに「not found」メッセージが表示される をお読みください。fileコマンドは、このバイナリが何であるかを示します。いくつかの例外を除き、ubuntuのリリースが対象としているプロセッサアーキテクチャのバイナリのみを実行できます。主な例外は、64ビット(amd64、別名x86_64)システムで32ビット(x86、別名ia32)バイナリを実行できることです。11.04までのubuntuでは、64ビットインストールで32ビットバイナリを実行するには、install ia32-libs package 。追加のライブラリをインストールする必要がある場合があります(インストールすると、明示的なエラーメッセージが表示されます)。11.10(oneiric)で multiarch サポートが導入されたため、ia32-libsをインストールできますが、よりきめの細かいアプローチを選択できます。 libc6-i386 = (およびその他の必要なライブラリ)。