今天在Hacker News上看了一篇文章叫 Introduction to immutable Linux System,没看之前,我觉得虽然我不懂,但应该像很多Linux提供的那种Live CD吧,刻在光盘上,启动的时候不可变么。
点进去之后,发现不是这么回事,又先入为主了。我花了一点时间研究这篇文章介绍的NixOS系统,突然就想到了我刚参加工作的时候,在Sun给Solaris打杂,那时候Solaris就已经提供了类似的功能。我就介绍一下这个理念吧,如果有不对的地方,请高手指正。
为什么要出“不可变”的Linux系统,我们来想一下为什么会把Linux用挂吧,比如Ubuntu,Debian,Fedora和Arch Linux,有时候某种原因吧,你半年或者一年半没更新过系统了,如果是工作环境,我相信大部分人是不敢更新的。因为万一给更新挂了呢?更新好了没人给钱,更新挂了可是要背锅的,于是,时间越来越久,于是5年10年的系统不更新也是常有的事,“又不是不能用”!而且5年了,系统肯定是不可以更新了,于是这个系统可能会永久的跑在某个版本上“永生”了。
当年我刚参加工作的时候,Ubuntu已经开始有点小火,免费发光盘么……于是Sun公司也觉得,那咱们也免费发光盘+巧克力+士力架,结果人家根本没人要这个光盘,只把巧克力留下,光盘扔垃圾桶里。哎,这是后话。
Solaris也想解决这个问题,搞了个OpenSolaris,界面是大家熟悉的Gnome。但是核心的技术比Linux要先进,不好说比现在的Linux先进,但是比以前的要先进(其实我觉得今天的Linux也做不到20年前Solaris能做的事情)。
Solaris能做什么呢?Solaris提供了一个很牛逼的文件系统叫ZFS,这个文件系统被FreeBSD学去了,在Linux上,有另外一个实现叫btrfs,这都是模仿ZFS的系统。(说起来,有多少唏嘘呢,Linux的好处是,一有好东西,就很快的模仿,但是进度不同,模仿者的能力也不同。在btrfs之前,还有一个最有机会的文件系统叫ReiserFS,这个开发者能力太强了,各方面都强,他还杀了人,进了监狱,核心开发者进监狱这事,也太戏剧了,结果ReiserFS就没机会合并进Linux内核了……后来者众多,不一一提及了,最好的是btrfs文件系统,但是用的人也不多。
ZFS有个功能叫快照,如果你把系统滚挂了,可以实时的回滚回去。确保马上能用,而不像有些Linux一样,滚挂了,那只能烧香磕头背锅了。后来Linux上也试图用类似的功能,但是都不够好,只是在爱好者中有一些爱折腾的人用。比如Arch Linux上的Snapper,比如Ubuntu上的Timeshift,但是又开源又免费,就得多折腾还不稳定。Solaris的实际上并不想真的免费,开源是可以的,但是真的不用折腾,可惜的是Solaris死了。
再来说这个NixOS,他是基于配置文件建立的操作系统,只要有配置文件,就可以建立起物理的系统,因此不怕滚挂。只要配置文件还在,那就能滚回去。所有的一切都是基于配置文件,我觉得这也是个很有趣的操作系统,以后有机会,我想尝试一下。
栋哥,出大事儿了!苹果官网配图发型辱华,严重伤害中华民族感情,你这篇评论文章吧!胡锡进就此事,都发微博了
那是印第安人
我是arch linux 使用者 btrfs是真的好
Snapper是openSUSE搞出来的
> 发光盘+巧克力+士力架
留下巧克力,丢了光盘, 后面士力架去哪里了?
现在开源Linux实现上有移植过来ZFS的吗?brtfs听说过,但是好像大家在用ext4的还是多些。