@
icyalala 您不会,真的不懂面向企业软件的开发吧,我是真的无语了,不知道从哪里开始解释了。
Amazon Linux 也好,SUSE 也好,Ubuntu 也好,他们哪个是以 Redhat 兼容为前提做出来的?
那你知道不以 Redhat 兼容为前提做出来的发行版,会有什么问题吗?
那就是所有面向 RHEL 适配的软件,都没有办法在这些发行版上 Certified 运行。
我举个例子。我前公司做面向企业的项目,立项的时候是以 Ubuntu 12.04 作为基础,后面一路开发完卖钱。
那么这个项目能运行在 Ubuntu 14.04 上吗?不能。能运行在 RHEL 上吗?不能。能运行在 OpenSUSE 上吗?不能。他能运行在什么系统上面?只有 Ubuntu 12.04 。因为所有的 Certification 都是在这一个系统上做的。你只要用这个系统,我们就保证软件正常运行。你用任何其他的系统,都属于不受支持的行为,出了问题我们不负任何责任。
同理,我现在公司开发的所有项目都是基于 OL7 的。能运行在 Ubuntu 上吗?不能。能运行在 Amazon Linux 上吗?不能。但是你要问我,能运行在 RHEL7/CentOS7 上吗?答案是可以,因为他们是互相二进制兼容,互相行为兼容的。
换句话说,(我随便举一个不存在的例子)如果 OL7 里,读取品牌 A 的磁盘大小的命令有一个 Bug ,会少计算 1KB 大小,那么 RHEL7 里你对着品牌 A 的磁盘运行同样的命令,也一定会少计算 1KB 大小。而且这个 Bug 可能 RH 一辈子也不会修,并且 Oracle 也一辈子都不会修。归根结底,他们必须保持严格的行为相等。
这也是 CentOS 这么受欢迎的原因,那么多公司用他,就是因为他和 RHEL 完全兼容,公司里跑的企业级软件很多都是基于 RHEL 的,拿到 CentOS 上一般不需要重新认证,也不需要改动任何代码。Oracle 内部原本应该也是广泛使用了 CentOS ,所以现在做 Oracle Linux 理所当然的也会做成兼容 RHEL 的样子。总不能把每年贡献几百亿营收的企业级软件全部从头适配新发行版吧。