2015-02-05 7 views
1

여러 대의 컴퓨터에서 필자가 작성한 코드를 거의 실행하지 않아야하고 완료되면 (컴파일 및 실행 완료) 코드가 해당 컴퓨터에 존재하지 않는다고 가정합니다.
이전에 나는 파이썬으로 작성된 코드로이를 수행 할 수있었습니다. 파이썬 코드를 펜 드라이브 안에 넣고 직접 펜 드라이브에서 실행합니다.USB pendrive에서 c 코드를 실행하는 방법은 무엇입니까?

나는 내 펜 드라이브 (5A30-C211) 안에 배치 된 파이썬 코드가 있다고합니다.

/media/5A30-C211$ python sample_code.py 

출력을 얻을 수있었습니다 (/media/5A30-C211은 제 펜 드라이브였습니다). 하지만 지금은 C 코드가 있습니다. 그리고 내가 같은 일을 할 때 C 코드. 내가 단어 Permission denied을 본대로

/media/5A30-C211$ gcc sample_code.c -o sample_code 
/media/5A30-C211$ ./sample_code 
bash: ./sample_code: Permission denied 

, 내가 컴파일하고 실행 명령에 sudo을 추가했다. 출력은 command not found입니다.

질문은 다음과 같습니다 내가 파이썬 함께했던 것처럼 sudo를 사용하지 않고 USB 플래시 스틱/펜 드라이브에서 C 코드를 실행할 수있는 방법은 무엇입니까?

+0

이 장치의 파일 시스템은 무엇입니까? –

+0

죄송합니다. 찾으시는 방법을 알려주세요.? – arvindh

+0

나는 'blkid' 명령을 사용했습니다. 내가 얻은 것은''vfat "' – arvindh

답변

0

컴파일 된 프로그램을 실행하려면 파일에 실행 권한이 설정되어 있어야합니다. 여기서 문제는 pendrive가 vfat로 포맷되어 있다는 것입니다. vfat는 Windows 환경에서 제공되는 FS입니다. 따라서 Unix 권한 시스템에 대한 지원이 없으며 파일에 대한 실행 권한을 설정할 수 없습니다.

  • 형식 ext4에 같은 유닉스 FS로 pendrive :

    당신은 당신의 문제를 해결하기 위해 두 가지 옵션이 있습니다.

  • PC의 임시 폴더에 프로그램을 복사하고 실행 권한 (chmod + x)을 부여한 다음 나중에 제거하십시오.
1

파일에 실행 권한 (chmod +x)이 필요하지만 posix 권한을 지원하지 않는 vfat 드라이브를 실행 중이므로 chmod는 작동하지 않습니다.

적절한 권한으로 드라이브를 다시 마운트해야합니다.

mount -t vfat -o umask=022,gid=<users group id>,uid=<user id> \ 
    /dev/<pendrive device> /mnt/<pendrive mnt point>