コマンドとバイナリが存在しますが、実行できません。

コマンドとバイナリが存在しますが、実行できません。

あるLinuxサーバーから別のLinuxサーバーにファイルを転送していますが、/etc/*奇妙なエラーが発生します。どちらもDebianスクイーズです。

たとえば、コマンドを実行するとsshエラーが発生します。

bash: /usr/bin/ssh: そのファイルやディレクトリはありません。

バイナリが存在するようです。

-rwxr-xr-x 1ルートルート358756 9月21日14:30 /usr/bin/ssh

ssBashはまた、私が入力してを押すとコマンドを自動補完しますTab。再インストール、削除などを試しましたが、何も解決しませんでした。以下にキャッシュされているものがあるかもしれませんが、/etc/正確に何がわかりません。

ベストアンサー1

私の考えではjim parisでコメントそうだね指定されたファイルが存在してもそのファイルの動的ローダが存在しない場合は、「該当するファイルまたはディレクトリが存在しません」というメッセージが表示されます。一般的なシナリオは、カーネルがサポートしているがユーザー領域システムをサポートしていない他のアーキテクチャでバイナリを実行しようとすることです。通常、32ビットライブラリがインストールされていない64ビットシステムの32ビットバイナリです。バラより64ビットシステムで32ビットバイナリを実行すると「見つかりません」メッセージを受信するイベントの詳細な説明です。

ここでは、/usr/bin/ssh新しいシステムの他の場所にインストールされたライブラリを使用できます。ダイナミックリンカのキャッシュファイルをコピーしたため、/etc/ld.so.cacheダイナミックリンカは存在しない場所でライブラリを探しています。キャッシュを更新するには実行してくださいldconfig

また、有効になっている可能性があります。フリーリンク。その場合は削除してください/etc/prelink.cache

おすすめ記事