关于openSUSE长期版本和openSUSE是否适合做服务器答疑

ps:内容有点长,摘自openSUSE中文社区,点击访问原帖。

首先:关于版本号可以看这里 https://en.openSUSE.org/openSUSE:Versioning_scheme 支持周期在这里 https://en.openSUSE.org/Lifetime

1.关于长期版维护: 《

initialdp 写道:从您的描述看,Evergreen版本是单数版本号?11..x, 13.x, 15.x,,,,,,?我刚才google了一下,貌似Evergreen仅仅是社区简单维护一下,在SuSE公司层面是没有资源安排做这个事,对吗?

不是,偶然现象。你要知道,从 11.0 起才有 openSUSE 从 11.2 起才有 Evergreen 这个概念哦。12.1 是因为切了 systemd,所以整个系列都做不了。嗯,是「社区简单维护一下」,因为:1. 用 openSUSE 的大部分都在跟新版,这是我们和 Ubuntu 最大的区别。2. 究竟是由社区里的谁「简单维护一下」的呢?Maintenance 小组,挑选什么版本能成为 Evergreen 也是它们来做。我们 Maintenance 小组目前一共三个人,都是 SuSE 员工。。。如果你一定要一顶员工帽子来当定心丸的话。。。SUSE 公司层面只承认自己赞助了社区,「参与」了开发哦,它可不承认「主导」、「安排资源做」,openSUSE 项目是开源软件社区,SuSE 是商业公司。是由 SuSE 员工以个人身份在 openSUSE 项目参与了开发和维护。这个概念一定要搞清楚,我们的社区是大家的,SuSE 只是一个比较活跃的企业参与者。当然如果你说「要是 SuSE 有活这帮人不就跑了吗?」问题是这帮人在 SuSE 就是干 SLE 上相应的活。。。SLE 11 和目前的 Evergreen 基本一样(不是说底层,底层本来就一样,上层包的版本也基本一样)。。。。。同样之所以要发 13.1 Evergreen 因为转过年来 SuSE 就要发 SLE 12 了。上面也可以看作是对你「为什么 SLE 没有 CentOS 类的东西」的回答,CentOS 是:社区对 RedHat Linux 的重编译版,由社区维护,RH 是不管的。SLE 是 Evergreen 的重编译版,是由维护 SLE 的同一帮人维护,当然甘心做雷锋的 SUSE 是不会承认的。(你可以想象为德国人的执拗,社区就是社区,给了你我不放心怎么办,我把活儿干了然后不承认)

2.关于测试:《

PaleFire 写道:不是说我们是有公司里专业的给我们做稳定测试的么?

很简单。Ubuntu 不稳定是因为它用用户来做小白鼠来测试,然后只修 Beta 用户汇报的故障一阵子,然后发布。我们的测试流程是这样:——————————————————————————————————机器测试:http://openqa.openSUSE.org/我不多讲,你看那个页面你就知道了。也就是说 SUSE 单独给 openSUSE 赞助了一个集群,这个集群干嘛的呢?装机。。。把安装过程全部拆解开,比如选时区(你用人力是选不完 200 多个的吧?即使 Ubuntu 的用户基数它也选不到,比如蒙古乌拉巴托的吧?),然后到了按「OK」还是「Cancel」的时候在虚拟机里进行截图存照。你要之前步骤出错是看不到这个页面的,虚拟机截不到这个图就证明前一个步骤有错误,于是人力就会介入去修。修好,继续跑,openQA 程序会自动记录状态,直接从这里开始,自动发送 OK。。。如此往复,我们连 ARM 平台都是这么测的。也就是说我们处于一种「主动进攻 bug」而不是「被动发现 bug」的状态。目前这个环节社区方面参与的比较少,所以我说稳定性基本都是由 SUSE 公司来保证的。这就是我们升级始终不挂的奥妙。C 家赞助得起集群吗?之后,与 openSUSE 相关的 SUSE 员工基本会全员换装。人力安装后出 bug 内部消化。——————————————————————————————————-然后才会拿出 Beta 给社区用(这就是为什么我们的 feature freeze 为什么那么早的原因)。接着才是所有发行版都会有的正常测试流程。目前据我了解所有「其它」发行版都没有我 block 里的那个部分。包括 Fedora。甚至 Debian/CentOS 也没有。所以它们的稳定版发布周期才会那么长。基本上就我感觉,如果你在服务器上想适当追新,那你基本没别的选了。好比你在 Debian 6 上跑 Python3,那能稳定得了吗?Python3 要求的 glibc 都比 Debian 带的高吧?于是 backport 的 glibc 能和其它系统组件比如 cracklib 的低版本一起工作吗?或者针对老版本 port 的 Python3 稳定吗?少功能吗?你是不开发发行版想不到,我想想就觉得毛。老房子是挺稳定的,但我为了新家具换了根梁或者砸面墙,再说整体稳定那是开玩笑。。。

