首先,设置。我正在Windows Server 2012上运行haneWin nfs服务器,在启动时将其挂载到具有此fstab条目的{umbntu服务器~ip~:/sharenfs /srv/share nfs rw 0 0
中
umask在windows服务器上设置为000,这确实导致ubuntu上的每个用户都拥有对整个共享的rw访问权。
现在问题出在这里:我想使用nfs共享来存储我们所有的git repos,以便windows服务器可以将它们与所有数据一起备份。在早期的设置中,ubuntu主机提供了一个完美的nfs共享,但出于存储原因,Windows服务器应该托管共享。
git repos应该由redmine自动创建,在nfs更改之前工作正常,但现在它只是无声地失败。日志不提供任何有用的信息。
但是这里确实提供了一些信息,如果我在nfs共享上创建一个新目录,运行git init,会出现以下内容:
error: could not lock config file /srv/share/git/metatest/test1/.git/config: File exists
... (this line shows a total of 6 times)
error: could not lock config file /srv/share/git/metatest/test1/.git/config: File exists
Reinitialized existing shared Git repository in /srv/share/git/metatest/test1/.git/
dir完全是空的!实际上,运行rm -rf .git; git init
具有相同的输出。
ls -lAhR
显示此
./.git:
total 22K
drwxrwxrwx 2 git git 4.0K Jun 5 17:07 branches/
-rw-rw-rw- 1 git git 53 Jun 5 17:07 config
-rw-rw-rw- 1 git git 21 Jun 5 17:07 config.lock
-rw-rw-rw- 1 git git 73 Jun 5 17:07 description
-rw-rw-rw- 1 git git 23 Jun 5 17:07 HEAD
drwxrwxrwx 2 git git 4.0K Jun 5 17:07 hooks/
drwxrwxrwx 2 git git 4.0K Jun 5 17:07 info/
drwxrwxrwx 4 git git 4.0K Jun 5 17:07 objects/
drwxrwxrwx 4 git git 4.0K Jun 5 17:07 refs/
./.git/branches:
total 0
./.git/hooks:
total 17K
-rwxrwxrwx 1 git git 452 Jun 5 17:07 applypatch-msg.sample*
-rwxrwxrwx 1 git git 896 Jun 5 17:07 commit-msg.sample*
-rwxrwxrwx 1 git git 189 Jun 5 17:07 post-update.sample*
-rwxrwxrwx 1 git git 398 Jun 5 17:07 pre-applypatch.sample*
-rwxrwxrwx 1 git git 1.7K Jun 5 17:07 pre-commit.sample*
-rwxrwxrwx 1 git git 1.3K Jun 5 17:07 prepare-commit-msg.sample*
-rwxrwxrwx 1 git git 1.4K Jun 5 17:07 pre-push.sample*
-rwxrwxrwx 1 git git 4.8K Jun 5 17:07 pre-rebase.sample*
-rwxrwxrwx 1 git git 3.6K Jun 5 17:07 update.sample*
./.git/info:
total 512
-rw-rw-rw- 1 git git 240 Jun 5 17:07 exclude
./.git/objects:
total 8.0K
drwxrwxrwx 2 git git 4.0K Jun 5 17:07 info/
drwxrwxrwx 2 git git 4.0K Jun 5 17:07 pack/
./.git/objects/info:
total 0
./.git/objects/pack:
total 0
./.git/refs:
total 8.0K
drwxrwxrwx 2 git git 4.0K Jun 5 17:07 heads/
drwxrwxrwx 2 git git 4.0K Jun 5 17:07 tags/
./.git/refs/heads:
total 0
./.git/refs/tags:
total 0
有趣的是,当redmine尝试创建存储库时,甚至没有创建目录。再次,它无声地失败,没有有用的输出。
当我尝试运行git add
或从远程PC推送来自现有repos的任何更改时,redmine运行时创建的地方,我得到了
fatal: error when closing sha1 file: Permission denied
这对我来说完全没有意义。有什么想法吗?
答案 0 :(得分:0)
关于问题原因的问题可能并不完全正确。事实证明,通过将gitolite安装移植到 SMB 安装架上,然后将其移至 NFS 安装后,问题仍然存在。
我无法确定是否发生了这种情况,但现在它正在处理NFS共享,这是我最可能的解释。
另一种解释是hanewin nfs是问题,因为现在正在运行它正在运行的Windows Server 2012 NFS服务器。