EDA365电子论坛网

标题: ubuntu nfs服务器 [打印本页]

作者: ulppknot    时间: 2020-3-30 11:04
标题: ubuntu nfs服务器

, j& D" p* S) I: `0 n& U5 N# _建立 nfs 服务器  $ q% Y# y, ?0 k  z* F, J
        在嵌入式 linux 开发的时候,常常需要使用 nfs 以方便程序的调试。使用 nfs,用户可以9 `# Y* E( V/ d' }0 \3 @9 @1 Q/ Z( `
将板子要用到的根文件系统放在主机目录下,开发板则通过以太网挂载到这个目录并将这个
2 j# l( i( D! N: L$ R目录下的文件作为根文件系统的内容,这样用户的程序更新后不比重新烧写板子的根文件系
  i3 _& r! n. }! _统便能被重新使用,这点能够大大加快程序的调试。
; E& E. U' c/ u0 d$ t- _$ Q4 ~Ubuntu 下安装 nfs 服务器的步骤如下:
7 i) c; ]+ g/ B8 t( y0 A4.3.1 进行 NFS 服务器端与客户端的安装: ) G' F2 I- P1 e/ k5 X. S$ f& ^3 m
sudo apt-get install nfs-kernel-server   nfs-common   portmap
) @  k/ q4 Y4 ?, {% ^; d安装客户端的作用是可以在本机进行 NFS 服务的测试。
. f/ U9 {2 G3 i4.3.2 配置 portmap
4 ?- Z" e. B4 U, r两种方法任选一种就可以: % P0 C! h: \; q  ]' \4 C  [
(1):sudo emacs /etc/default/portmap / j* u. l4 R  n% w0 Q* R- V
去掉  -i 127.0.0.1   
7 Y8 f. \5 y( F! P8 `  R; [8 B" J(2)sudo dpkg-reconfigure portmap   ! L: z3 i. u1 B3 X1 b
运行后选择“否”
; N6 I4 f" x4 B" G; A0 h另外很重要的一点,要用 sysv-rc-conf  (而不是 chkconfig)工具查看一下当前 nfs 和 portmap, q8 q! X  ~6 d) A$ e
的状态,若是 off,则用 sudo sysv-rc-conf portmap on  或 sudo sysv-rc-conf nfs-kernel-server on+ o) i2 v6 D- o
打开
' J' B* t3 M5 F- E1 D4.3.3 配置挂载目录和权限 0 k& p  I- |/ J- E
emacs /etc/exports
$ s) t2 S. m2 Z7 r! j) W/ N我的配置如下:   i+ u; p0 X" B# J
# /etc/exports: the access control list for filesystems which may be exported / J/ C  d% e5 V( s) w( e' G8 O
#  to NFS clients.   See exports(5). " T) c- ^3 ^4 g0 i5 b; v
# % X- z( b! i& k3 g7 _2 R& q
# Example for NFSv2 and NFSv3:
; P; n' W; L1 K7 i6 W3 k$ N# /srv/homes        hostname1(rw,sync) hostname2(ro,sync) 6 I( `! [1 K& c: P& B+ [
# ; R( p4 z1 @5 D6 o: L
# Example for NFSv4: / S0 c- k0 z, M& d$ {
# /srv/nfs4         gss/krb5i(rw,sync,fsid=0,crossmnt)
. l7 ]+ [; s( |% Y1 s/ L# /srv/nfs4/homes   gss/krb5i(rw,sync)
! T- D. D7 z" E4 t& ~& T# 0 B, \. N4 `  D/ X  z! z
/nfsboot *(rw,sync)
* u0 N% i. W5 @& N# j+ `# ]  r' ^解释一下: % Z% D; x5 D" n" l! v1 B5 R0 ^
#后面的都是解释 , ?1 ~( d. f8 ?/ T) p; H' V5 X
/nfsboot 是 NFS 的共享目录,*表示任何 IP 都可以共享这个目录,你可以改为受限的 IP,rw0 _# f+ ~0 A: C. S
表示的是权限,sync 是默认的。 5 `8 M" M4 D, ], [
4.3.4 更新 exports 文件 9 Z2 E+ ]4 @6 m% A
只要你更改了/etc/exports,  你不可以通过 sudo exportfs -r  来更新  这个文件
" S2 J2 p. t+ h: W# s  d4.3.5 重启 NFS 服务
, x) [# k0 l; f: rSudo /etc/init.d/portmap start- b1 c5 S' R1 G! B- g9 v
sudo /etc/init.d/nfs-kernel-server restart  重启 nfs 服务
" c0 f! t1 u) N7 A# s0 w" [/ x" d9 A4.3.6 进行测试
8 u: i$ [: H' T) a- ]尝试一下挂载本地磁盘(我的 linux 系统 IP 为 202.198.137.18,将/home/nfsboot 挂载到/mnt)   
/ p8 W& \$ z3 g! l- F! |$ sudo mount 202.198.137.18:/nfsboot /mnt   
/ E6 n' @! u6 Y' T% C; ]7 C运行  $ df  看看结果   % K; C& M! o, M% v; J! x" `
$ sudo umount /mnt
作者: yin123    时间: 2020-3-30 18:55
ubuntu nfs服务器




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2