ハードドライブのマウントされたパーティションに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--
つまり、実行する権限がありません。しかし、ルートパーティションにワークスペースを作成すると、デフォルトで実行権限が付与されます。ここで同じ動作をするために何をしますか?
これはコメントのはずですが、私には書き込み権限がないようですので、事前に申し訳ありません。
ターミナルでmount
コマンドを実行しようとしましたか?このプログラムは、システム内のすべてのマウントポイントの出力を生成します。出力の各行の終わりに、マウントフラグが括弧内にリストされます。マウントポイントにnoexec
フラグが設定されているかどうかを確認します。
その場合、次のコマンドで変更できます(たとえば、ドライブが/mnt/cdrom
にマウントされていると仮定します)。
Sudo mount -o remount,exec /mnt/cdrom
マウントされたドライブがWindowsパーティション(つまり、NTFSファイルシステムでフォーマットされたパーティション)である場合、この post で説明されているように、実行可能ドライブをマウントできます。
私の解決策は、別のパスに再マウントすることです:
$ Sudo umount /dev/sdf
$ Sudo mount -o exec,defaults,-default_permissions /dev/sdf ~/usbdrive
マウントされたすべてのドライブをリストします。
$ cat /proc/mounts
Linuxリンカーを使用すると、実行可能権限に関係なく、マウントオプションを次のように変更することなく、任意のファイルを実行できます。
/lib/ld-linux.so.2 /path/to/binary-file
または、64ビットシステムの場合:
/lib64/ld-linux-x86-64.so.2 /path/to/binary-file