我正在尝试为nix安装certbot包,并且每次都在测试期间失败,因为测试达到了系统上的打开文件限制。我已经修改了certbot安装脚本,足以在patchPhase
的开头打印出ulimit,并发现允许的最大打开文件数是256.但是,在我执行的shell中{{1或nix-shell
,我的nix-env
(硬和软)都设置为100000。
如何将该限制传播到certbot构建过程?我想避免试图弄清楚如何修改certbot使用的python构建脚本。
在OSX 10.13上运行Bash shell。
答案 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 = ''
提交补丁。