web-dev-qa-db-ja.com

マウントされたドライブから実行可能ファイルを実行する方法は?

ハードドライブのマウントされたパーティションにEclipseワークスペースを作成しました。 Hello Worldプログラムを正常にビルドできますが、実行可能ファイルを実行しようとすると、次のエラーメッセージが表示されます。

Error starting process. Exec_tty error:Cannot run program
"/media/vineet/DEVDATA1/vinexpMount/Debug/vinExpeMount": Unknown
 reason Exec_tty error:Cannot run program
"/media/vineet/DEVDATA1/vinexpMount/Debug/vinExpeMount": Unknown
reason Exec_tty error:Cannot run program
"/media/vineet/DEVDATA1/vinexpMount/Debug/vinExpeMount": Unknown
 reason

私は何をすべきか教えてください?実行可能ファイルの権限を確認しました

-rw-r--r--

つまり、実行する権限がありません。しかし、ルートパーティションにワークスペースを作成すると、デフォルトで実行権限が付与されます。ここで同じ動作をするために何をしますか?

4
bubble

これはコメントのはずですが、私には書き込み権限がないようですので、事前に申し訳ありません。

ターミナルでmountコマンドを実行しようとしましたか?このプログラムは、システム内のすべてのマウントポイントの出力を生成します。出力の各行の終わりに、マウントフラグが括弧内にリストされます。マウントポイントにnoexecフラグが設定されているかどうかを確認します。

その場合、次のコマンドで変更できます(たとえば、ドライブが/mnt/cdromにマウントされていると仮定します)。

Sudo mount -o remount,exec /mnt/cdrom

マウントされたドライブがWindowsパーティション(つまり、NTFSファイルシステムでフォーマットされたパーティション)である場合、この post で説明されているように、実行可能ドライブをマウントできます。

6
bender

私の解決策は、別のパスに再マウントすることです:

$ Sudo umount /dev/sdf
$ Sudo mount -o exec,defaults,-default_permissions /dev/sdf ~/usbdrive

マウントされたすべてのドライブをリストします。

$ cat /proc/mounts
1
AlexLeo

Linuxリンカーを使用すると、実行可能権限に関係なく、マウントオプションを次のように変更することなく、任意のファイルを実行できます。

/lib/ld-linux.so.2 /path/to/binary-file

または、64ビットシステムの場合:

/lib64/ld-linux-x86-64.so.2 /path/to/binary-file