我试图通过以下命令在 AIX 中备份我的 SVN 存储库:
svnadmin dump <path> > dump_file
还有这个命令:
svnrdump dump <path> > dump_file
但失败并出现此错误:E000027: Can't write to stream: A file cannot be larger than the value set by ulimit.
当我在 Windows 中执行 svnrdump 时,该过程已成功完成。但是当我将文件从 Windows 移动到 AIX 时,该过程失败了。
在这个事件中,我发现了一个相似之处,两个案例的文件大小相同,都是1,073,741,312
. 我只是认为这不应该是 SVN 的问题,因为转储过程已在 Windows 中成功完成。这可能是服务器的问题,可能是在复制过程中设置了限制缓存大小的原因或任何其他原因,但我不知道我应该如何以及在哪里寻找它。你能给我一些关于如何解决这个错误的指导吗?
问题不在 SVN 中,而在您的 AIX 机器配置中。特别是,您正在运行此命令行的用户无法创建大于特定大小的文件,这是使用 ulimit 设置的限制。除非您是 root 用户,否则您将不得不让拥有 root 用户的人为您移除此限制。
Ulimits 适用于进程及其所有子进程(例如,您的登录进程、shell 和您运行的命令)。如果碰巧您的 shell init(如 .bashrc)中有一行
ulimit -f 123456789
,您可以删除它或更改最大值。