nfs-utils 설치

이번 시간에는 임베디드 리눅스 시스템을 개발하면서 꼭 필요한 nfs를 설치해 보겠습니다. 처음부터 제 글에 따라 리눅스를 설치하셨다면 바로 yum install 을 이용하여 설치하시면 되겠습니다. 그러나 이미 다른 작업을 하신 경우가 있을 것 같아서 혹시 설치가 되어 있지 않는지부터 확인해 보겠습니다.

]# rpm -qa | grep nfs
]# yum install nfs-utils       -> rpm -qa로 확인했지만 출력되는 내용이 없다면 설치합니다.
Loaded plugins: refresh-packagekit
updates-newkey                                                        | 2.3 kB     00:00     
Not using downloaded repomd.xml because it is older than what we have:
  Current   : Wed Jan  7 22:23:27 2009
  Downloaded: Fri Nov 21 04:37:48 2008
updates                                                               | 2.6 kB     00:00     
fedora                                                                | 2.4 kB     00:00     
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package nfs-utils.i386 1:1.1.2-7.fc9 set to be updated
--> Processing Dependency: nfs-utils-lib >= 1.1.0-3 for package: nfs-utils
--> Processing Dependency: libgssglue.so.1(libgssapi_CITI_2) for package: nfs-utils
--> Processing Dependency: libevent-1.3e.so.1 for package: nfs-utils
--> Processing Dependency: rpcbind for package: nfs-utils
--> Processing Dependency: libgssglue.so.1 for package: nfs-utils
--> Processing Dependency: libevent for package: nfs-utils
--> Processing Dependency: libnfsidmap.so.0 for package: nfs-utils
--> Processing Dependency: librpcsecgss.so.3 for package: nfs-utils
--> Processing Dependency: libgssglue for package: nfs-utils
--> Running transaction check
---> Package libgssglue.i386 0:0.1-6.fc9 set to be updated
---> Package nfs-utils-lib.i386 0:1.1.1-5.fc9 set to be updated
---> Package libevent.i386 0:1.3e-2.fc9 set to be updated
---> Package rpcbind.i386 0:0.1.7-1.fc9 set to be updated
--> Processing Dependency: libtirpc.so.1 for package: rpcbind
--> Running transaction check
---> Package libtirpc.i386 0:0.1.10-1.fc9 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================
 Package                Arch          Version                  Repository               Size
=============================================================================================
Installing:
 nfs-utils              i386          1:1.1.2-7.fc9            updates-newkey          292 k
Installing for dependencies:
 libevent               i386          1.3e-2.fc9               fedora                   48 k
 libgssglue             i386          0.1-6.fc9                updates-newkey           22 k
 libtirpc               i386          0.1.10-1.fc9             updates-newkey           78 k
 nfs-utils-lib          i386          1.1.1-5.fc9              updates-newkey           60 k
 rpcbind                i386          0.1.7-1.fc9              updates-newkey           51 k

Transaction Summary
=============================================================================================
Install      6 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)         

Total download size: 552 k
Is this ok [y/N]: y      <--- y 키를 누름
Downloading Packages:
(1/6): libgssglue-0.1-6.fc9.i386.rpm                                  |  22 kB     00:01     
(2/6): libevent-1.3e-2.fc9.i386.rpm                                   |  48 kB     00:00     


(3/6): rpcbind-0.1.7-1.fc9.i386.rpm                                   |  51 kB     00:01     
(4/6): nfs-utils-lib-1.1.1-5.fc9.i386.rpm                             |  60 kB     00:02     
(5/6): libtirpc-0.1.10-1.fc9.i386.rpm                                 |  78 kB     00:01     
(6/6): nfs-utils-1.1.2-7.fc9.i386.rpm                                 | 292 kB     00:03     
---------------------------------------------------------------------------------------------
Total                                                        9.4 kB/s | 552 kB     00:58     
===================================== Entering rpm code =====================================
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : libgssglue                                                            1/6 
  Installing     : libtirpc                                                              2/6 
  Installing     : rpcbind                                                               3/6 
  Installing     : nfs-utils-lib                                                         4/6 
  Installing     : libevent                                                              5/6 
  Installing     : nfs-utils                                                             6/6 
===================================== Leaving rpm code ======================================

Installed:
  nfs-utils.i386 1:1.1.2-7.fc9                                                               

Dependency Installed:
  libevent.i386 0:1.3e-2.fc9       libgssglue.i386 0:0.1-6.fc9 libtirpc.i386 0:0.1.10-1.fc9
  nfs-utils-lib.i386 0:1.1.1-5.fc9 rpcbind.i386 0:0.1.7-1.fc9 

Complete!
]# 

nfs 환경 설정

EZ 보드에서 nfs 영역으로 마운트할 수 있도록 nfs 환경을 설정해 주어야 합니다. /etc/exports를 다음과 같이 수정한 후 저장합니다.

]# vi /etc/exports
/home/jwjw 192.168.10.*(rw,sync,no_root_squash)      <--- 딱 행 하나

그리고 부팅하면 nfs 서버가 실행되는 것이 좋겠습니다. 역시 이런 작업은 ntsysv를 이용하는 것이 편합니다.

]# ntsysv

ntsysv를 실행한 후 nfs를 체크하여 줍니다.

nfs 서버 실행

아래와 같이 nfs start를 실행하여 nfs서버를 실행할 수 있습니다.

]# /etc/init.d/nfs start

때로 nfs start 실행으로 네트워크가 끊기는 경우가 있더군요. 텔넷으로 작업하다가 start에서 더이상 작업이 진행되지 않는다면 리눅스를 재부팅하십시오. 이미 ntsysv를 이용하여 자동으로 실행하도록 손을 써 두었기 때문에 부팅하면 자동으로 nfs 서버가 실행됩니다. 재부팅도 얼마나 빠른지 제 컴퓨터에서는 1분도 안 걸리는 것 같습니다. ^^

EZ-보드에서 NFS 서버로 연결

EZ 보드를 부팅하시고 mount 를 실행하여 NFS 서버의 공유 디렉토리를 마운트하십시오.

ARM Linux
falinux login: root
]$ mount -t nfs -o nolock 192.168.10.50:/home/jwjw /mnt/nfs
]$ cd /mnt/nfs
]$ ls -al
drwx------    5 500      500          4096 Jan 11  2009 .
drwxr-xr-x    9 1007     1001         1024 Apr 14  2008 ..
-rw-------    1 500      500          1425 Jan 11  2009 .bash_history
-rw-r--r--    1 500      500            18 Feb 29  2008 .bash_logout
-rw-r--r--    1 500      500           176 Feb 29  2008 .bash_profile
-rw-r--r--    1 500      500           168 Jan  8  2009 .bashrc
drwxr-xr-x    2 500      500          4096 Apr  6  2008 .gnome2
drwxrwxr-x    2 500      500          4096 Jan 11  2009 prjs
drwxrwxr-x    2 500      500          4096 Jan 11  2009 temp

이렇게 파일 목록이 출력되면 작업 완료!!