需要帮助

需要帮助

我终于将我的台式机从 Windows Vista 转换为 Lubuntu 13.04。尽管我花了整个下午在各种论坛上搜索,但还是无法让 unison 文件同步程序(版本 2.40.65)在 Lubuntu 机器上运行。

以下是基本设置:Lubuntu 台式机(DTM);Dlink 网络访问存储设备(NAS),它作为 /mnt/nas 安装在 DTM 上(在 fstab、cifs、默认值中)。

Unison 可以从 NAS 传输到 DTM。但是,如果在 DTM 上创建或更新文件,unison 无法传输到 NAS。它会创建一个新的文件 .unison。新文件.XXXX.unison.tmp 在 NAS 目标目录中具有正确的大小,但无法重命名。确切的错误消息是失败:消化 .unison 时出错。新文件.XXXX.unison.tmp .unison.新文件.XXXX.unison.tmp:权限被拒绝。如果我在 sudo 下运行 Unison,那么来自 DTM 的更改会传播到 NAS。但是,来自 NAS 端的更改会以 root 身份复制到 DTM,这给我带来了无穷的麻烦

顺便说一句,在我的旧 Windows Vista 上,我在 Cygwin 下运行 Unison,没有遇到任何问题。

非常感谢您的回答。谢谢。

答案1

我找到了答案。事实证明,这与 Unison 无关,但与 NAS 在本地 Linux 机器上的安装方式有关。

/etc/fstab,我用过

//192.168.1.61/Volume_1 /mnt/nas cifs defaults   0   0

现在我正在安装使用

//192.168.1.61/Volume_1 /mnt/nas cifs guest,rw,uid=1000,gid=1000,nounix,iocharset=utf8,file_mode=0644,dir_mode=0755 0 0

Unison 现在运行顺利。关键是挂载的uidgid应该与本地机器上的uid和相匹配gid,而使用该选项时情况并非如此defaults。因此 Unison 遇到了各种与权限相关的问题。

我希望这对遇到类似问题的其他人有所帮助。

答案2

还有一个可能值得分享的替代解决方案:如果您使用unison-dontchmod,对我来说运行良好。

请注意,您不能直接同步权限,并且需要另外指定-perms 0,至少对于我的版本而言unison

此外,如果我指定该标志,您的解决方案似乎会失败nounix。不过,这可能是由于我的设置。(我想将最后一部分作为评论,但我没有足够的代表)

相关内容