表面上经常遇到的缺点就是:
1.作为一个软件,永远不要相信系统。作为一个系统,永远不要相信软件。
软件稳定性是你想象不到的差,不提跨内核,不提跨版本,就内核一样的同一个发行版的两种改版,仅仅依赖内核的软件都能够互相不兼容。这就相当于你电脑的计算器,都是win7的系统,专业版和旗舰版会不通用。
2.作为一个操作系统,没有自我检查和系统修复的能力。
这是一个非常麻烦的事情,特别是当你的系统出现问题的时候。与之相比,Windows系统拥有相对完善的系统自我检查和系统自我修复能力,MacOS拥有基本能用的系统修复能力。在Windows里面,出现了系统上的问题基本可以通过系统的dism修复完成,再不济会告诉你哪个东西出问题并且无法修复,Mac OS X可以修复你的系统但是问题定位能力偏弱。Linux上这个东西基本是没有的。系统检查和修复在一般情况下的确不需要,但是当出现问题的时候,才体现出它的用处。Linux基本只能靠人力去修。
底层上的缺点:
1.大家说的,驱动问题。驱动不同版本不兼容这方面可以理解,但是各种更新很有可能会把驱动更新到挂掉就有问题了。一套良好的操作系统应该要将驱动和系统分离,如果觉得windows不明显的话,可以看看Android的PT计划。
这最大的问题是两边不讨好,对用户来说,每更新一次系统需要进行各种麻烦的处理,因此干脆就不更新了。对厂家说,每个系统出来之后要专门为它适应写一套驱动,增加人力物力还要测试。那因为用户不怎么更新系统,反过来导致一些漏洞要么不敢不修旧版本,要么出现问题,反过来又增加了操作系统的成本。
2.接着1导致的,由于一般不更新,一般有漏洞不好修,很多会采用提供源码编译的方式。这并不是一个好的解决方案,一部分,这些东西都要前人一个一个坑踩过来才基本能用,另一方面,可能提供了源码方便更改,实际上接触这情况的一般是运维人员,如果运维人员拥有非常优秀的代码水平为什么不是开发?