我正在使用rsync
WSL (Debian) 将 NAS 盒中安装的卷安装到我的 Windows 10 笔记本电脑上。在 Debian shell 中,我安装共享驱动器卷并运行rsync
以确保所有源文件 (vol1) 都存在于目标 (vol2) 中。
rsync -av --ignore-existing /mnt/vol1 /mnt/vol2
在目标端运行命令后,我有一个完整的文件夹结构,但没有任何文件本身被复制。我将结果定向到一个文件中,并看到这些文件作为输出的一部分包含在内,但实际上并未复制它们。相同的命令在我的 Mac 终端上运行没有问题,但我更喜欢在我的笔记本电脑上工作,所以真的希望能够通过 WSL 进行这种存储管理。
我认为这是 Windows 的权限问题,因为我在 WSL 端遇到故障:
rsync:mkstemp“文件路径”失败:不允许操作(1)
使用 SMB 挂载时,WSL 端的权限是否有修复?我使用安装卷
mount -t drvfs X: /mnt/s
最后,我确实使用 sudo 作为rsync
命令,最终得到相同的结果。
答案1
听起来你正在遇到一种表现形式这。总而言之,目标驱动器以 root 身份安装,因此您在那里没有权限。正如此处所述,解决方案很简单sudo mount -t drvfs X: /mnt/s -o uid=1000,gid=1000
(如果不同,则将 1000 替换为您的 uid/gid)。
在没有安装选项的情况下亲自尝试,我能够重现您的问题。当我将安装选项添加到目标驱动器时,它对我来说工作正常。