一种Linux系统下基于细粒度系统状态检测的升级方法技术方案

技术编号:17779421 阅读:41 留言:0更新日期:2018-04-22 07:46
一种Linux系统下基于细粒度系统状态检测的升级方法,步骤包括:S1:生成带有当前系统完整状态的升级校验文件;S2:根据所述升级校验文件计算出可升级版本;S3:从所述可升级版本中选择需要升级的目标版本;S4:计算出升级列表,进行包冲突判断;S5:生成静态升级文件;S6:将所述静态升级文件和升级到所述目标版本需要用到的指令执行程序打包成升级包,并进行版本升级。本申请的有益效果是:基于系统状态的细粒度判断,生成的升级校验文件更可靠;排除冲突后精细化生成升级包,确保各种状态的操作系统都可以安全统一的升级到目标版本;对于不同项目和应用场景的操作系统,可自动区分,各项目拥有自己的版本状态和升级路线,可选择升级到路线中任意可用的版本状态。

【技术实现步骤摘要】
一种Linux系统下基于细粒度系统状态检测的升级方法
本申请属于Linux系统升级
,具体地说,涉及一种Linux系统下基于细粒度系统状态检测的升级方法。
技术介绍
随着终端设备的不断更新,操作系统的不断完善,终端设备每隔一段时间就需要进行一次系统的升级。目前主流操作系统升级方法是:将最新的升级包放在升级服务器,终端设备如果检测到有新的系统版本,则会提示用户升级,待用户确认后,将从升级服务器下载最新的升级包进行升级。这种常规升级方法存在以下不足:(1)不同于Windows将系统关键组件和用户软件分别处理,Linux系统关键组件和普通软件是以同一种形态存在的,即软件包。而因为软件包之间的复杂依赖关系,用户在安装、卸载、升级软件包时可能会直接或间接地影响系统关键组件。此时,安装固定不变的系统升级包可能对系统已经不起作用,甚至导致系统混乱。这也是升级Linux系统经常出现异常问题的原因;(2)在实际应用中,面对不同的客户和使用环境,操作系统会衍生出不同的类型、分支、版本、甚至体系结构,面对这四种情况,所需要的升级包也各不相同,手动制作升级包、手动匹配终端和升级服务器都会产生巨大的工作量;(3)常规方法只能统一将操作系统升级到固定的最新版本,无法选择升级到一个中间状态。中国专利技术专利“一种Linux操作系统及其安全升级方法”(申请号CN102662647A),该专利技术通过对所要升级的计算机进行保密级别的判断并通过可移动存储介质来进行升级,克服了在断网或计算机要求保密的情况下操作系统无法升级的技术问题,达到了对操作系统进行安全升级的目的。和本专利区别:本专利是一种Linux系统下基于细粒度系统状态检测的升级方法,专利方向不一样。中国专利技术专利“系统升级方法及装置”(申请号CN105242945A),该专利技术升级过程对用户终端存储的升级准则进行查询,并对比服务器的升级准则,若满足升级条件就对用户系统进行升级。和专利技术区别:本专利技术会对系统状态、软件包状态和配置文件状态进行检测及进行软件包冲突判断,且能对于不同项目和应用场景的操作系统,可自动区分,各项目拥有自己的版本状态和升级路线,可选择升级到路线中任意可用的版本状态。中国专利技术专利“一种智能终端的系统升级方法及装置”(申请号CN105045671A),该专利技术获取已连接智能终端的存储容量值;将所述获取的存储容量值与系统升级包适用的智能终端的存储容量值进行匹配;如果匹配成功,则向所述已连接智能终端发送所述系统升级包进行升级。和本专利技术区别:本专利技术会对系统状态、软件包状态和配置文件状态进行检测及进行软件包冲突判断,且能对于不同项目和应用场景的操作系统,可自动区分,各项目拥有自己的版本状态和升级路线,可选择升级到路线中任意可用的版本状态。中国专利技术专利“一种UNIX环境软件系统升级方法”(申请号CN105117263A),该专利技术为升级包预先建立目录结构,根据所有应用服务器中两两之间的配置差异建立规则映射表,然后将该规则映射表预先存储至所有应用服务器内,综合规则映射表将安装成功的升级包适用到其他应用服务器上,完成所有应用服务器完成自适应升级包的安装部署。和本专利技术区别:本专利技术是一种Linux系统下基于细粒度系统状态检测的升级方法,专利方向不一样。中国专利技术专利“终端系统升级方法、装置及服务器”(申请号CN104778057A),该专利技术接收终端发送的版本升级请求;根据当前系统版本和用户标识,确定终端的待升级版本;检测是否存储了待升级版本与当前系统版本之间的差分包;如果未存储差分包,则将待升级版本的大包和当前系统版本的大包进行差分处理,得到差分包;将差分包下发至终端,终端用于根据差分包进行系统升级。和本专利技术区别:本专利技术会对系统状态、软件包状态和配置文件状态进行检测及进行软件包冲突判断,且能对于不同项目和应用场景的操作系统,可自动区分,各项目拥有自己的版本状态和升级路线,可选择升级到路线中任意可用的版本状态。中国专利技术专利“一种终端更新系统及其更新方法”(申请号CN104572212A,该专利技术主要通过更新配置文件1与本地更新配置文件0、本地临时更新配置文件L比较确定需要下载的文件列表,然后根据文件列表下载需要更新文件。和本专利技术区别:本专利技术是一种Linux系统下基于细粒度系统状态检测的升级方法,专利方向不一样。
技术实现思路
有鉴于此,本申请为了解决现有技术存在的缺陷和不足,提供了一种Linux系统下基于细粒度系统状态检测的升级方法,以解决传统操作系统升级可能产生的版本混乱等问题。为了解决上述技术问题,本申请公开了一种Linux系统下基于细粒度系统状态检测的升级方法,并采用以下技术方案来实现。一种Linux系统下基于细粒度系统状态检测的升级方法,步骤包括:S1:生成带有当前系统完整状态的升级校验文件;S2:根据所述升级校验文件计算出可升级版本;S3:从所述可升级版本中选择需要升级的目标版本;S4:计算出升级列表,进行包冲突判断;S5:生成静态升级文件;S6:将所述静态升级文件和升级到所述目标版本需要用到的指令执行程序打包成升级包,并进行版本升级。进一步的,所述升级校验文件基于客户端对系统状态进行细粒度检测而生成,所述细粒度检测的内容包括:a)用户系统认证信息:若未经授权或激活,则停止升级程序;b)出库序列号:若无所述出库序列号或所述出库序列号在数据库中无记录则停止升级程序;c)系统版本号:用于定位所述用户系统版本所属项目和/或历史节点;d)系统架构:用于定位所述用户系统版本的可升级版本;e)软件包列表:用于在选定所述目标版本后进行包列表对比。进一步的,所述升级校验文件生成的具体步骤包括:S11:获取未生成的校验文件;S12:检测用户系统的出库序列号是否为空,若不为空则查询数据库看是否记录在案,否则不予升级;S13:检测出库版本,若验证出库版本为非正常出库版本,则停止生成校验文件,进入S11;否则进入下一步;S14:检测用户授权文件是否完整,若完整则进入下一步,若不完整或系统未进行激活认证,则不予升级;S15:判断所述系统是否被授权或被激活,若未授权或未激活,则停止生成校验文件,进入S11;否则进入下一步;S16:获取系统版本号、系统架构和/或已安装包列表;S17:将获取到的所述系统版本号、所述系统架构及所述已安装包列表整合成升级校验文件。进一步的,所述包冲突判断的判断步骤包括:S41:第一次包冲突判断:将所述升级校验文件与所述目标版本进行包列表和包版本的包冲突判断,得出升级安装包列表;S42:第二次包冲突判断:将所述需要升级安装包列表与当前系统版本中已安装包列表进行包冲突判断。更进一步的,所述包冲突判断的判断步骤还包括:S43:所述包冲突判断结果若为存在冲突包,则无法正常升级,选择放弃升级或自动卸载所述冲突包;若卸载所述冲突包则并继续升级到所述目标版本;若继续升级,将会保持所述目标版本的包完整性。再进一步的,判断已安装包与被列入所述升级安装包列表的包是否存在相容性冲突;判断已安装包的依赖包或库的版本,与被列入所述升级安装包列表的包所依赖的包或库是否存在版本冲突。进一步的,所述S2的具体内容为:根据所述升级校验文件中的系统版本号和架构查询数据库,通过架构信息定位所述系统对应的位数,再通过所本文档来自技高网
...
一种Linux系统下基于细粒度系统状态检测的升级方法

