我使用redmine-git-hosting插件运行redmine服务器来控制git repos。存储库目录指向安装在/srv/share
的单独硬盘驱动器。现在设置正在改变,我试图将repos移动到另一台服务器上的nfs共享。
挂载工作正常,我只是将fstab文件中的条目从/etc/sdb1
替换为ip:/share
。现在我预先遇到了一些权限问题,因为redmine(用户www-data)和gitolite(用户git)同时访问了驱动器,所以我在整个驱动器上运行chmod -R 777
来处理这个问题。 / p>
我将Windows NFS服务器设置为相同的umask(由于某种原因,它已被倒置),实际上两个用户都可以读取和写入驱动器。但是现在当尝试使用redmine创建一个新的存储库时,会弹出错误500。无用的日志条目显示Rugged::NetworkError (unpacking the sent packfile failed on the remote):
现在已经在服务器上配置了git repos,当我尝试向其中一个提交内容时会弹出以下错误
Total 3 (delta 0), reused 0 (delta 0)
POST git-receive-pack (397 bytes)
remote: fatal: error when closing sha1 file: Permission denied
任何想法在这做什么?
nfs客户端,redmine和git服务器:ubuntu服务器14.04.4 LTS
nfs服务器:Windows Server 2012R2上的haneWin nfs服务器
答案 0 :(得分:1)
所以整个事情都很奇怪。最后,我使用了一个虚拟vdi磁盘,该磁盘存储在Windows服务器上的一个文件夹中,该文件夹由ubuntu通过SMB共享和挂载(至/srv/shareSMB
)。然后,ubuntu再次将vdi挂载到原始/srv/share
。这很有效。
我认为在文件结构,特别是链接方面,问题导致了unix和Windows世界之间的差异。 Gitolite似乎与链接相当多,可能是所有邪恶的根源,所有的gitolite回购都被破坏了,我需要重新安装它。