가상 환경을 통한 Ubuntu 개발환경 구축(3) - NFS

mommers·2026년 3월 12일

Linux

목록 보기
54/59

[이전 글] : 가상 환경을 통한 Ubuntu 개발환경 구축(2) - Putty


  • 일단 부팅 시 --- 표시가 뜨던 것을 먼저 수정

sudo vi /mnt/mount.sh

안에 코드와 ---를 같이 넣어줬어서 출력됐었습니다.

폰트 다운받아서 적용해 준 후, oh-my-bash에서 powerline 적용 시 글자 깨짐 문제 해결

잘 나오는것을 확인할 수 있습니다.


NFS 설정

교수님 Ubuntu -> 내 Ubuntu로 마운트,
내 Ubuntu -> 내 RaspberryPi로 마운트를 해주려 합니다.

전자의 과정으로 NFC Client
후자의 과정으로 NFC Server에 대한 과정을 정리해보겠습니다.


NFS Server

제 Ubuntu에서 라즈베리파이로 NFS 서버를 열어주기 위해 아래와 같은 과정을 거칩니다.

$ sudo apt-get install nfs-common nfs-kernel-server rpcbind -y	#패키지 설치
$ sudo mkdir /srv/nfs					#공유할 디렉토리 생성
$ sudo chmod 777 /srv/nfs

$ sudo vi /etc/exports					#nfs 환경 설정에 아래 내용 추가

/srv/nfs        10.10.16.0/24(rw,sync)

sudo systemctl restart nfs-kernel-server		#nfs 재시작
sudo exportfs				#공유된 디렉토리 확인

# 결과 : /srv/nfs        10.10.16.0/24

이제 /srv/nfs 로 공유할 파일들을 옮겨주면 공유가 가능합니다.


NFS Client

$ cd /mnt
$ sudo mkdir nfs				#마운트 포인트 디렉토리생성	
$ sudo chmod 777 nfs				#접근 권한 설정
$ sudo mount -t nfs 10.10.16.XX:/srv/nfs nfs  	#nfs 서버 연결 (XX : 서버주소)
$ df									#연결 확인
10.10.16.XX:/srv/nfs 153188352 12944384 132389888    9% /mnt/nfs

라즈베리파이 환경에서 아래와 같이 /mnt/nfs 디렉토리를 추가하고, nfs에 일단 확인용으로 sudo chmod 777 nfs로 모든 권한을 부여해줍니다.

이후 Ubuntu의 IP주소인 10.10.16.35:/srv/nfs 폴더에 마운트해주면

  • 라즈베리파이의 /mnt/nfs 디렉토리와
  • Ubuntu의 /srv/nfs 디렉토리가 공유됩니다.

$ cd /mnt/nfs
$ touch aa.txt					#파일 생성 확인

테스트용으로 라즈베리파이에서 touch aa.txt를 이용해 파일을 만들고, Ubuntu의 /srv/nfs 디렉토리에서 폴더 목록을 확인

aa.txt 가 추가된 것을 확인할 수 있습니다.

$ sudo umount /mnt/nfs			#마운트 해제
$ df				     		#마운트 해제 확인

nfs mount 자동화 쉘 프로그램 작성

$ vi ~/.profile		#제일 아래 추가
-----------------------------------------
if [ -f /mnt/mount.sh ]; then
        . /mnt/mount.sh
fi
-----------------------------------------

$ sudo vi /mnt/mount.sh 아래내용 복사
-----------------------------------------
#!/bin/bash
SERVIP=10.10.16.XX                   #XX : ubuntu nfs host ip
if ! df | grep nfs > /dev/null ; then
        ping -c 1 $SERVIP > /dev/null
        if [ $? -eq 0 ] ; then
                sudo mount -t nfs $SERVIP:/srv/nfs /mnt/nfs
                df | grep nfs
        fi
fi
-----------------------------------------

$sudo vi /etc/sudoers.d/01_ubuntu_nopasswd   #sudo 명령 암호 입력  생략 환경 설정
-----------------------------------------
ubuntu    ALL=(ALL) NOPASSWD:/usr/bin/mount
-----------------------------------------

putty로 로그인시 자동 nfs 마운트 확인
$ df 
10.10.16.XX:/srv/nfs  30267392 118908  42% /mnt/nfs

# C프로그램  ctags 파일 만들기
$ sudo apt-cache search ctag   	# 검색 ctag 문자열 포함된 패키지 목록 보기
$ sudo apt install universal-ctags vim	#패키지 설치
$ cd /usr/include/
패키지 설치
$ sudo ctags -R			#tags 파일 생성
$ ls -l tags
-rw-r--r--  1 root root 12990677  73 11:35 tags

$vi ~/.vimrc    #아래 내용 추가
=================
set tags+=/usr/include/tags
=================

profile
임베디드 개발자가 되기 위해 공부중입니다!

0개의 댓글