1
dreamtrail 2015-04-13 21:56:24 +08:00
还是linux先进,不知道windows要何年才能更新不重启。。
|
2
lq21138 2015-04-13 23:18:14 +08:00
@dreamtrail 先进只是说在服务器上吧。。。桌面上要先进会没人用?
|
3
hjc4869 2015-04-13 23:21:04 +08:00
@dreamtrail
Windows更新需要重启的原因远远比这个复杂,并不是每次重启都要更新内核的😂😂😂 更新这大概是个历史遗留问题了,而同样的历史遗留问题巨硬还有一大把。。。有很多影响远远大于这个的,所以更新需要重启大概短时间内也不会解决吧…… |
4
loqixh 2015-04-14 01:50:41 +08:00 via iPhone
@dreamtrail 无语,这功能xp就实现了,都玩腻了,去年的更新重启次数win server2012 core版远比linux少
|
5
rwalle 2015-04-14 07:12:32 +08:00
@dreamtrail 其它发行版没关注过,但我记得Ubuntu好像经常更新后需要重启?再说Windows多数更新也是不需要重启的
|
6
jun4rui 2015-04-14 07:15:00 +08:00 1
@loqixh 说XP实现的你是认真的?
Linux和Windows不同,很多东西都在内核中,要改进只能更新内核,所以Linux的内核免重启功能作用比Windows要大很多的。Windows还有个糟糕的问题,就是在跑的东西不关掉就没法更新,linux则不会,在运行的玩意一样可以更新,还有文件系统、架构支持广之类的优势,做服务器linux要好得多,超算之类的还有很多服务器商提供的数据都是Linux超过Windows。 |
7
jun4rui 2015-04-14 07:20:22 +08:00 4
Windows如果是更新内核,那是不可能不重启的,基于Windows的机制只能说除非它更新的压根就不是内核。
更新内核Windows只能重启,所以Windows会有bug存在好几天甚至更久时间的问题,Linux相反有问题可以天天补,一天补几次,例如上次爆发的shell漏洞,就算不能彻底补上,也能给你很快推送临时解决的方案,再破我立刻再补这是神一样的补丁速度。 缺点就是补内核要重启生效,现在这个问题也解决了。 |
9
jun4rui 2015-04-14 08:23:20 +08:00
@hjc4869 有漏洞就补才是负责的表现,管理员如果懒也可以自己选择像微软一样过几天后再补上嘛。Linux这种补丁方式选择权在用户手里,我觉得挺好。
|
10
mongodb 2015-04-14 08:24:07 +08:00
虽然之前就说要合并了。。。但真看到还是喜忧参半。
看起来内核更新不用重启很振奋人心,尤其是对大部分普通应用来说不用操心系统的事。。。总觉得内存上会有隐忧。 |
11
initialdp 2015-04-14 08:30:26 +08:00
有谁能讲解一下这个黑科技吗? 如果是一般用户层级的应用程序,能应用这个技术吗?还是说限制在内核级应用?
|
13
ly841000 2015-04-14 08:52:45 +08:00
@jun4rui 去好好研究下两者的更新的机制再说话吧。。。。而且Linux这个也不是说以后更新内核再也不用重启了,只是一个热补丁机制,可以解决bug的方案
我同时用win server 2012 core和 Ubuntu ,Ubuntu重启次数比win多几倍难道是幻觉? |
15
jun4rui 2015-04-14 09:06:24 +08:00
@ly841000 Linux是大内核,很多都在内核里面,Windows不是大内核,很多都在内核外面。而且Linux对内核的理性更新也更加频繁,其实服务器用没bug压根就不用重启,这些我前面就写过了,清楚了解两者内核架构的都不会这么说。
你知道Windows重启的少没错,但是你对内在原因没有了解了,所以推论也是错误的。 |
16
ly841000 2015-04-14 09:10:29 +08:00
|
17
ly841000 2015-04-14 09:16:07 +08:00
@jun4rui 原理性的东西我可能比你更清楚,曾经选修了Linux内核,线程调度之类的代码都研究过很多遍,Win 2003的wrk源码也研究过很多次,Linux和Win各自的特点缺点我很清楚,我只是对那些神话Linux,对Windows 10多年前就实现的功能的叫唤很无语。。。。。
|
18
jun4rui 2015-04-14 09:16:11 +08:00
@ly841000 你现在还没明白我说的大内核的意思吗?Linux内核什么驱动、改进、功能模块都在里面,添加功能也会更新、升级驱动也要更新,服务器只要更新bug部分就可以了,不需要升级各类驱动之类的,要是你Windows服务器天天升级各种驱动你看看要不要重启?
|
20
jun4rui 2015-04-14 09:20:48 +08:00
@ly841000 你对Linux的服务器维护太没有经验了,Ubuntu底下更新什么就升级什么,实际上服务器不升级大部分组件,只做bug和安全更新。
说道服务器,我1999年开始用Linux,Windows在windows3.0时代开始使用,比资格还是免了 |
21
ly841000 2015-04-14 09:22:25 +08:00
@jun4rui 。。。。是你自己不懂。。。。。关键是 我只更新了bug部分。。。。。。。。。你见过哪个Server版操作系统天天去更新最新版的内核?都是用N年前的好吧。。。。。。。。。。。
|
24
jun4rui 2015-04-14 09:32:18 +08:00
|
25
wsgzao OP @initialdp 推荐我之前看的两篇文章吧,可能比较基础
## Linux内核热补丁的四种技术 http://linux.cn/article-4656-1.html ## 零代价修复海量服务器的内核缺陷——UCloud 内核热补丁技术揭秘 https://ruby-china.org/topics/20680 |
27
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 |
28
ly841000 2015-04-14 10:36:44 +08:00
|
30
monnand 2015-04-14 10:45:04 +08:00 9
@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内核“…… |
31
ryd994 2015-04-14 10:51:13 +08:00
@ly841000 linode本来就是玩玩为主啊…………
aws,azure,gce,大点的都是独立主机了 再说了,用普及度来说明稳定性……这什么逻辑? 另外文中的hotpatch根本没内核半毛钱事,dll于windows就像ko、so于linux,君不见ntdll升级还是要重启么?我英文不好你别蒙我。前两条就是目录结构的事而已,linux作为(类)UNIX,从一开始就没这个问题。 |
34
phx13ye 2015-04-14 10:58:39 +08:00
脸肿么了?23333
|
36
jun4rui 2015-04-14 11:02:35 +08:00
其实判定补丁技术还有个办法。Windows很多时候还需要在开机、关机的时候补,Linux几乎在运行的同时就可以补,只是需要重启生效而已。
|
39
ryd994 2015-04-14 11:12:21 +08:00
我槽,诸位,f22已经有kernel4.0的包了!
|
41
ryd994 2015-04-14 11:16:01 +08:00
Fedora用户已经用上4.0了:
uname -r 4.0.0-0.rc5.git4.1.fc22.x86_64 |
44
Actrace 2015-04-14 11:43:46 +08:00
微内核大法好~unix大法好~
|
47
jarlyyn 2015-04-14 12:00:23 +08:00 1
@lq21138
题外话: 虽然作为一个linux桌面忠实用户也必须认可这一点,但说这话不怕被这个坛子里海量的果粉围攻? 这个坛子可是有很多果粉因为我这个linux桌面用户认为MAC作为生产力上装windows很正常,windows用市场占有率证明了他比Mac os 优秀而block了我一大片哦。 虽然我一般都是当他们show对于windows的优越感的时候才说自己是linux用户,猥琐了点。 |
49
jarlyyn 2015-04-14 12:07:51 +08:00
|
50
msg7086 2015-04-14 12:15:39 +08:00
手里的debian服务器都是不到断电/机房搬迁/忘记付费就不会重启的。
用ubuntu跑服务器的……呃我还是不多做评论了,世界观不太一样。 $ cat /etc/issue.net Debian GNU/Linux 8 $ uptime 21:13:48 up 244 days, 13:08, 1 user, load average: 0.76, 0.69, 0.43 $ cat /etc/issue.net CentOS release 5.6 (Final) $ uptime 12:15:28 up 1349 days, 6:19, 1 user, load average: 0.92, 0.91, 0.90 |
51
msg7086 2015-04-14 12:18:16 +08:00
|
53
min 2015-04-14 13:35:28 +08:00
现在都什么年代了,打补丁重启一下能算什么大事儿?
各位搞运维的会管理很多重启一台就会导致服务中断的服务器么? |
54
Havee 2015-04-14 13:44:01 +08:00 1
@ly841000 linux 除了内核更新,还有什么需要重启的?
mod 不需要重启内核,init、unit 等不需要重启内核,X server 更不需要重启内核,对众多运维来说,基本锁定一个内核版本,除非有新的特性需求,否则内核是雷打不动的。 你先来举例说说,究竟你的 ubuntu 更新了什么,你要去启动重启命令吧,然后让众多的 Linux User 来看看,这些究竟是否需要重启。如果你更新了 某 gnome 组件,而觉得必须要去重启内核的话,那么你赢了 |
56
kiritoalex 2015-04-14 14:14:08 +08:00 via Android
@bellchu 这也是清风博主的方法XD
|
58
bellchu 2015-04-14 14:19:40 +08:00
@kiritoalex 虽然我不知道你说的清风博主是谁,但是我想说Gentoo默认安装就是这样的,不是什么方法。当然你也可以去kernel官网下载内核下来编译。
|
59
bellchu 2015-04-14 14:21:24 +08:00
@jarlyyn 我是选的all mirrors,rsync的时候gentoo会判断哪个mirror延迟最低,就选哪个,163和sohu还有那个什么大学的是gentoo的几个官方include的源。163很少能到今天的速度的,sohu的一直很快。可能163用的人太多了。
|
60
kiritoalex 2015-04-14 14:34:04 +08:00 via Android
@bellchu 这相当于切换到unstable的分支
|
61
bellchu 2015-04-14 14:40:32 +08:00
@kiritoalex 对啊,不然只有3.18的内核,当然你可以unmask来玩儿新的,但是其他依赖还是老的,桌面这么玩儿会疯。所以还是用~arch ~amd64尝鲜新玩意儿。
当然,服务器不敢这么玩儿。 |
63
rainy3636 2015-04-14 17:23:40 +08:00
debian/ubuntu 换内核方便 http://kernel.ubuntu.com/~kernel-ppa/mainline/
|
64
ryd994 2015-04-14 19:43:59 +08:00 via Android
|
66
andyhenry 2015-04-15 01:24:32 +08:00 via iPhone
在mac上用arch的表示,不会滚内核和无线驱动。
ps 显卡驱动在mesa更新后要重装 |
67
jun4rui 2015-04-15 07:28:21 +08:00
刚才看新闻,Windows爆出所有版本都有的漏洞,到现在官方似乎还没有回应?这问题要是在Linux被爆出来早就修好了吧?很多白客组织在披露漏洞的同时,还会把原因、代码分析和修复方案都披露出来,闭源的玩意有时候你用着真心觉得操蛋。
|
68
jun4rui 2015-04-15 07:30:20 +08:00 1
上次微软居然还好意思抱怨Google提示漏洞后30天就公开了,也真好意思
|
71
jarlyyn 2015-04-15 10:25:54 +08:00
|
74
ryd994 2015-04-15 13:25:29 +08:00 via Android
|
79
JamesRuan 2015-04-15 18:59:11 +08:00
@ryd994 我也接受不了那些说Gnome环境好的,说Gnome更漂亮啥的(审美观一定和我不一样),一点也不看桌面环境带来的自由度。
要说2015年的KDE是最先进的完整桌面环境,一点也不为过。 |