윈도우 - 리눅스간 파일 공유 시스템에 samba가 있다면
리눅스 - 리눅스간 파일 공유 시스템엔 NFS가 있다
리눅스에서 NFS 설정 (서버)
$ sudo apt-get install nfs-common nfs-kernel-server rpcbind
$ sudo mkdir /srv/nfs
$ sudo chmod 777 /srv/nfs
$ sudo vi /etc/exports
/srv/nfs ***.***.***.***/**(rw,sync)

파일의 맨 마지막에 해당 코드를 작성한다
/srv/nfs는 공유할 디렉토리 경로
***.***.***.***/**은 네트워크와 호스트 주소로 클라이언트의 IP주소를 작성하면 된다
한명에게만 공유하고자 한다면 클라이언트 IP를 그대로 작성해주고, 여러명에게 공유하고자 한다면
네트워크주소.0/넷마스크 주소로 설정해주면 된다
괄호 안은 옵션인데
- rw: 읽기/쓰기 권한을 부여합니다.
- ro: 읽기 전용 권한을 부여합니다.
- sync: 변경 사항을 즉시 디스크에 동기화합니다.
- no_subtree_check: 서브트리 검사를 비활성화하여 성능을 향상시킵니다.
네개 중 넣고 싶은 옵션을 나열하면 된다
$ sudo service nfs-kernel-server restart
실행 후, 위 코드를 입력하면

적용된 것을 확인할 수 있다
라즈베리파이에서 NFS 설정 (클라이언트)
$ sudo apt-get install nfs-common nfs-kernel-server rpcbind
$ sudo mkdir /mnt/ubuntu_nfs // 폴더 생성
$ sudo mount -t nfs 서버IP주소:/srv/nfs /mnt/ubuntu_nfs // 생성한 폴더를 공유 폴더로 마운트
$ df

마운트된 것을 확인할 수 있고 폴더에 들어가면 파일을 추가하거나 삭제, 수정하면 폴더가 공유된 것을 확인할 수 있다
$ sudo umount /mnt/ubuntu_nfs
마운트를 해제하려면 위와 같이 umount 해주면 된다
마운트 자동화
NFS를 설정해도 클라이언트는 재부팅할 때마다 mount를 반복해줘야 하는 귀찮음이 있다
그러면 부팅할 때 자동으로 마운트가 되게하면 되지 않을까? -> 실행 순서에 따라 부팅이 안될 가능성이 존재한다
그렇기 때문에 쉘 스크립트를 통해 부팅 시, 서버가 켜져있으면 마운트하고 켜져있지 않으면 마운트하지 않게 하려고 한다
// /mnt
vi nfs.sh
#!/bin/bash
#vi ~/.profile
#if [ -f /mnt/nfs.sh ] ; then
# . /mnt/nfs.sh
#fi
SERVIP=서버IP
if ! df | grep lect_nfs > /dev/null ; then
ping -c 1 $SERVIP > /dev/null
if [ $? -eq 0 ] ; then
sudo mount -t nfs $SERVIP:/srv/nfs /mnt/lect_nfs
df | grep lect_nfs
fi
fi
위와 같이 쉘스크립트를 생성한다
vi ~/.profile
if [ -f /mnt/nfs.sh ]; then
. /mnt/nfs.sh
fi

이렇게 설정해주면 재부팅 할때마다 마운트가 된다

이런식으로 프린트가 되면 마운트가 된 것이당
2024.02.19 추가
접속할 때 비밀번호 입력하라고 뜨면
$ sudo vi /etc/sudoers.d/010_ubuntu-nopasswd
ubuntu ALL=(ALL) NOPASSWD: ALL
해당 내용을 추가하자 그러면 비밀번호 입력이 안뜬다
'임베디드 > Linux BSP' 카테고리의 다른 글
| 디바이스 파일 (0) | 2024.03.06 |
|---|---|
| 디바이스 드라이버 (1) | 2024.03.05 |
| 크로스 컴파일러 (0) | 2024.02.05 |
| Linux SMB (samba) (1) | 2024.02.04 |
| 리눅스와 라즈베리파이를 ssh으로 접속하기 (0) | 2024.02.03 |