我正在尝试为 nix 安装 certbot 软件包,但每次测试都失败,因为测试达到了系统上的打开文件限制。我已经修改了 certbot 安装脚本,刚好足以在patchPhase
开始时打印出 ulimit,并发现允许打开的最大文件数为 256。但是,在我执行nix-shell
或nix-env
的 shell 中,我的ulimit
(硬和软(设置为 100000。
如何将该限制传播到certbot构建过程?我想避免试图弄清楚如何修改 certbot 使用的 python 构建脚本。
在 OSX 10.13 上运行 Bash shell。
手动提高 certbot.nix
patchPhase
节中的 ulimit 。事实证明,此更改在 certbot 构建脚本中的其余阶段传播。
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 = ''
我将向nixpkgs
提交补丁。