|
本帖最后由 wu733 于 2025-3-24 21:52 编辑
重新细分取代关系:
取代关系:
1、卸载取代:已知旧补丁A是新补丁B的子集,且打了旧补丁A,紧接着再打新补丁B,重启后旧补丁A从卸载更新列表(uninstall updates list)中消失。即可判断新补丁B卸载取代了旧补丁A。旧补丁A被完全卸载了,荡然无存、了无痕迹。此时可以选择跳过旧补丁A,只打新补丁B。
比如:KB5017361(2022年9月度汇总)是KB5044356(2024年10月度汇总)的子集,打了KB5017361,紧接着再打KB5044356,重启后作为旧补丁的KB5017361将从卸载更新列表中消失,这种就是卸载取代。可以选择跳过KB5017361,只打KB5044356。
注:卸载取代一般常见于月度汇总之间。服务堆栈之间并不存在卸载取代,打了A堆栈,再打B堆栈,两者并存,所以不符合卸载取代的判断条件,比如已知旧堆栈KB3020369(2015年05月12日服务堆栈)是新堆栈KB4490628(2019年03月服务堆栈)的子集,则可以跳过旧堆栈KB3020369,只打新堆栈KB4490628。
2、继承取代:已知旧补丁A与新补丁B相交,且打了旧补丁A,紧接着再打新补丁B,重启后旧补丁A从卸载更新列表中消失,旧补丁A不同于新补丁B的修复或影响被新补丁B继承了下去。即可判断新补丁B继承取代了旧补丁A。旧补丁A虽然从卸载更新列表中消失,但是它与新补丁B藕断丝连,打断骨头连着筋。
比如:KB3197868月度汇总与KB2631813是取代关系,前者取代后者,KB4534310月度汇总不取代KB2631813,且KB3197868月度汇总与KB4534310月度汇总相交。此时打了KB3197868,紧接着再打KB4534310,重启后作为旧补丁的KB3197868将从卸载更新列表中消失,新补丁KB4534310继承了旧补丁KB3197868对KB2631813的取代关系。这种就是继承取代。
注:继承取代一般常见于旧的月度汇总(2018年以前)与新的月度汇总(从2018年1月开始)之间。服务堆栈之间也不存在继承取代,已知旧堆栈A与新堆栈B相交,打了A堆栈,再打B堆栈,两者是并存关系。比如:旧堆栈KB4490628(2019年03月服务堆栈)与新堆栈KB5039339(2024年06月服务堆栈)相交。
3、推送取代:已知旧补丁A、新补丁B均为WU推送列表(WU push list)中的补丁,且仅仅打了新补丁B后,重新检查WU,旧补丁A从WU推送列表中消失。即可判断新补丁B推送取代了旧补丁A。很多时候,我们很难判断旧补丁A是否被新补丁B取代,直接交由Windows Update更新机制去判断是最简单的方法。倒序安装也是由此而来。
比如:KB2631813、KB3110329均为WU推送列表中的补丁,打了KB3110329后,重新检查WU,KB2631813已经从WU推送列表中消失,即可判断KB3110329取代了KB2631813,这种就是推送取代。
注:旧的定义是,打了A补丁,导致B补丁消失,称为A补丁取代了B补丁。就是指上面的推送取代,一般常见于补丁与补丁之间或月度汇总与补丁之间(除了月度汇总之间和服务堆栈更新之间的卸载取代和继承取代)。本帖大部分都是推送取代。推送取代命名还是有点不妥,但是暂时想不出更好的,再就是还有一种清理取代,也暂不进行定义,常见的也就这三种了。
|
|