3.关于稳定性:《

initialdp 写道:我觉得您说的不具有可比性。 比如openSUSE社区的所有服务器,会要求99.99%的稳定性么?会要求至少N年的运行么?如果有问题,大不了重启一下,死不了人,也不用赔钱吧。这种情况下,就算用Fedora我觉得都没有任何问题。

在银行系统、通信系统、工业控制系统、商业系统等对稳定性有一定要求的领域,就算很小规模,您看到过(或者听说过)有人敢用Arch么? 个人而言,我对openSUSE、Chakra、Arch、Gentoo等系统仰慕不已,愿意学习试错。我们选择linux发布版本的前提,就是后面要有商业公司支撑,openSUSE是个不错的选择。但就我们的应用场景而言,目前感觉openSUSE还不太合适,SLES应该不错,不过没有免费版本。如果openSUSE能提供类似Ubuntu LTS的版本安排(不一定非要7年,但18个月肯定不行),那也是可以接受的。

1. 会。我遇到过的场景有两个,我总去的两个,OBS 和 Wiki 我们是有 sheduled maintenance 的。没 sheduled 的 unavailable,我 11 年开始参与 openSUSE 开发,两年了没遇到过。另外你要知道 OBS 的管理员同时维护着 SUSE 内部的 SUSEBS 和 Meego 的 OBS。SUSE 是有 High Availablity 服务的,毕竟它是 SAP 的老大。而 High Availability 你学计算机你应该知道,这不是我拿个筛子后改能改出 high availablity 的。它得从 openSUSE 就开始塑形。再举个简单点的例子,你听说过有人汇报 openSUSE 的 X11 以下层面的东西的 bug 吗?有人报过 glibc?Apche?php5?mysql?个人觉得你有个思想需要转变,openSUSE 不是 Ubuntu 一样只有 LTS 能用的烂货,你需要把它定义成企业版和完全社区版之间的一个奇葩,是由企业顶着社区帽子干出的、自己拒绝承认的、为了给自己企业版塑形甚至有完整的 SLES 内容的「社区版」(SLED 不是,它有桌面环境)。它每一个 openSUSE 版本的底层都是用 SLES 的标准来要求的(但它不承认)。为什么做 openSUSE 开发者比别人规矩多流程多?就在这儿。它欣赏你的帮助但又不能任你把底层破坏。为什么你在邮件列表发这种帖子都是 SUSE 的人来回来修,第一个搭理你的人为什么不是我。好吧你又问了,那 SUSE 要社区干嘛?干嘛无私奉献?它要社区的 GNOME。这就是为什么 openSUSE 那么多人用 KDE 但它的 GNOME 就是死不了的原因。这也是 SUSE 在全球只保留研发中心招什么内核工程师而不招什么美化小组的原因,在 SUSE 里入门才干桌面呢,它把这块外包给社区了,自己只搞最核心最尖端的。SUSE 把 GNOME 拿来,由入门工程师再修几遍 bug 然后装到 SLED。据我所知,openSUSE 的非 SUSE 成员最牛的干的才是桌面环境,真正把手伸到内核这种底层东西里的,他不是 SUSE 员工也基本是 Bluesystem 索尼爱立信 IBM 这种买了或卖了我们企业版的公司的人(不然你也不懂啊)。。。当然在我们这儿他们也叫「社区成员」。而 Debian 我估计应该至少有 50% 左右的 70 年代的那种老自由黑客。那才是真正的「社区成员」。但后果就是它的底层比较 casual,全靠人格而没有太多规矩去约束着,有点像 FreeBSD。另外你可能还有一个误区:觉得 SUSE 会把好东西藏到 SLE。事实上它只是对 SLE 做更多的测试(上面讲了,比如 openSUSE 是三个月,它做半年甚至八个月机器测试),根据企业应用需要做修改(这你应该能理解,淘宝要的内核跟腾讯要的内核肯定不一样,淘宝要高并发的一次性 http 请求,QQ 可能要持续连接的,这内核肯定要改),它的工程师主要干这个事情,而不会蛋疼的「这个 bug 我在 SLE 修了不给 openSUSE 修」,因为那样未来你还是要修。与之相反它反而会把 SLE 上发现的 bug 修到 openSUSE,持续的整理在「根据企业应用需要做修改」中的通用部分并反馈回 openSUSE 和上游,因为那样他们维护的代码树会变少。所以说如果你要的是 SLES,它就在 openSUSE 里(你别装桌面)。SUSE 并没有用 SLE 来赚钱,SUSE 并没有用 SLE 来赚钱,SUSE 并没有用 SLE 来赚钱。因为很重要所以我重复三遍。它赚钱依靠的是上面我说的特殊修改,以及在某些需要认证的领域的独家垄断(比如 SAP,你想买 IBM 的 SAP,给你搭配的服务器就是 SLE,你想用别的?抱歉你支付的价格里已经包括这个了,你不用,我们 IBM 不管你在其上的 SAP bug!这话 IBM 敢说的!因为它垄断的!),和自家和 Novell 基于 SLE 开发的企业应用(Netware?)来赚钱。这些是没有竞争的。操作系统是有竞争的。实际上在这个行当里只有 C 家还天真的以为光卖操作系统就能赚钱了。为什么超算优先用 SLE?一因为 IBM 就是超算的爷爷,二是因为我们可以为了你超算专门定做。别的发行版恐怕连超算都没见过吧?这不 C 家盯上广州的天河二号了,要不为什么争当「中国国家操作系统」?当然有社区的人说 SLE 卖得贵,一是怕你买裸系统来盗跑 SAP,或许是 IBM 建议的。二这是一种销售策略,因为这样我们自产的应用软件就可以卖得很便宜,实际上却没有损失任何金钱!给你的代码糖而已!因为没有人是买 SLE 装在 PC 上的!包括 SLED 也是!它是你后面说的银行系统的给你取钱那个柜员用的!是捆绑销售里面的一环。

