一种系统更新的方法

文档序号:9631417阅读:183来源:国知局
一种系统更新的方法
【技术领域】
[0001]本发明涉及操作系统维护技术领域,尤其涉及一种系统更新的方法。
【背景技术】
[0002]随着Linux操作系统的飞速发展,以及其承载的应用软件的不断更新,人们对于Linux操作系统进行系统更新的需求越来越频繁。但是现有的针对Linux操作系统的版本更新方式,通常会对存在以下几个问题:
[0003]1)对于Linux操作系统的版本肯定,通常会同时把操作系统中的一些使用者自定义的应用软件进行适于该更新版本的更新操作,而这些更新操作可能是使用者并不希望进行的;
[0004]2)在Linux操作系统的版本更新过程中,往往会遇到安装包的上下依赖关系,可能会对更新过程产生不利影响;
[0005]3)使用者无法获知一次对于Linux操作系统的版本更新的具体内容以及更新方式等更新信息,因此降低了使用者的使用体验。

【发明内容】

[0006]根据现有技术中存在的上述问题,现提供一种系统更新的方法的技术方案,旨在避免操作系统整体升级时将使用者自定义的软件一起升级的问题,实现操作系统升级的过程透明性,提升使用者的使用体验。
[0007]上述技术方案具体包括:
[0008]—种系统更新的方法,其中,包括服务端和客户端,所述服务端与所述客户端远程连接;
[0009]于所述服务端用于保存系统更新包,并且于所述客户端中安装有用户自定义的应用软件,还包括:
[0010]步骤S1,所述客户端监控所述服务端是否发布新的所述系统更新包,并在所述服务端发布新的所述系统更新包时转向步骤S2 ;
[0011]步骤S2,所述客户端从所述服务端下载所述系统更新包;
[0012]步骤S3,所述客户端检测得到所述应用软件,并将所述应用软件隔离;
[0013]步骤S4,所述客户端采用所述系统更新包进行操作系统的更新;
[0014]步骤S5,所述客户端将所述应用软件解除隔离,并判断所述应用软件是否能够正常运行:
[0015]若能够正常运行,则退出;
[0016]若无法正常运行,则标记所述应用软件,以提示使用者注意,随后退出。
[0017]优选的,该系统更新的方法,其中,所述系统更新包中包括:
[0018]用于进行系统更新的系统更新文件;以及
[0019]用于对所述系统更新进行描述的系统更新描述文件。
[0020]优选的,该系统更新的方法,其中,所述系统更新文件中包括:
[0021]用于表示所述系统更新包的更新顺序的序列信息;
[0022]用于表示所述系统更新包的更新类型的类型信息;
[0023]用于表示所述系统更新包针对的操作系统架构的架构信息;
[0024]用于表示所述系统更新包的发布日期的发布信息;
[0025]用于表示所述系统更新包的属性描述的属性信息;
[0026]用于表示所述系统更新包中是否存在所述系统更新前需要执行的脚本的前期脚本信息;
[0027]用于表示所述系统更新包中是否存在所述系统更新后需要执行的脚本的后期脚本信息;以及
[0028]用于表示针对所述系统更新包进行的所述系统更新之后是否需要重启的重新信息。
[0029]优选的,该系统更新的方法,其中,所述类型信息包括:
[0030]用于表示所述系统更新包关联于漏洞修复的所述更新类型的第一更新信息;和/或
[0031]用于表示所述系统更新包关联于系统升级的所述更新类型的第二更新信息;和/或
[0032]用于表示所述系统更新包关联于安全更新的所述更新类型的第三更新信息。
[0033]优选的,该系统更新的方法,其中,执行所述步骤S4之前,所述客户端采用所述系统更新包进行操作系统的更新时,将所述系统更新描述文件显示于所述客户端的显示屏上,以供使用者查看。
[0034]优选的,该系统更新的方法,其中,执行所述步骤S4之前,所述客户端将所述类型信息显示于所述客户端的显示屏上,以供使用者查看。
[0035]优选的,该系统更新的方法,其中,执行所述步骤S1之前,首先判断所述客户端是否开启自动更新功能:
[0036]若开启所述自动更新功能,则继续执行所述步骤S1 ;
[0037]若未开启所述自动更新功能,则所述客户端根据外部输入的指令转向执行所述步骤S2。
[0038]优选的,该系统更新的方法,其中,于所述客户端中设置一监控单元,以监控所述客户端下载所述系统更新包的进度,和/或所述客户端进行所述系统更新的进度。
[0039]优选的,该系统更新的方法,其特征在于,所述客户端基于Linux操作系统运行。
[0040]上述技术方案的有益效果是:提供一种系统更新的方法,能够避免操作系统整体升级时将使用者自定义的软件一起升级的问题,实现操作系统升级的过程透明性,提升使用者的使用体验。
【附图说明】
[0041]图1是本发明的较佳的实施例中,一种系统更新的方法的流程示意图。
【具体实施方式】
[0042]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043]需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0044]下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
[0045]现有技术中,针对操作系统的版本更新方式有多种,以Linux操作系统为例,较为常用的更新方式为使用软件包管理工具进行系统更新和升级,其中RPM(RPM PackageManager,RPM软件包管理器)和DPKG(Debian Packager,Debian软件包管理器)为最常见的两类软件包管理工具。
[0046]RPM最开始的全称为Redhat Package Manager,最早由Redhat公司制定实施,随后被GNU(GNU is Not Unix,革奴计划)开源操作系统接受并称为很多Linux系统的既定软件标准。由于这种软件管理方式非常方便,其包管理模式类似于windows下的“添加/删除程序”。每个RPM文件(以.rpm结尾的软件包文件)中包含了已经编译好的二进制可执行文件,其实就是将软件源码文件进行编译安装,然后进行封装,其类似于windows程序安装包中的exe”文件,最终执行该文件就能完成安装。
[0047]RPM软件包管理方式的缺点在于对操作系统环境的依赖很大,它要求RPM包的安装环境必须与RPM包封装时的环境相一致或相当,还需要满足安装时与系统某些软件包的依赖关系。
[0048]相反地,DPKG软件包管理工具并不负责检查软件包的依赖关系,因此DPKG通常被用来安装单个软件包。
[0049]但是DPKG同样存在一些缺陷,具体为:一,不能主动从镜像站点获取软件包;二,安装软件包时,无法检查软件包的依赖关系。
[0050]综上所述,现有技术中的针对Linux操作系统的软件更新方式均存在一些缺陷。
[0051]则本发明的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种系统更新的方法,该方法适用于Linux操作系统,并包括服务端和客户端,服务端与客户端远程连接;于服务端用于保存系统更新包,并且于客户端中安装有用户自定义的应用软件。
[0052]具体地,该方法中,上述服务端和客户端均基于Linux操作系统运行,在服务端保存系统更新包,该系统更新包通常被保证为关联于Linux操作系统的最新的系统版本,则在客户端中也安装有用户自定义的适用于Linux操作系统的应用软件。
[0053]则本发明的较佳的实施例中,如图1所示,上述系统更新的方法具体包括:
[0054]步骤S1,客户端监控服务端是否发布新的系统更新包,并在服务端发布新的系统更新包时转向步骤S2 ;
[0055]步骤S2,客户端从服务端下载系统更新包;
[0056]步骤S3,客户端检测得到应用软件,并将应用软件隔离;
[0057]步骤S4,客户端采用系统更新包进行操作系统的更新;
[0058]步骤S5,客户端将应用软件解除隔离,并判断应用软件是否能够正常运行:
[0059]若能够正常运行,则退出;
[0060]若无法正常运行,则标记应用软件,以提示使用者注意,随后退出。
[0061]在一个具体实施例中,客户端首先监控服务端是否发布了新的系统更新包:若是,则转向步骤S2,若否,则继续监控,直至监控到服务端发布了新的系统更新包时转向步骤S2 ;
[0062]随后,该实施例中,客户端从服务端下载该系统更新包,并同时根据系统的设置检测在客户端的Linux操作系统中是否存在用户自定义的上述应用软件:若存在,则客户端将检测得到的应用软件做隔离处理,例如将有关这些软件的运行文件以及注册表文件放至一预设的隔离区域进行保存,以避免接下来的系统更新过程对这些应用软件进行更新或者更改;若不存在,则客户端继续进行系统更新。
[0063]最后,该实施例中,客户端采用上述系统更新包对Linux操作系统进行更新完毕后,再将上述应用软件从隔离区域中放出,即对上述应用软件进行解除隔离,并且在经过更新的Linux操作系统中分别对上述之前被隔离的应用软件进行运行验证,以验证上述应用软件是否能够在经过更新的Linux操作系统中正常运行:
[0064]若能正常运行,则本次版本更新结束,则退出;
[0065]若不能正常运行,则标记应用软件,以提示使用者注意,随后退出。例如,将不能正常运行的应用软件(即带有标记的应用软件)的列表显示在客户端的显示屏上。
[0066]本发明的一个较佳的实施例中,在上述客户端内可以设置一个检测单元,该检测单元可以用于提供系统的dbus服务,即负责在后台轮询检查上述服务端是否存在新发布的系统更新包,例如监听是否存在网络服务状态变化的信号,当网络服务状态发生变化时即李计检查并下载新发布的系统更新包。
[0067]本发明的较佳的实施例中,上述系统更新包中包括:
[0068]用于进行系统更新的系统更新文件;以及
[0069]用于对系统更新进行描述的系统更新描述文件。
[0070]具体地
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1