1

我在 Ubuntu 10.10 中使用 EclipsePHP,并尝试使用 Mercurial (HG) 来处理位于我的联网登台服务器(samba 共享)上的存储库。

当尝试从 Eclipse(hg status真的)中刷新存储库时,我收到以下错误:abort: Operation not permitted: /media/sharename/myrepository/.hg/.dirstate*.

在试图找出问题所在的同时,我从终端转到网络共享并写道hg status- 发生了同样的错误,所以它不仅发生在 Eclipse 中。我测试了来自我的计算机和服务器的文件的 CHMOD chmod 777 /media/sharename/myrepository/ -R- 没有任何变化。

但是当我不小心sudo hg status从 repo 目录中运行时,Mercurial 启动了烟花并像魅力一样工作。

我的电脑到底出了什么问题?hg为什么我不能在没有 root 身份的情况下运行我的命令?

4

2 回答 2

4

您可以像这样安装网络驱动器。打开 /etc/fstab/,然后输入以下行。

//IP_OR_HOSTNAME/DIRECTORY_NAME /MOUNT_DIRECTORY cifs user=sambauser,pass=sambapassword,auto,exec,umask=002,gid=1000,uid=1000,file_mode=0777,dir_mode=0777 0 0

希望它有效。

于 2011-06-28T04:33:33.803 回答
3

我猜 chmod 在这里帮不了你。服务器端的所有权和权限不会复制到客户端(服务器上没有 unix 扩展),或者两台机器之间的 UID/GID 不同。您可以通过以下方式安装时覆盖文件所有权:

mount -t cifs //SERVER/SHARE /MOUNTPOINT -o uid=USERNAME

虽然这是凭记忆,请查看 man mount.cifs 了解详细信息。此外,在这种情况下,像 NFS 这样的替代网络文件系统可能会更好地为您服务,或者尝试 sshfs。

于 2011-02-06T18:42:05.450 回答