「纯函数式」的 Linux 发行版 NixOS 发布 18.03 版

Posted 开源工场

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「纯函数式」的 Linux 发行版 NixOS 发布 18.03 版相关的知识,希望对你有一定的参考价值。

点击上方 “开源工场” 可以订阅


「纯函数式」的 Linux 发行版 NixOS 发布 18.03 版


简介

NixOS 是一个独立 GNU/Linux 发行版,以独特的方式进行包和配置管理并因由此带来的种种特性而被称为「纯函数式」(见后文)。其基于 Nix 包管理器构建,采用「陈述式」的配置文件,提供原子性的更新及回滚机制,对 DevOps 友好。

改进

4 月 4 日,NixOS 发布了代号为「Impala」的 18.03 版。这一版本包含如下显著变化:

 ·支持 x86_64-linux 及 x86_64-darwin 平台(后者其实不是 NixOS); ·aarch64-linux 的二进制文件也已可用,但因其尚有问题待修复,故其 channel(参见 Hydra)尚不可用。

 ·Nix(包管理器)现在默认为 2.0 版本。

 ·重要系统组件版本变化:

      ·Linux: 4.9 至 4.14;

      ·glibc: 2.25 至 2.26;

      ·GCC: 6 至 7;

      ·systemd: 234 至 237。

 ·桌面环境版本变化:

      ·GNOME: 3.24 至 3.26;

      ·KDE plasma: 自 5.10 至 5.12。

 ·MariaDB 自 10.1 升级至 10.2,且成为了默认的 mysql 实现;

 ·php 默认版本从 7.1 升级至 7.2。


此外,此版本还包含诸多其它变化。需要注意的是,此版本带来了一些兼容性问题,请在升级时仔细确认。详细信息见于其其发布记录。

此版本的支持将于 2018 年 10 月末停止,而后 18.09 版将取代这一版本。


NixOS 起初是一个研究性项目,但现在其已是一个拥有完备功能的操作系统。NixOS 旨在改进系统配置管理的方式。在现有的发行版中,升级等操作是危险的:对一个软件包进行升级可能使得其它软件包出错,对整个系统进行更新比重装系统更不可靠。用户无法安全地测试并获知对某一配置进行修改将会产生何种结果,因为用户无法对这一操作进行可靠的撤销。因此, NixOS 带着改变现状的目标出现了。

「纯函数式」的 Linux 发行版 NixOS 发布 18.03 版

陈述式(Declarative)的系统配置模型

NixOS 的特殊之处在于其遵循「陈述式(Declarative)」系统配置模型。通过预先写好的对预期配置的说明,Nix 包管理器可以构建整个操作系统(包含内核、应用、系统包及配置文件等)。这一说明性文件遵循纯函数式的构建语言——构建新的配置不会覆盖之前的配置。

用户可以通过

在 /etc/nixos/configuration.nix 中写明其希望设备拥有的预期功能(组件)来配置 NixOS 系统。例如,如下是一个指明了需要 SSH daemon 服务的最小化系统配置:

「纯函数式」的 Linux 发行版 NixOS 发布 18.03 版

上述命令将负责进行所有所需操作以使配置生效,其包括下载并编译 OpenSSH 以及为 SSH 服务器生成配置文件等。

更新的可靠性

采用纯函数式的包管理策略的另一个优势是,nixos-rebuild switch 命令的执行总是产生相同的结果,无论此前系统中包含了哪些包或配置文件。因此,这避免了前文中提到的问题,使得升级系统和重装系统一样可靠。

更新的原子性

NixOS 的配置管理具有事务性(Transactional)的特点:升级等配置变化是原子性的。这意味着如果更新到一个新配置的过程被中断了(例如,中途断电),系统仍然会处于一致性的状态。其只会启动至旧的或新的配置,而不会处于大多其它系统中可能出现的不一致状态(此种状态常意代表机器不再能正常启动)。

回滚

前文中提到,Nix 配置采用的纯函数式语言使得新的配置文件不会覆盖旧的配置文件。用户可以原子性地回滚到之前的配置文件。例如,在一次 nixos-rebuild switch 之后,用户对新的配置不满意,通过执行

「纯函数式」的 Linux 发行版 NixOS 发布 18.03 版

即可完成回滚。

而且,所有旧的系统配置会自动出现在 Grub 启动菜单中,用户可以在启动时选择菜单项回滚到对应的旧配置文件。这一过程非常之快。

 

由 NixOS 及 Nix 的独特的配置管理策略带来的其它特性以及对 NixOS/Nix 工作原理的简要描述见于 NixOS.org 的关于页面。

关于

NixOS 主页:
https://nixos.org/;

「纯函数式」的 Linux 发行版 NixOS 发布 18.03 版

电报群:t.me/openingsource

微信群:

Facebook: 

https://facebook.com/openingsource

Twitter: https://twitter.com/openingsource

Google + :

https://google.com/+OpeningSource

微博:

https://weibo.com/openingsource

点击“阅读原文”查看更多详情哦!


以上是关于「纯函数式」的 Linux 发行版 NixOS 发布 18.03 版的主要内容,如果未能解决你的问题,请参考以下文章

js函数式编程-纯函数

001

国产Linux发行版再添一员,操作界面不输苹果!

Linux发行版Ubuntu下的Python开发环境的配置

Linux基础

#yyds干货盘点#