2. 银行系统、通信系统、工业控制系统、商业系统等对稳定性有一定要求的领域,就算很小规模,您看到过(或者听说过)有人敢用Arch么?

你刚说完我的没有可比性,你又来一个更没可比性的。那种环境不要说 Arch,Debian/CentOS 都不可能。人家看得只是「认证」、「认证」、「认证」!看得只是「有没有可追踪的成功案例」还得是类似规模的!你说你前东家跑 Debian 三五年一点问题没有,那不可追踪。没有银行会让竞争对手参观这个!所以必须是认证最多的企业版:SLE。没有选择!没有选择!因为很重要所以。。。这就是为什么 SUSE 能独吃世界 500 强 95% 连 RH 都做不到的原因!你想做到,先认证,认什么证?SUSE 出的认证。。。尼玛。。。我对你的应用场景的假设肯定不是这个,如果你问的是这个的话,我建议你立刻拿起手中的电话,拨通 SUSE 的销售热线(声音很美哦)!我对你的应用场景的假设是:中小型互联网公司,那么是「有人敢用 Arch」的。Arch 中文社区里面有两三个开这种公司的,跑的都是 Arch。也是有用 Gentoo 的,豆瓣嘛。。。

3、SLES应该不错,不过没有免费版本。如果openSUSE能提供类似Ubuntu LTS的版本安排(不一定非要7年,但18个月肯定不行),那也是可以接受的。

你想在 openSUSE 上用到 SLES 的服务,是不可能实现的。因为那是最好的企业操作系统。那些价格它一定会给你免除麻烦。我可以说,我手里就有激活码,可我敢说有就敢说不给你。激活码是服务的钱。你要在 openSUSE 上用到 SLES 的质量,有 95% 的可能。90% 来自于 openSUSE 本身,5% 来自 Evergreen 和 SLE 的同质性、更新、修复和维护。剩下那 5% 你可以自己实现(英文社区很多人都是这么干的),装 SLES 试用版,不用 SLES 的更新源(激活码就是激活的这个),用同质的 Evergreen 的更新源,然后再自己在 OBS 维护一部分软件包。但这 5% 实现的前提是,你得对 openSUSE 非常非常熟悉。最终还是:看谁运维。