Kernel 4.0 发布(实时内核补丁终于双剑合璧了)

2015-04-13 20:29:39 +08:00
 wsgzao
>“实时内核补丁”特性,该特性由 Red Hat 的Kpatch 和 SUSE 的 kGraft 合并而来,可以实时修补内核,而无需重启。

http://www.linuxfans.org/archives/3151
12262 次点击
所在节点    Linux
86 条回复
ly841000
2015-04-14 09:22:25 +08:00
@jun4rui 。。。。是你自己不懂。。。。。关键是 我只更新了bug部分。。。。。。。。。你见过哪个Server版操作系统天天去更新最新版的内核?都是用N年前的好吧。。。。。。。。。。。
ly841000
2015-04-14 09:28:30 +08:00
@jun4rui 呵呵,事实上Linux上大多不是不需更新,而是不敢更新
jun4rui
2015-04-14 09:30:32 +08:00
@ly841000 那你说说Windows十多年前就实现的更新内核免重启是什么?
jun4rui
2015-04-14 09:32:18 +08:00
@ly841000 不敢更新是没错啊,变动很多,对服务器有不利影响,很多语言都这样 就别说用语言开发的软件了。

Windows连ie6升级到ie7都会导致一堆OA、银行挂掉,行业就是如。
wsgzao
2015-04-14 09:39:36 +08:00
@initialdp 推荐我之前看的两篇文章吧,可能比较基础

## Linux内核热补丁的四种技术
http://linux.cn/article-4656-1.html

## 零代价修复海量服务器的内核缺陷——UCloud 内核热补丁技术揭秘
https://ruby-china.org/topics/20680
lwj0012
2015-04-14 10:01:05 +08:00
@ly841000 用ubuntu做服务器?自己玩的吧?
ly841000
2015-04-14 10:30:57 +08:00
@lwj0012
Linode 服务器版本分布 56%的人都在玩

•56% of deployments are Ubuntu
•21% of deployments are Debian
•17% of deployments are CentOS
•2.2% of deployments are Fedora
•1.8% of deployments are Arch
ly841000
2015-04-14 10:36:44 +08:00
bellchu
2015-04-14 10:44:44 +08:00
@ly841000 Linode应该有很多Gentoo的人在玩儿吧 居然1.8%都不到。。。。
monnand
2015-04-14 10:45:04 +08:00
@loqixh
@ly841000
@jun4rui

三位关于Windows和Linux内核支持实时补丁的讨论实在让我刮目相看,尤其是 @ly841000 提到他居然选修了“Linux内核”这个高深的科目之后,更是令我虎躯一震——这是需要多大的勇气才能坚持并且完成的任务啊!

好了,玩笑归玩笑,我实在是觉得大伙在讨论这种“事实判断”之前,最好Google一番找找相关资料。关于“事实判断”,最简单的证明方法就是找到官方或者权威人士的资料或数据了。这个和“PHP是最好的编程语言”不一样,不是大家吹牛逼就好了。

我大概Google了一下,微软在Windows Server 2003 SP1的时候引入的HotPatching。参见这篇文章: http://jpassing.com/2011/05/01/windows-hotpatching/ 此文作者是Johannes Passing,他是Windows内核方面的权威,目前在德国做咨讯服务,相关经历参见此人LinkedIn: https://www.linkedin.com/in/johannespassing 从这一点看,@ly841000 的说法确实是有依据的。但是仔细看就会发现,微软所谓的HotPatching并不能让所有补丁都实时地打上。原文中的说法是:“it is, however, not applicable to all kinds of code fixes. Generally speaking, it can only be used for fixes that merely comprise smallish code changes but do not affect layout or semantics of data structures. A fix for a buffer overflow caused by an off-by-one error, however, is a perfect example for a fix that could certainly be applied using the Hotpatching infrastructure.” 这段描述则符合 @jun4rui 的说法。而且从这些描述看,和Linux的Live Patch好像还是有区别的,但是微软没有公开这个特性的实现细节,所以不好判断。

在微软的官方页面上,HotPatching只在Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2上有: https://technet.microsoft.com/en-us/library/cc781109(v=ws.10).aspx 换句话说,@loqixh 说的Windows XP也支持那就无从谈起了。而且从支持的列表上看新版本的Windows系统早就不支持这个特性了。

如果你认真读一下我前面给出的Johannes Passing的那篇博客就知道,微软早就放弃HotPatching这个特性。原文是:“In the months after the release of SP1, a certain fraction of the hotfixes issued by Microsoft were indeed hotpatch-enabled and could be applied without a reboot. Interestingly, however, I am not aware of a single hotfix issued since Server 2003 SP2 that supported hotpatching!” 从我前面给出的支持列表里看,之后的操作系统也的确没有支持Htopatching这个特性了。部分原因是出于安全考虑,比如这个: http://www.blackhat.com/presentations/bh-usa-06/BH-US-06-Sotirov.pdf

有意思的是,在HN上之前也讨论了Linux内核的这个特性 https://news.ycombinator.com/item?id=9028389 。那里在讨论到windows和其他操作系统的特性的时候,总会有个发言者给出了连接或者特性的名称方便大家搜索。真心建议大家在讨论这种事实判断之前,先去找找事实。我个人真的很不喜欢拿在讨论中资历去压人,更何况这个资历是“曾经选修了Linux内核“……
ryd994
2015-04-14 10:51:13 +08:00
@ly841000 linode本来就是玩玩为主啊…………
aws,azure,gce,大点的都是独立主机了
再说了,用普及度来说明稳定性……这什么逻辑?

另外文中的hotpatch根本没内核半毛钱事,dll于windows就像ko、so于linux,君不见ntdll升级还是要重启么?我英文不好你别蒙我。前两条就是目录结构的事而已,linux作为(类)UNIX,从一开始就没这个问题。
ryd994
2015-04-14 10:52:58 +08:00
@bellchu 珍爱生命远离贱兔
ryd994
2015-04-14 10:55:20 +08:00
@lq21138 桌面也先进啊,而且非常用户友好——如果你觉得它用户不友好,那你就不是它的用户LOL
phx13ye
2015-04-14 10:58:39 +08:00
脸肿么了?23333
bellchu
2015-04-14 10:59:43 +08:00
@ryd994 别这样,Gentoo妥妥的。
jun4rui
2015-04-14 11:02:35 +08:00
其实判定补丁技术还有个办法。Windows很多时候还需要在开机、关机的时候补,Linux几乎在运行的同时就可以补,只是需要重启生效而已。
ryd994
2015-04-14 11:06:20 +08:00
@bellchu 作为fedora教徒,我就等着更新包粗线,然后第一个回来晒……
看你贱兔编译多久……XD
bellchu
2015-04-14 11:10:08 +08:00
@ryd994 内存够的话-j20一下子就好了,USE用起来方便啊。
ryd994
2015-04-14 11:12:21 +08:00
我槽,诸位,f22已经有kernel4.0的包了!
ryd994
2015-04-14 11:13:16 +08:00
@bellchu 我作死f21装f22的kernel包去了XD
看你追的上?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/183490

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX