![如何解决SVN中文件不能大于ulimit设置的值?](https://linux22.com/image/801729/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3SVN%E4%B8%AD%E6%96%87%E4%BB%B6%E4%B8%8D%E8%83%BD%E5%A4%A7%E4%BA%8Eulimit%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%80%BC%EF%BC%9F.png)
我尝试通过以下命令对 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 中已成功完成。这可能是服务器的问题,可能是在复制过程中设置了限制缓存大小的原因,也可能是其他原因,但我不知道如何以及在哪里查找它。您能否给我一些关于如何解决此错误的指导?
答案1
问题不在于 SVN,而在于您的 AIX 计算机的配置。特别是,您以该用户身份运行此命令行无法创建大于特定大小的文件,该限制是使用 ulimit 设置的。除非您是 root 用户,否则您必须让具有 root 权限的人为您移除此限制。
Ulimits 适用于进程及其所有子进程(例如您的登录进程、shell 和您运行的命令)。如果您的 shell init(如 .bashrc)中有一行ulimit -f 123456789
,您可能只需删除它或更改最大值即可。