|
d*******r 发帖数: 3299 | 2 我从来没玩过这个NixOS, 是你们PL大牛圈子设计的么?
nixos.org 登上去看, 好像以前的haskell网站 |
|
|
a*****e 发帖数: 1700 | 4 彻底解决依赖与软件配置问题,Nix 或者 NixOS,你值得拥有! |
|
a*****e 发帖数: 1700 | 5 重要的事情说三遍:
Deterministic software configuration is a solved problem.
Reproducible Linux environment is a solved problem.
System upgrade with rollbacks is a solved problem.
答案就是 Nix 或者 NixOS. |
|
a*****e 发帖数: 1700 | 6 Nix 是一个纯函数语言,用来定制软件或者系统配置。因为无副作用,能够保证只要输
入(也就是依赖关系)不变,那么输出(可以理解为软件或者系统的安装)也不变。
Nix 同时也是一套基于 Linux 的软件包管理系统,类似 npm, apt 之类的意思。但
Nix 可以装到任何 Linux (还包括 Mac)系统上,甚至无需 root 权限。它管理的每
个软件包其实就是用 Nix 语言写好的表达式,然后提供命令行用于安装。它和其它系
统的软件包管理的主要区别是:
1. Nix 将每个软件安装到自己的独立目录,任何软件都可以多版本可以共存,没有冲
突。
2. 软件包的具体版本号其实是个 hash,是根据其源代码的 hash,编译的配置,和所
有依赖关系的 hash 算出来的。所以就算是同一个软件,比如 Python 3.6.1,如果它
的配置或者任何依赖的软件有所变化,那么就会产生一个新的完全独立的安装包。
3. 用户直接指定使用环境需要什么软件,Nix 保证所需软件都安装好,而且把 PATH
和相关的配置都设好。用户可以在不同环境下随意切换,且不会互相影响。这点对开发
非常方便,比如我需要... 阅读全帖 |
|