Nix 包管理器
Nix 是一个操作系统包管理器。同 RPM、APT 和许多其它的软件包管理系统一样,它可以用来控制软件包的安装,或已命名的,带版本号的文件组,例如软件应用及其相关的配置数据等。[2][3][4] NixNix 包采用一种专门设计的,惰性求值的纯函数式语言进行配置;Shell 脚本或其它外部程序(如 Make)可用于从源码构建包。此系统的纯函数式性质能够保证非常精准的依赖跟踪。例如,一个二进制包依赖于对应的源码包、编译器和其它用于构建的包。密码散列函数确定了每个包的精确构建和运行时依赖,而每個源碼或二進位包都以一個這樣的散列值表示。其结果就是,二进制包仓库成为了包管理器基本操作透明性的优化(类似幹于通过密码散列函数来“缓存”)。 依赖问题通过功能上等价于硬链接的一套系统来解决,若软件的某个版本被某个包所依赖,那么仅当没有包依赖于它之前,它都不会被移除。这会导致需要更多的存储空间,但可以保证所有升级的安全性(保证不会破坏现有的应用)和原子性。它也允许任何包的多个版本,包括参数化地包含某一特性的包同时存在而没有冲突。 Nix 在安装包时依赖于自身的目录结构。所有的包均会被安装到 nix 目录的子目录中。在命名文件夹时,一个包的不同版本会根据包的 hash 加以区分。 此外,Nix 可作为现有系统(例如 GNU/Linux 发行版)的包管理器使用。除了严格意义上的软件包外,Nix 也可被用于维护任何类型的文件配置,如服务器的配置等。 NixOSNixOS[5] 是一个 Linux发行版,它采用 Nix 来管理操作系统中包括 Linux 内核的所有部分。[6] 参见
参考文献
外部链接 |
Index:
pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve
Portal di Ensiklopedia Dunia