gpt4 book ai didi

linux - Git 无法处理 nfs 共享

转载 作者:太空宇宙 更新时间:2023-11-04 12:49:40 26 4
gpt4 key购买 nike

首先,设置。我在 Windows Server 2012 上运行 haneWin nfs 服务器,在启动时使用此 fstab 条目将其安装在 ubuntu 服务器中 ~ip~:/sharenfs/srv/share nfs rw 0 0
umask 在 Windows 服务器上设置为 000,这确实导致 ubuntu 上的每个用户都具有对整个共享的 rw 访问权限。

现在问题来了:我想使用 nfs 共享来存储我们所有的 git 存储库,以便 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/

目录完全是空的!实际上正在运行 rm -rf .git; git init 具有相同的输出。

A 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 推送 redmine 工作时创建的现有存储库的任何更改时,我得到

fatal: error when closing sha1 file: Permission denied

这一切对我来说毫无意义。有什么想法吗?

最佳答案

关于问题的原因,问题可能并不完全正确。事实证明,gitolite 安装已通过将其移植到 SMB 挂载而被破坏,然后在将其移动到 NFS 挂载后问题仍然存在。
我不能确定这是否真的发生了,但现在它正在 NFS 共享上工作,这是我最可能的解释。

另一种解释是 hanewin nfs 是问题所在,因为现在运行 Windows Server 2012 NFS 服务器它正在工作。

关于linux - Git 无法处理 nfs 共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37643462/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com