【技术保护点】
一种Linux系统下基于细粒度系统状态检测的升级方法,步骤包括:S1:生成带有当前系统完整状态的升级校验文件;S2:根据所述升级校验文件计算出可升级版本;S3:从所述可升级版本中选择需要升级的目标版本;S4:计算出升级列表,进行包冲突判断;S5:生成静态升级文件;S6:将所述静态升级文件和升级到所述目标版本需要用到的指令执行程序打包成升级包,并进行版本升级。

【技术特征摘要】
1.一种Linux系统下基于细粒度系统状态检测的升级方法,步骤包括:S1:生成带有当前系统完整状态的升级校验文件;S2:根据所述升级校验文件计算出可升级版本;S3:从所述可升级版本中选择需要升级的目标版本;S4:计算出升级列表,进行包冲突判断;S5:生成静态升级文件;S6:将所述静态升级文件和升级到所述目标版本需要用到的指令执行程序打包成升级包,并进行版本升级。2.根据权利要求1所述Linux系统下基于细粒度系统状态检测的升级方法,其特征在于:所述升级校验文件基于客户端对系统状态进行细粒度检测而生成,所述细粒度检测的内容包括:a)用户系统认证信息:若未经授权或激活,则停止升级程序;b)出库序列号:若无所述出库序列号或所述出库序列号在数据库中无记录则停止升级程序;c)系统版本号:用于定位所述用户系统版本所属项目和/或历史节点;d)系统架构:用于定位所述用户系统版本的可升级版本;e)软件包列表:用于在选定所述目标版本后进行包列表对比。3.根据权利要求1或2所述Linux系统下基于细粒度系统状态检测的升级方法,其特征在于:所述升级校验文件生成的具体步骤包括:S11:获取未生成的校验文件;S12:检测用户系统的出库序列号是否为空,若不为空则查询数据库看是否记录在案,否则不予升级;S13:检测出库版本,若验证出库版本为非正常出库版本,则停止生成校验文件,进入S11;否则进入下一步;S14:检测用户授权文件是否完整,若完整则进入下一步,若不完整或系统未进行激活认证,则不予升级;S15:判断所述系统是否被授权或被激活,若未授权或未激活,则停止生成校验文件,进入S11;否则进入下一步;S16:获取系统版本号、系统架构和/或已安装包列表;S17:将获取到的所述系统版本号、所述系统架构及所述已安装包列表整合成升级校验文件。4.根据权利要求1或2所述Linux系统下基于细粒度系统状态检测的升级方法,其特征在于:所述包冲突判断的判断步骤包括:S41:第一次包冲突判断:将所述升级校验文件与所述目标版本进行包列表和包版本的包冲突判断,得出升级安装包列表;S42:第二次包冲突判断:将所述需要升级安装包列表与当前系统版本中已安装包列表进行包冲突判断。5.根据权利要求4所述Linux系统下基...

【专利技术属性】
技术研发人员:马俊刘晓东余杰黄晟文波张冬松李翔贺冰马超夏若冰伍凯歌
申请(专利权)人:天津麒麟信息技术有限公司
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1