CN114003264A - 一种Linux操作系统升级方法 - Google Patents

一种Linux操作系统升级方法 Download PDF

Info

Publication number
CN114003264A
CN114003264A CN202111651779.XA CN202111651779A CN114003264A CN 114003264 A CN114003264 A CN 114003264A CN 202111651779 A CN202111651779 A CN 202111651779A CN 114003264 A CN114003264 A CN 114003264A
Authority
CN
China
Prior art keywords
update package
update
installation
package
upgrading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111651779.XA
Other languages
English (en)
Other versions
CN114003264B (zh
Inventor
张东伟
杨雄义
蒋林轩
史晶
张超
彭欢
郭俊余
张铎
魏立峰
程启
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kirin Software Co Ltd
Original Assignee
Kirin Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kirin Software Co Ltd filed Critical Kirin Software Co Ltd
Priority to CN202111651779.XA priority Critical patent/CN114003264B/zh
Publication of CN114003264A publication Critical patent/CN114003264A/zh
Application granted granted Critical
Publication of CN114003264B publication Critical patent/CN114003264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及一种Linux操作系统升级方法,包括以下步骤:S100:更新发布:管理员将更新包发布在更新发布系统中,并在更新发布系统录入当前客户端操作系统服务序列号,系统升级客户端根据服务序列号获取更新包下载仓库地址;S200:更新下载流程:系统升级客户端获取索引文件,根据索引文件计算并下载可升级的更新包;S300:更新安装流程:系统升级客户端根据下载的更新包进入预安装模式,模拟更新包在本地的安装:如果所有更新包模拟安装成功,则系统升级客户端进入正式安装流程,完成对所有更新包的可靠安装,否则,对模拟安装失败的更新包进行修复,若修复失败则结束本次更新,并上报失败原因。

Description

一种Linux操作系统升级方法
技术领域
本发明涉及一种Linux操作系统系统领域,具体涉及一种Linux操作系统升级方法。
背景技术
对于计算机操作系统而言,系统版本的更新升级是解决系统漏洞,提升系统性能的重要手段。在Linux系统中,系统是由一系列软件包组成,操作系统内核与核外软件均以软件包的形式进行组织和管理,不同软件包之间存在复杂的依赖关系,换句话说,Linux操作系统就是众多软件包的集合。因此,对于Linux系统的升级一般通过升级软件包的方式来实现。基于该方式的升级通常是将新版本系统的软件包上传至服务器,客户端检测到有新版本升级包之后下载到本地直接安装完成升级。
Linux操作系统本质上是众多软件包的集合,为确保系统能够正常运行,各个软件包之前具有复杂的依赖关系,任何对于软件包的安装、升级操作,必须满足对应依赖关系,否则无法安装成功。而对Linux操作系统的升级,实质就是对各个软件包升级的过程,如果部分软件包因用户日常使用导致依赖关系被破坏,此时如果直接安装更新包,极有可能导致部分软件包升级失败,而部分包升级成功,造成非完全更新从而导致系统损坏。
因此,常规的升级方法存在以下缺点:
Linux系统中的软件包存在复杂的依赖关系,用户在日常使用过程中对软件包的操作可能会破坏系统原有的软件包依赖关系,此时若进行系统升级,部分软件包可能因依赖关系的破坏而导致升级失败,而剩余软件包升级成功,造成系统升级不完全的情况。
在实际应用中,系统升级可能只会针对某一批次的客户端系统进行升级,这种情况需要系统升级客户端支持服务端对其远程配置及管理,这一需求很可能会使得现有大部分系统升级方法不再有效。
常规方法在遇到升级包安装失败时会停止升级,无法修复异常继续升级。
中国发明专利“一种Linux系统下基于细粒度系统状态检测”(申请号2017112475221),该发明旨在通过服务器校验文件计算出可升级版本,由客户选择目标版本后计算出升级列表,同时进行包冲突判断,生成静态升级文件,然后打包成升级包进行版本升级。但是,该专利依然无法避免实际安装过程中安装失败对系统造成损坏。
中国发明专利“系统升级方法及装置”(申请号CN105242945A),该发明提出终端在升级之前先查询本地存储的升级准则,并与上传服务器进行对比,若符合升级条件则对用户系统升级。该发明未考虑客户端在实际升级过程中的系统环境,安装过程中易出现因系统环境改变致使部分包安装失败从而导致系统升级失败的情况。
中国发明专利“终端系统升级方法、装置及服务器”(申请号CN104778057A),该发明提出采用接收终端发送的版本升级请求的方法,通过当前系统版本和用户表示,确定终端的待升级版本。首先检测是否存储了待升级版本与当前系统版本之间的差分包,若未存储差分包,则将待升级版本包与当前系统版本包进行差分处理,得到差分包,最后将差分包下发至终端,终端根据差分包进行系统升级。同中国发明专利“一种Linux系统下基于细粒度系统状态检测”(申请号2017112475221)一样,该专利依然无法避免实际安装过程中安装失败对系统造成损坏。
发明内容
本发明的主要目的是提供一种Linux操作系统升级方法,在更新包正式安装之前在本地进行预安装,主动检测潜在的安装风险及冲突项,并自动修复冲突并规避风险,避免实际安装过程中安装失败对系统造成损坏。
为了完成上述目的,本发明提供了一种Linux操作系统升级方法,包括以下步骤:
S100:更新发布:
管理员将更新包发布在更新发布系统中,并在更新发布系统录入当前客户端操作系统服务序列号,系统升级客户端根据系统的服务序列号获取更新包下载仓库地址;
S200:更新下载流程:
系统升级客户端获取索引文件,根据索引文件计算并下载可升级的更新包;
S300:更新安装流程:
系统升级客户端根据下载的更新包进入预安装模式,模拟更新包在本地的安装:
如果所有更新包模拟安装成功,则系统升级客户端进入正式安装流程,完成对所有更新包的可靠安装,
否则,对模拟安装失败的更新包进行修复,若修复失败则结束本次更新,并上报失败原因,如果修复成功,则进行模拟安装。
优选的,更新发布系统包括系统升级管理客户端、系统升级管理服务端、系统升级管理平台、更新包下载服务器和数据库,其中:
系统升级管理客户端用于管理当前系统的更新包下载地址,获取当前操作系统的服务序列号并上传至系统升级管理服务端,接收系统升级管理服务端下发的更新包下载地址;
系统升级管理服务端用于接收系统升级管理客户端发送的服务序列号,根据服务序列号在数据库中查询该序列号对应的更新包下载地址,然后将该更新包下载地址发送给对应的系统升级管理客户端;
系统升级管理平台用于实现管理员与系统升级管理服务端的交互,提供可视化交互环境,以便管理员录入或查询信息,以及获取系统升级客户端的升级结果信息;
更新包下载服务器用于存放更新包及对应的索引文件;
数据库:用于保存系统服务序列号对应的更新包下载地址,供系统升级管理服务端查询。
进一步优选的,步骤S100包括以下步骤:
S101:管理员登录系统升级管理平台,点击系统的服务序列号录入按钮,将系统的服务序列号及对应的更新包下载服务器地址录入;
S102:管理员将需要更新的更新包放到指定目录,然后在系统升级管理平台对应的系统的服务序列号配置项中点击上传更新包,更新包上传至系统升级管理平台;
S103:校验上传更新包的md5值;
S104:判断更新包的md5值是否通过校验,如果校验不通过,则系统升级管理平台提示管理员更新包的md5值校验不通过,返回步骤S102,重新上传更新包;否则,进入下一步;
S105:系统升级管理平台的后台将更新包文件同步至与系统服务序列号对应的更新包下载服务器;
S106:更新包下载服务器判断更新包文件是否发送成功,如果没有成功,则将同步失败状态上报给系统升级管理平台,同时系统升级管理平台能够选择重新同步或放弃发布,返回步骤S102,重新上传更新包;否则进入下一步;
S107:更新包下载服务器收到更新包文件,校验更新包md5值,如果校验不通过,则系统升级管理平台提示管理员更新包的md5值校验不通过,返回步骤S102,重新上传更新包;否则,进入下一步;
S108:更新包下载服务器根据最新更新包生成索引文件;
S109:更新包下载服务器向系统升级管理平台反馈更新包同步成功,本次更新发布已就绪。
更进一步优选的,步骤S200包括以下步骤:
S201:系统升级客户端触发检测更新并连接系统升级管理服务端,判断能否连接成功,如果不能成功则提示无法连接更新服务器;连接成功则进入下一步骤S202;
S202:系统升级客户端发送更新请求并上传系统升级客户端的系统的服务序列号,发送完成后进入下一步骤S203;
S203:系统升级管理服务端收到服务序列号后在数据库中查找对应的更新包下载服务器地址,判断查找结果,如果无匹配结果,则返回给系统升级客户端失败状态,如果匹配成功则进入下一步骤S204;
S204:将查询到的更新包下载服务器地址返回给系统升级客户端;
S205:系统升级客户端连接对应的更新包下载服务器;
S206:判断能否连接成功,如果不能连接成功则提示无法连接更新服务器,然后重复执行步骤S205,如果连接成功则进入下一步骤S207;
S207:系统升级客户端向更新包下载服务器发送下载索引文件请求并校验索引文件的md5值,判断校验结果,如果校验失败提示索引文件下载失败,如果校验成功则进入下一步骤S208;
S208:系统升级客户端通过比较索引文件中的更新包版本和本地已安装包版本计算出能够升级的更新包列表;
S209:系统升级客户端检测本地更新包缓存目录,判断目录中是否已存在待更新的更新包;如果存在,则不请求下载此更新包,进入步骤S211;否则,进入下一步骤S210;
S210:系统升级客户端向更新包下载服务器发送下载更新包请求,将更新包下载到本地指定目录后,能够采取md5校验方法验证更新包文件完整性,当校验不通过,系统升级客户端重新发送更新包下载请求;否则,进入下一步骤S211;
S211:系统升级客户端判断所有能够更新的更新包是否均下载成功,如果有更新包还未下载,则进入步骤S209,否则进入步骤S300。
更进一步优选的,步骤S300包括以下步骤:
S301:更新下载完成后,检测是否进入预安装流程,判断可以升级的更新包是否已全部在安装目录,如果有更新包还未下载,则重新进入步骤S200,否则,进入下一步骤S302;
S302:判断磁盘剩余空间是否足够安装更新包,系统升级客户端执行脚本,以获取全部待更新包的安装大小并与磁盘剩余空间进行比较,如果磁盘空间不足则提示用户,更新包预安装失败,进入步骤S307;否则,进入下一步骤S303;
S303:判断更新包安装依赖是否满足,列出更新包的安装依赖并与本地已安装的依赖包版本进行比较,如果依赖不满足则进入步骤S305;依赖满足则进入下一步骤S304;
S304:判断更新包安装是否存在冲突,列出更新包的安装冲突并与本地已安装的更新包进行比较,如果存在冲突进入步骤S306;否则进入下一步骤S307;
S305:对不满足的依赖包进行修复,下载缺失的依赖包,并判断依赖包是否下载成功,如下载失败则退出本次安装并提示用户更新失败,依赖包不满足;若下载成功则进入步骤S304;
S306:对存在冲突的更新包进行修复,提示用户将通过卸载冲突包的方式进行冲突修复,用户可选择放弃修复及更新,更新包预安装失败,进入步骤S307;用户同意后冲突包将被卸载,进入下一步骤S307;
S307:判断更新包预安装是否成功,如果失败则退出升级流程,提示用户系统升级条件不满足,中止升级;否则,进入更新包正式安装流程,将指定安装目录的更新包安装到系统中,将系统升级到预期版本,系统升级结束;
S308:判断所有更新包是否均安装完成,若所有更新包均安装完成则系统升级成功,否则进入步骤S301继续安装剩余更新包。
本发明的有益效果为:
本发明提出在更新包安装之前先进行预安装,模拟整个安装流程是否存在问题,并对问题进行修复,若存在无法修复的问题则停止更新并通知用户,从而避免非完全更新。
具体的,本发明具有如下有益效果:
1、可自动根据系统出库原始版本服务序列号匹配更新包下载地址,使不同项目之间不同版本系统自动关联更新包下载地址;
2、在更新包正式安装之前先进行模拟安装,只有当所有更新包均可模拟安装完成时才进行正式安装,避免直接安装时因部分更新包安装失败而导致的非完全安装造成的系统异常;
3、在模拟安装过程中分析更新包安装失败的原因,并对系统安装环境进行修复,确保系统能稳定可靠的升级到预期形态。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明的更新发布系统的流程示意图;
图2是本发明的步骤S100的更新发布的流程示意图;
图3是本发明的步骤S200的更新下载流程的流程示意图;
图4是本发明的步骤S300的更新安装的流程示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
本实施例提供了一种Linux操作系统升级方法,包括以下步骤:
步骤S100:更新发布:
具体的,在本步骤中,首先,管理员将已出库操作系统软件的服务序列号录入系统升级管理平台,并将与之对应的更新包的下载服务器地址进行绑定并存入数据库中;
其次,管理员通过运行脚本将本次要升级的更新包上传至对应的更新包下载服务器。
最后,更新包下载服务器对上传的更新包进行有效性校验,包括校验文件的md5值,校验完成后更新包下载服务器将生成新的更新包下载索引文件并保存在系统管理服务端。
步骤S200:更新下载流程:
具体的,在本步骤中,首先,系统升级客户端触发检测更新,向系统升级管理服务端上传系统的服务序列号,系统升级管理服务端收到服务序列号后在数据库中查找对应的更新包下载服务器地址,并返回给系统升级客户端;
然后,系统升级客户端到对应的更新包下载服务器下载索引文件并校验索引文件md5值,然后通过比较索引文件中包版本和本地已安装包版本计算出可升级的更新包。
最后,系统升级客户端向更新包下载服务器请求下载这些可升级的更新包,并校验更新包的完整性。
步骤S300:更新安装流程:
具体的,在本步骤中,首先,系统升级客户端触发检测更新,向系统升级管理服务端上传系统的服务序列号,系统升级管理服务端收到系统的服务序列号后在数据库中查找对应的更新包下载服务器地址,并返回给系统升级客户端;
然后,系统升级客户端到对应的更新包下载服务器下载索引文件并校验索引文件md5值,然后通过比较索引文件中更新包版本和本地已安装包版本计算出可升级的更新包;
最后,系统升级客户端向更新包下载服务器请求下载这些可升级的更新包,并校验更新包的完整性。
具体的,如图2所示,步骤S100主要通过括以下步骤完成:
S101:管理员登录系统升级管理平台,点击系统服务序列号录入按钮,将系统服务序列号及对应的更新包下载服务器地址录入;
S102:管理员将需要更新的更新包放到指定目录,然后在系统升级管理平台对应的系统服务序列号配置项中点击上传更新包,更新包上传至系统升级管理平台;
S103:校验上传更新包的md5值;
S104:判断更新包的md5值是否通过校验,如果校验不通过,则系统升级管理平台提示管理员更新包的md5值校验不通过,返回步骤S102,重新上传更新包;否则,进入下一步;
S105:系统升级管理平台后台将更新包文件同步至与系统的服务序列号对应的更新包下载服务器;
S106:更新包下载服务器判断更新包文件是否发送成功,如果没有成功,则将同步失败状态上报给系统升级管理平台,同时系统升级管理平台能够选择重新同步或放弃发布,返回步骤S102,重新上传更新包;否则进入下一步;
S107:更新包下载服务器收到更新包文件,校验更新包md5值,如果校验不通过,则系统升级管理平台提示管理员更新包的md5值校验不通过,返回步骤S102,重新上传更新包;否则,进入下一步;
S108:更新包下载服务器根据最新更新包生成索引文件;
S109:更新包下载服务器向系统升级管理平台反馈更新包同步成功,本次更新发布已就绪。
具体的,如图3所示,步骤S200主要通过以下步骤完成:
S201:系统升级客户端触发检测更新并连接系统升级管理服务端,判断能否连接成功,如果不能成功则提示无法连接更新服务器;连接成功则进入下一步骤S202;
S202:系统升级客户端发送更新请求并上传系统升级客户端的系统的服务序列号,发送完成后进入下一步骤S203;
S203:系统升级管理服务端收到服务序列号后在数据库中查找对应的更新包下载服务器地址,判断查找结果,如果无匹配结果,则返回给系统升级客户端失败状态,如果匹配成功则进入下一步骤S204;
S204:将查询到的更新包下载服务器地址返回给系统升级客户端;
S205:系统升级客户端连接对应的更新包下载服务器;
S206:判断能否连接成功,如果不能连接成功则提示无法连接更新服务器,然后重复执行步骤S205,如果连接成功则进入下一步骤S207;
S207:系统升级客户端向更新包下载服务器发送下载索引文件请求并校验索引文件的md5值,判断校验结果,如果校验失败提示索引文件下载失败,如果校验成功则进入下一步骤S208;
S208:系统升级客户端通过比较索引文件中的更新包版本和本地已安装包版本计算出可升级的更新包列表;
S209:系统升级客户端检测本地更新包缓存目录,判断目录中是否已存在待更新的更新包;如果存在,则不请求下载此更新包,进入步骤S211;否则,进入下一步骤S210;
S210:系统升级客户端向更新包下载服务器发送下载更新包请求,将更新包下载到本地指定目录后,可以采取md5校验方法验证更新包文件完整性,当校验不通过,系统升级客户端重新发送更新包下载请求;否则,进入下一步骤S211;
S211:系统升级客户端判断所有可更新包是否均下载成功,如果有更新包还未下载,则进入步骤S209,否则进入步骤S300。
具体的的,如图4所示,步骤S300主要通过以下步骤完成:
S301:更新下载完成后,检测是否进入预安装流程,判断可以升级的更新包是否已全部在安装目录,如果有更新包还未下载,则重新进入步骤S200,否则,进入下一步骤S302;
S302:判断磁盘剩余空间是否足够安装更新包,系统升级客户端执行脚本,以获取全部待更新包的安装大小并与磁盘剩余空间进行比较,如果磁盘空间不足则提示用户,更新包预安装失败,进入步骤S307;否则,进入下一步骤S303;
S303:判断更新包安装依赖是否满足,列出更新包的安装依赖并与本地已安装的依赖包版本进行比较,如果依赖不满足则进入步骤S305;依赖满足则进入下一步骤S304;
S304:判断更新包安装是否存在冲突,列出更新包的安装冲突并与本地已安装的更新包进行比较,如果存在冲突进入步骤S306;否则进入下一步骤S307;
S305:对不满足的依赖包进行修复,下载缺失的依赖包,并判断依赖包是否下载成功,如下载失败则退出本次安装并提示用户更新失败,依赖包不满足;若下载成功则进入步骤S304;
S306:对存在冲突的更新包进行修复,提示用户将通过卸载冲突包的方式进行冲突修复,用户可选择放弃修复及更新,更新包预安装失败,进入步骤S307;用户同意后冲突包将被卸载,进入下一步骤S307;
S307:判断更新包预安装是否成功,如果失败则退出升级流程,提示用户系统升级条件不满足,中止升级;否则,进入更新包正式安装流程,将指定安装目录的更新包安装到系统中,将系统升级到预期版本,系统升级结束;
S308:判断所有更新包是否均安装完成,若所有更新包均安装完成则系统升级成功,否则进入步骤S301继续安装剩余更新包。
另外,需要说明的是,如图1所示,步骤S100中的更新发布系统包括系统升级管理客户端、系统升级管理服务端、系统升级管理平台、更新包下载服务器和数据库,其中:
系统升级管理客户端用于管理当前系统的更新包下载地址,获取当前操作系统的服务序列号并上传至系统升级管理服务端,接收系统升级管理服务端下发的更新包下载地址;
系统升级管理服务端用于接收系统升级管理客户端发送的服务序列号,根据服务序列号在数据库中查询该序列号对应的更新包下载地址,然后将该更新包下载地址发送给对应的系统系统升级管理客户端;
系统升级管理平台用于实现管理员与系统升级管理服务端的交互,提供可视化交互环境,以便管理员录入或查询信息(例如系统服务序列号、更新包下载服务器地址等相关信息),以及获取系统升级客户端的升级结果信息;
更新包下载服务器用于存放系统更新包及对应的索引文件;
数据库用于保存系统服务序列号对应的更新包下载地址,供系统升级管理服务端查询。
在本实施例中,系统服务序列号为系统出库时预置在操作系统内部,相同系统服务序列号的操作系统出库版本一致。
在本实施例中,系统升级客户端的操作系统触发升级时,将系统服务序列号上传至系统升级管理服务端的请求更新包下载地址,升级管理服务端根据上传的系统服务序列号匹配对应的更新包下载服务器地址,并将该地址同步到系统升级客户端。系统升级客户端接收到更新包下载服务器地址,连接对应的地址下载更新索引文件,索引文件存储在更新包下载服务器中,包含服务器中最新的更新包列表及版本信息,每次更新包下载服务器中的更新包更新后,索引文件也将同步更新。通过对比已下载索引文件的更新包信息和本地已安装的更新包信息,通过计算得出可升级的更新包列表,然后根据该列表将全部可升级的更新包下载到本地。
更新包下载完成后,系统升级客户端将进入模拟安装流程,通过安装模拟器模拟更新包实际的安装过程,安装模拟器首先会计算当前计算机剩余存储空间大小,并判断剩余空间是否支持本次所有软件升级包的安装,如果可以将进入下一步,如果不能则退出安装并提示用户;然后开始更新包校验,通过检验更新包的md5值查看当前更新包是否下载完整,如果下载完成则进入下一步,否则退出安装。更新包校验完成后开始执行安装依赖检测,根据当前系统环境检测每个更新包安装时的依赖是否满足,如果满足将进入下一步,如果不满足安装模拟器将判断依赖不满足的原因并进行修复,如果可以修复则自动进行修复,当修复过程中需要卸载更新包时将需获得用户授权;依赖检测完成后将进行冲突检测,判断当前安装更新包与本地更新包是否存在冲突,如果无冲突则进入下一步,如果不满足安装模拟器将判断冲突产生的原因并进行修复,如果可以修复则自动进行修复,但当修复过程中需要卸载更新包时将需获得用户授权,至此,模拟安装流程结束,预安装通过,系统将进入正式安装。
显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

Claims (5)

1.一种Linux操作系统升级方法,其特征在于,包括以下步骤:
S100:更新发布:
管理员将更新包发布在更新发布系统中,并在所述更新发布系统录入当前客户端操作系统服务序列号,系统升级客户端根据系统的服务序列号获取更新包下载仓库地址;
S200:更新下载流程:
所述系统升级客户端获取索引文件,根据索引文件计算并下载能够升级的更新包;
S300:更新安装流程:
所述系统升级客户端根据下载的更新包进入预安装模式,模拟更新包在本地的安装:
如果所有更新包模拟安装成功,则所述系统升级客户端进入正式安装流程,完成对所有更新包的可靠安装,
否则,对模拟安装失败的更新包进行修复,若修复失败则结束本次更新,并上报失败原因,如果修复成功,则进行模拟安装。
2.根据权利要求1所述的Linux操作系统升级方法,其特征在于,所述更新发布系统包括系统升级管理客户端、系统升级管理服务端、系统升级管理平台、更新包下载服务器和数据库,其中:
所述系统升级管理客户端用于管理当前系统的更新包下载地址,获取当前操作系统的服务序列号并上传至所述系统升级管理服务端,接收所述系统升级管理服务端下发的更新包下载地址;
所述系统升级管理服务端用于接收所述系统升级管理客户端发送的服务序列号,根据服务序列号在数据库中查询该序列号对应的更新包下载地址,然后将所述更新包下载地址发送给对应的所述系统升级管理客户端;
所述系统升级管理平台用于实现管理员与所述系统升级管理服务端的交互,提供可视化交互环境,以便管理员录入或查询信息,以及获取所述系统升级客户端的升级结果信息;
所述更新包下载服务器用于存放更新包及对应的索引文件;
所述数据库用于保存系统服务序列号对应的所述更新包下载地址,供所述系统升级管理服务端查询。
3.根据权利要求2所述的Linux操作系统升级方法,其特征在于,所述步骤S100包括以下步骤:
S101:管理员登录所述系统升级管理平台,点击系统的服务序列号录入按钮,将系统的服务序列号及对应的所述更新包下载服务器地址录入;
S102:管理员将需要更新的更新包放到指定目录,然后在所述系统升级管理平台对应的系统的服务序列号配置项中点击上传更新包,更新包上传至所述系统升级管理平台;
S103:校验上传更新包的md5值;
S104:判断更新包的md5值是否通过校验,如果校验不通过,则所述系统升级管理平台提示管理员更新包的md5值校验不通过,返回步骤S102,重新上传更新包;否则,进入下一步;
S105:所述系统升级管理平台的后台将更新包文件同步至与系统的服务序列号对应的所述更新包下载服务器;
S106:所述更新包下载服务器判断更新包文件是否发送成功,如果没有成功,则将同步失败状态上报给所述系统升级管理平台,同时所述系统升级管理平台能够选择重新同步或放弃发布,返回步骤S102,重新上传更新包;否则进入下一步;
S107:所述更新包下载服务器收到更新包文件,校验更新包md5值,如果校验不通过,则所述系统升级管理平台提示管理员更新包的md5值校验不通过,返回步骤102,重新上传更新包;否则,进入下一步;
S108:所述更新包下载服务器根据最新更新包生成索引文件;
S109:所述更新包下载服务器向所述系统升级管理平台反馈更新包同步成功,本次更新发布已就绪。
4.根据权利要求3所述的Linux操作系统升级方法,其特征在于,所述步骤S200包括以下步骤:
S201:所述系统升级客户端触发检测更新并连接所述系统升级管理服务端,判断能否连接成功,如果不能成功则提示无法连接更新服务器;连接成功则进入下一步骤S202;
S202:所述系统升级客户端发送更新请求并上传所述系统升级客户端的系统的服务序列号,发送完成后进入下一步骤S203;
S203:所述系统升级管理服务端收到服务序列号后在所述数据库中查找对应的所述更新包下载服务器地址,判断查找结果,如果无匹配结果,则返回给所述系统升级客户端失败状态,如果匹配成功则进入下一步骤S204;
S204:将查询到的所述更新包下载服务器地址返回给所述系统升级客户端;
S205:所述系统升级客户端连接对应的所述更新包下载服务器;
S206:判断能否连接成功,如果不能连接成功则提示无法连接更新服务器,然后重复执行步骤S205,如果连接成功则进入下一步骤S207;
S207:所述系统升级客户端向所述更新包下载服务器发送下载索引文件请求并校验索引文件的md5值,判断校验结果,如果校验失败提示索引文件下载失败,如果校验成功则进入下一步骤S208;
S208:所述系统升级客户端通过比较索引文件中的更新包版本和本地已安装包版本计算出能够升级的更新包列表;
S209:所述系统升级客户端检测本地更新包缓存目录,判断目录中是否已存在待更新的更新包;如果存在,则不请求下载此更新包,进入步骤S211;否则,进入下一步骤S210;
S210:所述系统升级客户端向所述更新包下载服务器发送下载更新包请求,将更新包下载到本地指定目录后,能够采取md5校验方法验证更新包文件完整性,当校验不通过,所述系统升级客户端重新发送更新包下载请求;否则,进入下一步骤S211;
S211:所述系统升级客户端判断所有能够更新的更新包是否均下载成功,如果有更新包还未下载,则进入步骤S209,否则进入步骤S300。
5.根据权利要求4所述的Linux操作系统升级方法,其特征在于,所述步骤S300包括以下步骤:
S301:更新下载完成后,检测是否进入预安装流程,判断能够升级的更新包是否已全部在安装目录,如果有更新包还未下载,则重新进入步骤S200,否则,进入下一步骤S302;
S302:判断磁盘剩余空间是否足够安装更新包,所述系统升级客户端执行脚本,以获取全部待更新包的安装大小并与磁盘剩余空间进行比较,如果磁盘空间不足则提示用户,更新包预安装失败,进入步骤S307;否则,进入下一步骤S303;
S303:判断更新包安装依赖是否满足,列出更新包的安装依赖并与本地已安装的依赖包版本进行比较,如果依赖不满足则进入步骤S305;依赖满足则进入下一步骤S304;
S304:判断更新包安装是否存在冲突,列出更新包的安装冲突并与本地已安装的更新包进行比较,如果存在冲突进入步骤S306;否则进入下一步骤S307;
S305:对不满足的依赖包进行修复,下载缺失的依赖包,并判断依赖包是否下载成功,如下载失败则退出本次安装并提示用户更新失败,依赖包不满足;若下载成功则进入步骤S304;
S306:对存在冲突的更新包进行修复,提示用户将通过卸载冲突包的方式进行冲突修复,用户可选择放弃修复及更新,更新包预安装失败,进入步骤S307;用户同意后冲突包将被卸载,进入下一步骤S307;
S307:判断更新包预安装是否成功,如果失败则退出升级流程,提示用户系统升级条件不满足,中止升级;否则,进入更新包正式安装流程,将指定安装目录的更新包安装到系统中,将系统升级到预期版本,系统升级结束;
S308:判断所有更新包是否均安装完成,若所有更新包均安装完成则系统升级成功,否则进入步骤S301继续安装剩余更新包。
CN202111651779.XA 2021-12-31 2021-12-31 一种Linux操作系统升级方法 Active CN114003264B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111651779.XA CN114003264B (zh) 2021-12-31 2021-12-31 一种Linux操作系统升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111651779.XA CN114003264B (zh) 2021-12-31 2021-12-31 一种Linux操作系统升级方法

Publications (2)

Publication Number Publication Date
CN114003264A true CN114003264A (zh) 2022-02-01
CN114003264B CN114003264B (zh) 2022-05-10

Family

ID=79932341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111651779.XA Active CN114003264B (zh) 2021-12-31 2021-12-31 一种Linux操作系统升级方法

Country Status (1)

Country Link
CN (1) CN114003264B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116048577A (zh) * 2022-12-29 2023-05-02 哈尔滨工大卫星技术有限公司 一种分布式数字化卫星系统升级方法、装置及介质
CN117555876A (zh) * 2024-01-11 2024-02-13 麒麟软件有限公司 一种基于虚拟文件系统的操作系统迁移评估方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662647A (zh) * 2012-03-01 2012-09-12 中标软件有限公司 一种Linux操作系统及其安全升级方法
CN103530150A (zh) * 2013-10-10 2014-01-22 上海爱数软件有限公司 一种Linux操作系统远程更新的方法
CN105389187A (zh) * 2015-11-26 2016-03-09 普华基础软件股份有限公司 一种系统更新的方法
CN111381844A (zh) * 2018-12-27 2020-07-07 中兴通讯股份有限公司 更新车辆ecu固件的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662647A (zh) * 2012-03-01 2012-09-12 中标软件有限公司 一种Linux操作系统及其安全升级方法
CN103530150A (zh) * 2013-10-10 2014-01-22 上海爱数软件有限公司 一种Linux操作系统远程更新的方法
CN105389187A (zh) * 2015-11-26 2016-03-09 普华基础软件股份有限公司 一种系统更新的方法
CN111381844A (zh) * 2018-12-27 2020-07-07 中兴通讯股份有限公司 更新车辆ecu固件的方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116048577A (zh) * 2022-12-29 2023-05-02 哈尔滨工大卫星技术有限公司 一种分布式数字化卫星系统升级方法、装置及介质
CN116048577B (zh) * 2022-12-29 2024-05-17 哈尔滨工大卫星技术有限公司 一种分布式数字化卫星系统升级方法、装置及介质
CN117555876A (zh) * 2024-01-11 2024-02-13 麒麟软件有限公司 一种基于虚拟文件系统的操作系统迁移评估方法及装置
CN117555876B (zh) * 2024-01-11 2024-06-07 麒麟软件有限公司 一种基于虚拟文件系统的操作系统迁移评估方法及装置

Also Published As

Publication number Publication date
CN114003264B (zh) 2022-05-10

Similar Documents

Publication Publication Date Title
CN114003264B (zh) 一种Linux操作系统升级方法
US6553490B1 (en) Computer system including local computer with capability to automatically update operating system or application program from network server
US6199204B1 (en) Distribution of software updates via a computer network
US6202207B1 (en) Method and a mechanism for synchronized updating of interoperating software
US8261253B2 (en) Method for restoring software applications on desktop computers
US7934210B1 (en) System and method for updating one or more programs and their environment
US20040181790A1 (en) System and method for maintaining installed software compliance with build standards
WO2006099465A2 (en) System and method for automatically uploading updates
CN103885806A (zh) 机顶盒的系统软件在线升级的实现方法和装置
CN112486531A (zh) 一种设备类应用软件的更新方法及系统
JPH10301760A (ja) ソフトウェア自動配布管理システム及び方法
CN110597545A (zh) 一种基于ota组件的热补丁智能升级方法及系统
CN112099825B (zh) 组件进行升级的方法、装置、设备及存储介质
CN115567392B (zh) 一种客户内部业务系统自动部署升级方法
JPH07129407A (ja) バージョン管理方法
CN114741096A (zh) 升级处理方法、设备及存储介质
CN112256283A (zh) 用于Android设备的应用版本管控方法及装置
CN113703804A (zh) 系统升级方法、系统、装置及存储介质
EP1160666A2 (en) Switching versions of software in a system background
CN112328295A (zh) 软件更新方法及装置
US20070174913A1 (en) Method and system for acquiring particular data upon start of a particular program
CN113157307A (zh) 一种软件版本升级方法及装置
CN111949278B (zh) 一种自动安装mcs系统的方法、系统、终端及存储介质
CN112256301A (zh) 应用在线升级方法、装置、设备及计算机可读存储介质
CN115599405A (zh) 一种基于docker的扩展服务管理方法及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant