场景:公司有一台内网的机器用来共享文件,这里面的磁盘都是T级以上,平时大家都是把文件存储到这台电脑上,确保公司的资源安全。如果要用脚本来处理文件,就需要挂载到内网的linux服务器上。 linux的mount命令就是用来挂载磁盘的,下面是本人在内网linux服务器上,将window的共享文件夹挂载到服务器上的命令 sudo mount //192.168.0.183/corpus/static /mnt/static -t cifs -o username=账户,password=密码,gid=用户,uid=用户组 其中: -t cifs: 文件系统类型 -o:即option,指定后面的为参数 username,password:共享文件夹那台机器的用户,密码 gid, uid:挂载的用户组和用户名,也就是挂载后该文件夹的所有者和用户组 在Ubuntu16.04上,完美解决,没有报错。 但是,在wsl环境上就没有那么顺利了 首先是,遇到报错: mount: /mnt/static: unknown filesystem type'cifs'. 依据报错,猜测是系统没有安装相关的依赖包。 那就满足它,安装呗 sudo apt install cifs-utils OK,再次执行挂载命令,输出以下结果 ![]() surprised,没想到吧,一切都没那么的顺利。 报错信息说系统不支持cifs的文件系统,最后还提示用man mount.cifs查看 ![]() 查看说明大概得知,cifs只支持linux系统,而wsl并非真正的Linux,其内核还是window的内核,wsl其实就是把linux命令翻译成window内核能够读懂的命令,所以此方式是行不通的。 那就通过其他方式呗,wsl是可以挂载本机电脑D盘和C盘的,那么我们能不能把共享文件映射到我们本地电脑上呢?然后再间接挂载。 理论上是可以的,尝试以下呗,步骤: 打开我的电脑 ![]() 点击 映射网络驱动器,输入共享文件夹地址 ![]() 输入密码 ![]() 点击确认就OK了。 然后再将本地电脑映射的磁盘挂载到wsl sudo mount Y: /mnt/static -t drvfs -o gid=用户组,uid=用户 OK,完成。 ---------------------------------------------------------------------------------------------------------------------- 我们尊重原创,也注重分享,文章来源于微信公众号:日常bug,建议关注公众号查看原文。如若侵权请联系qter@qter.org。 ---------------------------------------------------------------------------------------------------------------------- |