Win10 Mount NFS

为了统一开发环境,统一使用开发服务器开发,工程师只需要mount到开发机获取代码开发即可,无需搭建开发环境

需求:
- 区分大小写
- win10 mount NFS
- 自动化脚本

安装 NFS client

为了自动化,这里需要用到一个命令 DISM(镜像部署及管理工具,用于windows安装镜像的自动部署、修改)
以管理员身份打开CMD

# dism 镜像路径 动作 动作参数
# online 是指当前系统
dism /online /Enable-Feature /FeatureName:ServicesForNFS-ClientOnly /FeatureName:ClientForNFS-Infrastructure /FeatureName:NFS-Administration /NoRestart

挂载 NFS

NFS服务器配置

假设NFS服务器是192.168.3.33

#/etc/exports
/home/htdocs  192.168.0.0/16(rw,sync,no_root_squash)

Win10 mount NFS

新开一个CMD(无需管理员身份,若以管理员身份则无法在我的电脑显示,因为挂在到不同账号了)

# 列出可mount的路径
showmount -e 192.168.3.33

# mount /home/htdocs 到 Z:
mount -o nolock -o casesensitive=yes \\192.168.3.33\home\htdocs Z:

解决权限问题

下载 clientfornfs.reg

# clientfornfs.reg
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default]
"AnonymousGID"=dword:00000000
"AnonymousUID"=dword:00000000

以管理员身份打开CMD,导入注册表,并重启 NFS client

regedit /s clientfornfs.reg
nfsadmin client stop
nfsadmin client start
umount Z:
mount -o anon -o nolock -o casesensitive=yes \\192.168.3.33\home\htdocs Z:

mount 参数

-o nolock``` 不锁定文件

-o fileaccess=755``` 区分大小写

最终代码

下载 win10-mount-nfs.bat

代码顶部有三个变量
SET NFS_PATH="\\192.168.3.33\home\htdocs"
SET MOUNT_PATH="Z:"
SET USER="username"