pi@pi08:/mnt $ cat nfs.sh
#!/bin/bash
#vi ~/.profile
#if [ -f /mnt/nfs.sh ] ; then
# . /mnt/nfs.sh
#fi
SERVIP=10.10.141.30
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
NFS
ubuntu 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 10.10.15.0/24(rw,sync)
-----------------------
read write 모두 가능하고 nfs에서 동작하는 그대로 harddisk와 동기화시키겠다.
~$sudo service nfs-kernel-server restart
~$sudo exportfs
/srv/nfs 10.10.15.0/24(rw,sync)
라즈베리파이에서 NFS 설치 및 마운트 (파일 읽고 쓰기)
~$sudo apt-get install nfs-common nfs-kernel-server rpcbind
~$sudo mkdir /mnt/ubuntu_nfs
저장공간을 하나 만들어주는거임.( 마운트 포인트 라고도 함.)
~$sudo mount -t nfs 10.10.15.78:/srv/nfs /mnt/ubuntu_nfs //78:ubuntu서버 IP
~$df
-------------
10.10.15.78:/srv/nfs 153189376 11469824 133865472 8% /mnt/ubuntu_nfs
-------------
~$sudo cd /mnt/ubuntu_nfs ==> 10.10.15.50 서버의 /srv/nfs에 접속됨
ubuntu의 /srv/nfs/와 라즈베리파이의 /srv/nfs/가 연결되어 있다는걸 확인 가능함.
그래서 ubuntu에서 라즈베리파이용 arm파일로 컴파일 후 실행하면 라즈베리파이의 해당 공간에도 그 파일이 들어가 있음.
고로 그 위치로 가서 실행만 시켜주면 됨~
arm-linux-gnueabihf-gcc main.c -o main_arm
그런데 재부팅 되면 이 연결이 끊어짐.
그래서
pi@pi08:~ $ cat /etc/fstab
proc /proc proc defaults 0 0
PARTUUID=921b283c-01 /boot/firmware vfat defaults 0 2
PARTUUID=921b283c-02 / ext4 defaults,noatime 0 1
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
여기에 등록하면 부팅할때 자동으로 실행되도록 할 수가 있는데, 순서가 꼬여 네트워크 설정도 안됬는데 이걸 하고 있으면 부팅이 안됨. 고로 우리는 쉘스크립트로 명령어를 작성해서 실행시키도록 하겠다.
pi@pi08:~ $ sudo cat /mnt/nfs.sh
#!/bin/bash
#vi ~/.profile
#if [ -f /mnt/nfs.sh ] ; then
# . /mnt/nfs.sh
#fi
SERVIP=10.10.15.78
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/ubuntu_nfs
df | grep ubuntu_nfs
fi
fi
#!는 console bash 등 어떤 쉘로 해석할지를 정해주는거
server ip의 shell script ip주면됨
vi ~/.profile
G O누르고 마우스 오른쪽을 누르고 붙여넣기
제일 아래 부분이 추가한 부분
pi@pi08:~ $ cat ~/.profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
if [ -f /mnt/nfs.sh ] ; then
. /mnt/nfs.sh
fi
duplicate session해서 새로운 창 열어서 실행시킨 후에
df쳐보면 nfs가 실행중임을 확인할 수 있음.
NFS 마운트 해제
~$sudo umount /mnt/ubuntu_nfs
라즈베리파이의 하드 공간이 부족할 때, 사용해주면 좋다!
다만 네트워크로 연결되어 있으므로, 네트워크가 동작하는 상황에서 필요한 파일만 두고 쓰면 되겠다.
어느 순간
Linux pi08 6.1.0-rpi7-rpi-v7l #1 SMP Raspbian 1:6.1.63-1+rpt1 (2023-11-24) armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Feb 8 18:43:52 KST 2024 on tty1
mount: (hint) your fstab has been modified, but systemd still uses
the old version; use 'systemctl daemon-reload' to reload.
10.10.15.78:/srv/nfs 153189376 27384832 117949440 19% /mnt/ubuntu_nfs
df로 확인하면 mount는 되어있는데, 정작 해당 경로로 들어가서 ls하면 파일이 안보임.
이 오류가 떠서 그런거 같다고 판단은 하는데 이유는 모르겠음.
'Linux BSP' 카테고리의 다른 글
[Linux] Linux 명령어 (0) | 2024.02.01 |
---|---|
[Linux BSP] Linux 교차 개발 환경 세팅하기 (1) | 2024.01.31 |
[Linux BSP] VI, VIM 단축키 정리 (1) | 2024.01.31 |
[Linux BSP] Samba 설치해서 윈도우-우분투 간 공유폴더 사용하기 (0) | 2024.01.31 |
[Linux BSP] Raspberry Pi Image 세팅 (0) | 2024.01.31 |