Nix (package manager)/zh-hans: Difference between revisions
Loxodoromy (talk | contribs) Created page with "当启用沙盒构建时,Nix会为每个构建过程设置一个隔离的环境。它用于移除构建环境中额外的隐藏依赖,以提高可复现性。这包括在构建过程中禁止<code>fetch*</code>函数之外对网络的访问,和Nix存储之外对文件的访问。根据操作系统的不同,对其他资源的访问也会被阻止(例如,进程间通信在Linux上被隔离);详细信息见Nix手册里的[https://nixos.org/nix/manual/#sec-co..." |
Loxodoromy (talk | contribs) Created page with "==== 有效的Nix存储名称 ====" |
||
(4 intermediate revisions by the same user not shown) | |||
Line 59: | Line 59: | ||
当启用沙盒构建时,Nix会为每个构建过程设置一个隔离的环境。它用于移除构建环境中额外的隐藏依赖,以提高可复现性。这包括在构建过程中禁止<code>fetch*</code>函数之外对网络的访问,和Nix存储之外对文件的访问。根据操作系统的不同,对其他资源的访问也会被阻止(例如,进程间通信在Linux上被隔离);详细信息见Nix手册里的[https://nixos.org/nix/manual/#sec-conf-file nix.conf部分] | 当启用沙盒构建时,Nix会为每个构建过程设置一个隔离的环境。它用于移除构建环境中额外的隐藏依赖,以提高可复现性。这包括在构建过程中禁止<code>fetch*</code>函数之外对网络的访问,和Nix存储之外对文件的访问。根据操作系统的不同,对其他资源的访问也会被阻止(例如,进程间通信在Linux上被隔离);详细信息见Nix手册里的[https://nixos.org/nix/manual/#sec-conf-file nix.conf部分] | ||
沙盒化在Linux上默认启用,在macOS上默认禁用。 | |||
Nixpkgs的拉取请求(pull requests)中,要求在沙盒化启用条件下测试构建(见拉取请求模板中的<code>Tested using sandboxing</code>),因为在[https://nixos.org/hydra/ 官方Hydra构建]中使用了沙盒化。 | |||
为Nix配置沙盒化,在<code>/etc/nix/nix.conf</code>里设置<code>sandbox = true</code>。为NixOS配置沙盒化,在<code>configuration.nix</code>里设置<code>nix.useSandbox = true;</code>。从NixOS 17.09开始,<code>nix.useSandbox</code>选项默认为<code>true</code> | |||
</ | |||
< | <span id="Alternative_Interpreters"></span> | ||
=== | === 可选的解释器 === | ||
一项用Rust从零开始重新实现Nix的工作正在进行。 | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
Line 80: | Line 73: | ||
</div> | </div> | ||
Nix 2.18有一个名叫Lix的社区领导分支,专注于正确性、易用性和成长性。尽管它也将一些Nix组件移植到Rust,它不是Tvix那样从零开始的重写版本。 | |||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
Line 88: | Line 79: | ||
</div> | </div> | ||
更早的尝试可在riir-nix找到 | |||
== 备注 == | |||
<references /> | <references /> | ||