Linux 发行版 NixOS 发布 18.03 版

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

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

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

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

重要系统组件版本变化

1.Linux: 4.9 至 4.14;
2.glibc: 2.25 至 2.26;
3.GCC: 6 至 7;
4.systemd: 234 至 237。

桌面环境版本变化

1.GNOME: 3.24 至 3.26;
2.KDE plasma: 自 5.10 至 5.12。
3.MariaDB 自 10.1 升级至 10.2,且成为了默认的 MySQL 实现;
4.PHP 默认版本从 7.1 升级至 7.2。

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

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

Linux 发行版 NixOS 发布 18.03 版Linux 发行版 NixOS 发布 18.03 版

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

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

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

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

{
boot.loader.grub.device = "/dev/sda";

fileSystems."/".device = "/dev/sda1";

services.sshd.enable = true;
}

在更改了上述文件之后,用户需通过执行如下命令使其生效:

$ nixos-rebuild switch

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

更新的可靠性

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

更新的原子性

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

回滚

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

$ nixos-rebuild switch --rollback

即可完成回滚。

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

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

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

下载地址及安装指引:
https://nixos.org/nixos/download.html

查看评论

基于centos制作自己的linux发行版

  • 2014年01月15日 10:44
  • 25KB
  • 下载

各Linux发行版的比较

各Linux发行版的比较 注:以下指的是默认安装之后;某些程序的中文乱码与默认使用的locale有关。Table 6.1.  O_o ...
  • linqingfeng
  • linqingfeng
  • 2006-03-13 22:38:00
  • 1590

查看linux发行版名称和版本信息的几种方法

在网上找了好久,都没有找到一个合适的通用的查询linux系统的具体发行版本以及名称的命令,现在就总结一下吧。 首先使用lsb_release -a命令,这个命令我试了一下在redhat和SUSE上好用...
  • MINEZHANGHAO
  • MINEZHANGHAO
  • 2013-11-01 10:23:12
  • 8638

轻松搭建自己的Linux发行版本

翻译:渔樵而居 2009年11月12日星期四上午10:22发布 许多人想要搭建自己的Linux发行版本,可能是觉得有趣,也可能是为了学习更多的Linux知识,或者因为他们有很正式的问题要解...
  • networm3
  • networm3
  • 2013-01-31 14:20:22
  • 1379

《Linux安装》(三)发行版制作

Fedora发行版制作的工具主要有revisor和pungi两种; revisor是一个图形化的工具,也可用命令行,但是经常会有bug,而且比较臃肿,感觉是给初级用户用的; pungi是Fedor...
  • ericzhong83
  • ericzhong83
  • 2012-03-19 17:15:59
  • 2989

Linux 发行版 衍生 关系

http://blog.chinaunix.net/space.php?uid=14735472&do=album&picid=231477 http://www.linuxdiyf.com/bb...
  • ztguang
  • ztguang
  • 2016-03-30 10:35:59
  • 912

Antergos:基于 Arch 发行版

众所周知,Arch Linux 是最好的 Linux 发行版之一,我们可以随心所欲的进行定制。我们可以滚动式更新最新的软件,但它的安装和配置的过程对于初学者则相对困难。现在就让我来为你展示如何安装 A...
  • u014743697
  • u014743697
  • 2016-12-24 09:49:47
  • 1867

为什么仍有人推崇轻量级Linux发行版的五大原因

导读 目前,大多数PC都可以搭载一些速度非常快的多核处理器、大容量内存和固态硬盘,但是日常仍有好几款轻量级Linux发行版提供给用户,为什么我们要特别关注轻量级发行版呢?因为它们可以为旧机器注入新的活...
  • snow2know
  • snow2know
  • 2016-11-21 21:59:12
  • 896

终于选定了Linux的发行版-Debian

这几天一直在玩Linux的各个发行版,虚拟机删了又建、建了又删,试过RedHat AS3、AS4,MagicLinux,Fedora Core3、4,感觉都很不爽,本来MagicLinux界面还是非常...
  • javaFever
  • javaFever
  • 2005-04-05 00:44:00
  • 863
    个人资料
    持之以恒
    等级:
    访问量: 5万+
    积分: 3710
    排名: 1万+
    文章分类
    最新评论