Nix (package manager)/zh: Difference between revisions

Mayer (talk | contribs)
No edit summary
Mayer (talk | contribs)
No edit summary
Line 28: Line 28:
=== Nix store(Nix存储库) ===
=== Nix store(Nix存储库) ===


由Nix构建的包被放在只读的''Nix存储'', 通常位于<code>/nix/store</code>. 每个包会被赋予一个由加密hash值指定的独一无二的地址, 该地址位于包的名称和版本之后, 例如<code>/nix/store/nawl092prjblbhvv16kxxbk6j9gkgcqm-git-2.14.1</code>. 这些前缀的哈希处理使用到了对构建过程的所有输入, 包括源文件, 完整依赖关系树, 编译器标志, 等等. 这让Nix可以同时安装同一个包的不同版本, 甚至同一版本的不同构建, 比如由不同的编译器构建的变体. 当添加, 移除, 或者更新一个包时, 什么都没有从Nix存储中被移除; 作为替代,指向这些包的符号链接在''profile''中被添加, 移除或者修改.
由Nix构建的包被放在只读的''Nix存储'', 通常位于<code>/nix/store</code>. 每个包会被赋予一个由加密hash值指定的独一无二的地址, 该地址位于包的名称和版本之后, 例如<code>/nix/store/nawl092prjblbhvv16kxxbk6j9gkgcqm-git-2.14.1</code>. 这些前缀的哈希处理使用到了对构建过程的所有输入, 包括源文件, 完整依赖关系树, 编译器标志, 等等. 这让Nix可以同时安装同一个包的不同版本, 甚至同一版本的不同构建, 比如由不同的编译器构建的变体. 当添加, 移除, 或者更新一个包时, 什么都没有从Nix存储中被移除; 作为替代,指向这些包的符号链接在''profile''中被添加, 移除或者修改.


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">