안드로이드 소스코드를 편집하고 검색하기 위해서 Eclipse 를 많이 씁니다.
그런데, 안드로이드 빌드는 우분투에서 이루어지기 때문에 개인PC가 우분투를 쓰지 않는다면 작업용 개인PC 와 빌드용 우분투서버를 따로 구성해야 합니다.
빌드서버를 개인이 독점해서 사용한다면 개인PC 에 X서버를 설치하고 우분투에서의 Eclipse 를 띄워서 사용하면 되지만 빌드서버를 공유해서 써야 한다면 소스코드를 개인PC 에서 볼 수 있는 방법이 필요합니다.
이때 쓸 수 있는 것이 NFS 입니다. (삼바도 사용가능하지만 작은 파일들이 많으면 속도가 너무 느려져서 사용하기가 곤란합니다.)
개인PC 에서 윈도우를 쓰고 있다면 별도로 NFS 클라이언트용 서비스를 설치해야 합니다.
이 글에서는 사용자가 Windows 7 Ultimate 을 이용하고 있다고 가정합니다.
Windows 7 Ultimate 에 다음 서비스를 설치합니다.
- Windows Update - 설치된 업데이트 - Windows 기능 사용/사용 안 함 - NFS용 클라이언트와 관리도구
- Windows Update - 설치된 업데이트 - Windows 기능 사용/사용 안 함 - UNIX 기반 응용 프로그램용 하위 시스템
빌드서버에 접속해서 자신의 계정의 UID 와 GID 가 무엇인지 확인합니다.
regedit 를 실행해서 다음 경로의 DWORD 32bit 키를 만들고 10진수 값으로 UID 와 GID 를 설정합니다.
- HKEY_LOCAL_MACHNINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default
- AnonymousGid
- AnonymousUid
이제 커맨드 라인에서 다음과 같이 NFS 공유디렉토리를 드라이브로 마운트합니다. (여기에서는 m: 드라이브로 합니다.)
- mount -o nolock -o casesensitive=yes -o fileaccess=766 \\192.168.0.x\{NFS 공유디렉토리} m:
- nolock 은 파일을 오픈할 때 락을 걸지 말라는 뜻으로 파일접근속도를 높이기 위함입니다.
- casesensitive=yes 는 대소문자 구분을 하라는 뜻입니다.
- fileaccess=766 은 파일생성시 권한을 뜻합니다.
mount 라고 쳐보면 현재 마운트된 상황이 나오므로 확인이 가능합니다.
한글로 된 파일명을 만들 때에는 문제가 발생하는데 윈도우의 NFS Client 서비스가 아직 UTF-8 을 지원하지 않기 때문입니다.
기본으로 마운트할 경우 KSC5601 을 쓰게 되니 한글로 된 파일명은 쓰지 않는 것이 좋습니다.
참고로, 다음과 같은 내용으로 .cmd 파일을 만들어두고 탐색기나 시작메뉴에 링크만들어
시작메뉴에서 클릭하면 자동으로 NFS 드라이브를 마운트합니다.
- cmd /s /k "umount m: & mount -o nolock -o casesensitive=yes -o fileaccess=766 \\192.168.0.x\{NFS 공유디렉토리} m: & mount"
[내용추가]
윈도우에서 언마운트를 하지 않는 채 시스템종료를 하게 되면 나중에 부팅했을 때 마운트된 드라이브가 사용할 수도 없고 언마운트도 되지 않는 상황이 되네요.
윈도우 메뉴에서 gpedit.msc 를 실행한 다음 첨부된 그림처럼 로그오프 스크립트를 등록하면 해결됩니다.
로그오프시에 umount 시키면 되는 것인데요.
그림에 나와있는 umount_m.cmd 의 내용은 다음과 같습니다.