热补丁


热补丁

文章插图
热补丁【热补丁】热补丁(hotfix),又称为patch,指能够修复软体漏洞的一些代码,是一种快速、低成本修复产品软体版本缺陷的方式 。通过电子邮件或者其他途径来通知用户有关热补丁的讯息,一般在软体供应商的网站上可以免费下载补丁程式 。和升级软体版本相比,热补丁的主要优势是不会使设备当前正在运行的业务中断,即在不重启设备的情况下,可以对设备当前软体版本的缺陷进行修复 。
基本介绍中文名:热补丁
外文名:hotfix
又称为:patch
属于:软体漏洞的一些代码
补丁表现形式补丁(又被称为补丁单元)是用来修复某个缺陷的程式包,通常以补丁档案的形式发布,一个补丁档案可能包含一个或多个补丁,不同的补丁具有不同的功能 。有时软体公司会把一系列热补丁打包提供下载,称这些代码为联合补丁或者service pack 。当补丁档案被用户从存储介质载入到记忆体补丁区中时,补丁档案中的补丁将被分配一个在此记忆体补丁区中唯一的单元序号,用于标誌、管理、操作各补丁,补丁的单元序号从1开始顺序编号,如某补丁档案中有3个补丁单元,那合法的补丁单元号为1、2和3 。增量补丁补丁档案中的补丁均为增量补丁 。所谓增量补丁,是指各补丁单元对于在其前面的补丁单元有依赖性 。也就是说,如果补丁档案中有3个补丁单元,则3号补丁必须在1号和2号补丁生效之后才能运行,而不能直接单独运行3号补丁 。补丁分类补丁分为正式补丁和临时补丁两种:l 正式补丁(Common patches)是通过版本发布流程发布的补丁 。l 临时补丁(Temporary patches)是未通过版本发布流程发布,用于临时解决紧急问题和需求的补丁 。正式补丁总会包含前面临时补丁的功能,从而替代前面的临时补丁 。补丁的类型只对补丁载入(Load)过程产生影响——系统在载入正式补丁之前会先将系统中所有临时补丁删除 。补丁状态每个补丁都有自身的状态,只有在用户命令行的干预下才能发生切换 。补丁状态切换与命令操作关係如图 1所示,其中IDLE、DEACTIVE、ACTIVE和RUNNING表示补丁的不同状态,载入、临时运行、确认运行、停止运行、删除、安装、卸载表示补丁操作,分别对应命令patch load、patch active、patch run、patch deactive、patch delete和patch install、undo patch install,箭头方向表示状态的转变方向,比如对DEACTIVE状态的补丁执行patch active操作,补丁的状态就会变为ACTIVE 。图 1 补丁状态切换与命令操作关係图初始状态表示尚未载入补丁,无法进行安装、运行等补丁操作,如图 2所示(假设系统补丁区中最多可以载入8个补丁) 。系统重启后,所有处于IDLE状态的补丁仍为IDLE状态 。图 2 补丁未载入
热补丁

文章插图
未激活状态表示补丁已经被载入到记忆体补丁区,但尚未运行 。假设用户将载入的补丁档案包含7个补丁,则这7个补丁将在经过版本校验及CRC校验之后被载入到记忆体补丁区,载入成功的补丁处于DEACTIVE状态,此时系统中补丁状态如图 3所示 。系统重启后,所有处于DEACTIVE状态的补丁仍为DEACTIVE状态 。图 3 补丁档案被载入
热补丁

文章插图
激活状态表示补丁已经被临时运行,即该补丁在设备重启之后不再生效 。对于图 3中7个处于DEACTIVE状态的补丁,用户如果激活前5个补丁,则前5个补丁的状态将由DEACTIVE状态变成ACTIVE状态,此时系统中补丁状态如图 4所示 。系统重启后,所有处于ACTIVE状态的补丁将变成DEACTIVE状态 。图 4 补丁被激活