ubuntu nfs配置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
以前配置好了NFS,不过很久都没用.因我自己做的jffs2文件系统出了问题,经过多次的写-删除操作后不能再写入了,以前一直是在一个目录下下载/删除试验程序,每次下载的程序文件都会删除并下重新下载新编译的程序,也就是说开发板系统并没有增加文件,但是现在下载程序文件或mkdir时都提示没有空间了.可能是文件系统有点问题.
所以觉得还是通过NFS连到主机开发测试方便,主机编译好的程序不需要下载到开发板,这样既方便不少,又减少了读写FLASH的次数,有利于延长FLASH 的寿命.而且相对于下载到RAM里重启丢失,NFS的文件在主机不受影响.
今天挂载NFS的时候没有成功,出现了各种错误,有网络连的问题,这一方面可能是我现在换了主板而虚拟机系统仍是另一台主板上安装的那个系统,因两个主板的网卡不同可能引起这些问题.另一方面以前是直接用网线连接主机可开发板,而现在是使用一个路由器连接,这样解决了主机连接开发板就不能上网的问题.但是因原来的IP是192.168.10.X,而现在的路由器设置的是192.168.1.X,网段不同了.主机系统的配置文件需要更改.
由于上次配置的时间有点久了,都忘了怎么弄了.网上这方面的文章很多,于是把我的配置过程记录下来作为备忘吧,免得下次又要到处查文章.
1. sudo apt-get install nfs-kernel-server
会自动安装nfs-common和portmap
2. 配置portmap:
2.1. 编辑/etc/default/portmap, 将-i 127.0.0.1 去掉.
2.2. 配置/etc/hosts.deny,禁止任何host能和你的NFS服务器进行NFS连接,加入:
--------------------------------------------------
### NFS DAEMONS
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
--------------------------------------------------
2.3. 配置/etc/hosts.allow,允许那些你想要的主机和你的NFS服务器建立连接。
下列步骤将允许任何IP地址以192.168.1开头的主机(连接到NFS服务器上),也可以指定特定的IP地址。加入:
--------------------------------------------------
### NFS DAEMONS
portmap: 192.168.1.110
lockd: 192.168.1.110
rquotad: 192.168.1.110
mountd: 192.168.1.110
statd: 192.168.1.110
--------------------------------------------------
3. 配置/etc/exports
要将/work/armnfs目录让192.168.1.*的IP共享, 则在该文件末尾添加下列语句:
/work/armnfs *(rw,sync,no_root_squash)
运行$ sudo exportfs -r 更新。
--------------------------------------------------
这里如果指定ip范围,mount测试的时候得到"权限不够"的错误
/work/armnfs 192.168.1.*(rw,sync,no_root_squash)
--------------------------------------------------
4. 运行$ showmount -e 查看NFS server的export list.
5. 运行$ sudo /etc/init.d/nfs-kernel-server restart 重启nfs服务
6. 测试NFS
可以尝试一下挂载本地磁盘(假设本地主机IP地址为:192.168.1.100,将/work/ armnfs挂载到/mnt)
$ sudo mount 192.168.1.100:/work/armnfs /mnt
运行$ df 看看结果
$ sudo umount /mnt
注意被拷贝文件的读/写权限!
另外, 可以使用一定的参数:
使用加参数的办法:mount -o nolock,rsize=1024,wsize=1024,timeo=15 192. 168.2.130:/tmp/ /tmp/
我用开发板挂载的时候发现需要加上-o nolock参数,使用如下命令:
mount -o nolock -t nfs 192.168.1.101:/work/armnfs /tmp
挂载时的一些错误如下:
[root@(none) /]# mount -t nfs 192.168.1.101:/work/armnfs /tmp
mount: 192.168.1.101:/work/armnfs fanfs warning: mount version older tha n kernel
NFS: mount program didn't pass remote address!
iled, reason given by server: Permission denied
mount: nfsmount failed: Bad file descriptor
mount: Mounting 192.168.1.101:/work/armnfs on /tmp failed: Invalid argum ent
[root@(none) /]# mount -t nfs 192.168.1.101:/work/armnfs /tmp
nfs warning: mount version older than kernel
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
lockd_up: makesock failed, error="-5"
portmap: server localhost not responding, timed out