可问题是磐石不是独立的可分割的软件,这样的软件不开源,锁死了deepin的开源方向
我们可以用玲珑,因为玲珑是独立的,可以卸载的,是应用层面的,作为小白鼠的用户是有选择权的,用户是自由的,这就是开源的;而且玲珑是提供另外的安装包的选择,这是对用户友好的,用户总是希望功能越多越好的
现在磐石从busybox、grub开始劫持整个系统,劫持 apt, apt-get, aptitude, dpkg, update-initramfs等多个开源软件,是本身开源的软件受到限制,改变这些开源软件的功能(尽管磐石尽量做到表面上没有变化),但是开源性受到了挑战
UOS利用deepin测试一些新功能,用户喜欢新功能,也乐意去选择deepin来使用这些新功能,但是这些都是建立在系统开源,某些商用软件不开源的情况,现在v25受到磐石影响,系统呈现半开源,这是由于v25受磐石深度捆绑、磐石不开源导致的。
扪心自问,磐石的加入,真的是面向小白以及普通用户吗?什么样的普通用户需要锁死系统挂载来使用不可变系统,难道普通用户都是每天面对黑客恶意攻击的zf/qiye员工吗?
开源的目的是让系统使用感受变好,界面越来越流畅,吸引开发者加入,构建良性循环,不是公器私用,测试面向qiye/zf功能的实验自培地。
开源的目的是让系统使用感受变好,界面越来越流畅,吸引开发者加入,构建良性循环,不是公器私用,测试面向qiye/zf功能的实验自培地。
和你的理解恰恰相反,作为普通用户,我只看到开源这么多年这么多的系统都是小范围的自嗨,开源并没有让它们真正的走入更大的市场,为普通用户提供多好的体验。
相反,现在deepin确可以让普通小白也愉快的使用,用户多了,才能有真正的良性循环。
开源的应用是有很多,但真正能打的又有几个,不是界面不好,就是交互不好,以gimp为例,那界面,那交互,有几个人能适应,应用在精不在多。


中文 

我经过几天的使用,v25的磐石大致弄明白了。
首先,它采用了overlayfs+ostree的方式,为了通俗点讲解,我先假设一个模型,如下:
那么尝试使用overlay挂载的命令中,其参数就是:
而实际v25上,它的opt就是这样的挂载的,其参数如下:
可以看到lowerdir由三个层组成:
而upperdir只有一层:会话修改层,这是当前用户修改后数据保留的地方,重启后丢弃
workdir只有一层: workdir目录,该目录是overlay的工作目录,不参与任何备份或还原,与当前会话修改层同生共死
至于回滚、更新之类的操作都基于ostree,就不细究了,因为实现方式有很多
现在,它有个很关键的功能,就是让/usr只读,并且还能让安装deb包等修改/usr目录的行为能正常执行,原理如下:
将usr挂载为只读,但是为了让dpkg或apt-get命令能够装应用到usr目录,V25做了如下动作:
1.将
apt,apt-get,aptitude,dpkg,update-initramfs全部软链接到/usr/libexec/deepin-immutable-ctl/immutable-adapter.sh,如下:2.immutable-adapter.sh实现如下功能:用户执行命令 → 脚本检查条件 → 决定如何执行
↓
apt install vim → 拦截 → 通过 deepin-immutable-ctl 执行
↓
结果保存到会话修改层(upperdir)(因为upperdir是可读可写,只读的是/usr)
所以deepin是将所有
apt,apt-get,aptitude,dpkg,update-initramfs的命令都做了处理,他们修改的实际是会话修改层的usr,deepin咋实现的我没有看到(因为它们实现都在/usr/sbin/deepin-immutable-ctl,这个是个二进制,没有源码可以分析),我估计是有可能在实际安装的时候将会话修改层挂载为/usr,安装完就PS:创建只读的overlay的方式如下:
各位,想必大家看到了,v25的磐石功能,对于一些没有接触过git版本管理工具以及不熟悉文件系统的人来说,根本无法理解其命令做了什么,如果想要查询源码来学习其逻辑,尽管其版权申明是开源:
但实际是根本无法访问http://github.com/linuxdeepin/deepin-immutable-ctl,更别说细究其功能还更改了grub,劫持了initramfs(上文
update-initramfs被链接了):请问这样的开源系统,其他软件就不让客户用了吗,试想一下,如果用户安装overlayfs-root(一个开源软件)并且打开其功能,系统会乱成什么样?
最最关键的是这个软件它不开源,和它打配合的deepin-immutable-boot也不开源,普通用户想要参与完善提交修改也做不到
磐石不是一个保护系统的软件,它改变了底层生态环境,将桌面变成了一个系统备份空间+桌面系统的组合,并且极端的认为将/usr只读就是对系统的保护,实际上只是针对root用户主动修改/usr目录做限制,然而通过软件包安装的方式依旧可以完成对/usr目录的修改(修改在upperdir层,最后将修改提交至/usr即可),并且还可以可以通过root关闭只读保护,虽然需要重启才能生效;但是试想一下,为了达成这样的效果,牺牲了用户多少;又有多少用户能够熟练使用磐石来保护系统
虽然初心是好的,但这就好像是《苟在初圣魔门当人材》里的假持金丹一样,假持终究是假的,不是真的金丹;保护系统被做的像劫持系统一样,以后隐形的问题会逐一暴露出来。