如何在nix构建shell中设置ulimit?

时间:2018-03-15 14:09:42

标签: darwin ulimit nix

我正在尝试为nix安装certbot包,并且每次都在测试期间失败,因为测试达到了系统上的打开文件限制。我已经修改了certbot安装脚本,足以在patchPhase的开头打印出ulimit,并发现允许的最大打开文件数是256.但是,在我执行的shell中{{1或nix-shell,我的nix-env(硬和软)都设置为100000。

如何将该限​​制传播到certbot构建过程?我想避免试图弄清楚如何修改certbot使用的python构建脚本。

在OSX 10.13上运行Bash shell。

1 个答案:

答案 0 :(得分:0)

patchPhase的{​​{1}}节中手动提升ulimit。事实证明,此更改通过certbot构建脚本中的其余阶段传播。

certbot.nix

我将向 buildInputs = [ dialog ] ++ (with python2Packages; [ nose mock gnureadline ]); patchPhase = '' ulimit -n 8196 substituteInPlace certbot/notify.py --replace "/usr/sbin/sendmail" "/run/wrappers/bin/sendmail" substituteInPlace certbot/util.py --replace "sw_vers" "/usr/bin/sw_vers" ''; postInstall = '' 提交补丁。