셋톱의 OS는 linux 파일시스템(ext 계열)을, 개발자 환경이 windows 파일시스템(ntfs)일 경우 원활한
개발/적용을 위한 공유 설정입니다.
1. ext와 NTFS 파일시스템 공유
1.1. 준비물
1.1.1. 셋톱(NFS client가 설치된 상태) : 예) IP - 192.168.10.55
1.1.2. Windows OS(NTFS 파일시스템 사용, 셋톱과 연결, USB 드라이버 설치, com 포트 연결 설정 완료된
상태) : 예) IP - 192.168.10.51
1.1.3. cygwin_setup.exe
1.2. 설치
1.2.1. cygwin_setup.exe 파일을 다운받는다.
1.2.2. cygwin_setup.exe 를 실행한다.(디폴트 c:cygwin 에 설치한다.)
1.2.3. 기본 설치 패키지에 추가로 아래 항목을 install한다.
1.2.3.1. Admin - cygrunsrv
1.2.3.2. Editors - vim
1.2.3.3. Libs - sunrpc
1.2.3.4. Net - nfs-server
1.3. 환경설정
1.3.1. NFS server(Windows)
1.3.1.1. Windows Services 설치
1.3.1.1.1. cygwin 실행
1.3.1.1.2. /usr/bin/nfs-server-config 실행
1.3.1.1.3. 질문에 모두 yes, account 입력란에는 administrator/암호 입력
1.3.1.2. 공유할 디렉토리 생성
[생략]1.3.1.2.1. mkdir -p /share/runner/bin ; 탐색기에서 확인시 c:cygwinsharerunnerbin 디렉토리가 생성된다.
1.3.1.2.1. mkdir -p /share/apps ; 탐색기에서 확인시 c:cygwinshareapps 디렉토리가 생성된다.
1.3.1.3. 네트워크
1.3.1.3.1. vi /etc/exports ; 공유할 디렉토리의 접근 가능한 클라이언트를 설정한다. 아래와 같이 추가
입력하고 저장, 종료한다.
# NFS settings
[생략]/share/runner/bin 192.168.10.55(rw, no_root_squash)
/share/apps 192.168.10.55(rw, no_root_squash) //IP를 입력하지 않으면 모든 클라이언트를 허용합니다.
1.3.1.3.2. vi /etc/hosts.allow ; 서버에 접근 가능한 클라이언트(셋톱IP)를 설정한다. 아래와 같이
추가 입력하고 저장, 종료한다.
nfsd: 192.168.10.55
1.3.1.3.3. vi /etc/hosts.deny ; 서버에 접근 불가능한 클라이언트를 설정한다. 해당 목록이 없으나
파일은 생성한다. 저장, 종료한다.
1.3.1.3.4. vi /etc/hosts ; IP와 domain 연결을 위한 정보(NFS server IP)를 설정한다.
아래와 같이 확인하고 필요시 추가 입력하고 저장, 종료한다.
127.0.0.1 localhost
192.168.10.51 localhost
1.3.1.4. NFS 서버 구동
1.3.1.4.1. 제어판-관리도구-서비스 에서 아래 항목들을 모두 "시작"한다.
Cygwin mountd
Cygwin nfsd
Cygwin portmap
1.3.2. 셋톱(STB)
1.3.2.1. 공유 디렉토리 생성
[생략]1.3.2.1.1. mkdir /mnt/hd/mw_mhp/apps/111/11/0/ ; runner 의 Windows
파일시스템과 연결할 디렉토리를 생성한다.
1.3.2.1.2. mkdir /mnt/hd/mw_mhp/apps ; apps 의 Windows 파일시스템과 연결할 디렉토리를 생성한다.
1.3.2.2. 공유 디렉토리 마운트
[생략]1.3.2.2.1. mount -t nfs -o nolock 192.168.10.51:/share/runner/bin
/mnt/hd/mw_mhp/apps/111/11/0/ ; runner 의 Windows 파일시스템의 공유 디렉토리와
마운트한다.
1.3.2.2.2. mount -t nfs -o nolock 192.168.10.51:/share/apps
/mnt/hd/mw_mhp/apps ; apps 의 Windows 파일시스템의 공유 디렉토리와 마운트한다.
1.3.2.2.3. 위 마운트 디렉토리 내용 중 111/12 은 hex 코드이며 실제 int 값은 /237/17/ , /237/18/ 이다.
1.4. 테스트
1.4.1. 탐색기에서 c:cygwinshareapps 디렉토리에 임의의 파일을 복사해 넣는다.
1.4.2. 셋톱에서 ls -alF /mnt/hd/mw_mhp/apps 입력하여 1.4.1.에서 복사한 파일이 있는지 확인한다.