sudo apt-get install nfs-kernel-server
sudo apt-get install nfs-common
sudo vi /etc/exports
在最后添加如下并保存退出
/home/xiaowu/nfs 192.168.31*(rw,sync,no_root_squash,no_subtree_check)
/home/xiaowu/nfs:这是要共享的目录。
192.168.31*:表示这个共享对所有IP地址的192.168.31为开头开放,其他地址开头就不能访问获取共享。
rw:允许读写访问。
sync:写请求会同步地写入硬盘,这意味着写操作会在数据完全写入硬盘后才返回完成状态。
no_root_squash:远程以root用户访问时,保持其root权限,这可以提高灵活性,但可能带来安全风险。
no_subtree_check:禁用子树检查,这通常可以提高性能,尤其是对于大型文件系统。
sudo exportfs -r
sudo showmount localhost -e
补充 exportfs命令
exportfs -a 全部挂载或者全部卸载
exportfs -r 重新挂载
exportfs -u 卸载某一个目录
exportfs -v 显示共享目录
sudo /etc/init.d/nfs-kernel-server restart
ifconfig
ping 192.168.31.130
mount -t nfs -o nolock 192.168.31.130:/home/xiaowu/nfs /mnt/
原因是:nfs 默认就只支持协议3和协议4,但是 uboot 默认启动的是协议2,需要配置文件为支持协议2
解决办法:
需要在/etc/default/nfs-kernel-server末尾加一句:RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog",保存退出,重启一下 nfs : service nfs-kernel-server restart;
sudo vi /etc/default/nfs-kernel-server
RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"
service nfs-kernel-server restart
解决方法:加了两个参数-o nolock,nfsvers=3,vers=3
mount -t nfs -o nolock,nfsvers=3,vers=3 192.168.31.130:/home/xiaowu/nfs /mnt/
umount -v /mnt/
/mnt :开发板挂载的目录
umount命令
-a:卸除/etc/mtab中记录的所有文件系统;
-h:显示帮助;
-n:卸除时不要将信息存入/etc/mtab文件中;
-r:若无法成功卸除,则尝试以只读的方式重新挂入文件系统;
-t<文件系统类型>:仅卸除选项中所指定的文件系统;
-v:执行时显示详细的信息;
-V:显示版本信息。