一种Linux操作系统及其安全升级方法

文档序号:6365654阅读:223来源:国知局
专利名称:一种Linux操作系统及其安全升级方法
技术领域
本发明涉及通信领域的操作系统的升级技术,尤其涉及ー种Linux操作系统及其安全升级方法。
背景技术
在软件开发过程中,经常需要对相关的操作系统进行升级。Linux操作系统由各种rpm格式的软件包模块组成。由于这些软件包处于不断更新、修复缺陷的过程中,因此经常会进行升级以增加新的功能。目前,Linux操作系统的升级方式是通过互联网在线的方式连接到远程的服务器, 然后使用本地系统升级工具来下载和安装这些软件包,达到升级系统的目的。具体升级方法如图I所示,从图I可以知道,在一般有网络连接的情况下,用户通过互联网,连接到一台服务器,这台服务器专门负责存储软件包供用户下载和安装,用户在本地有专门软件工具负责从服务器下载并安装这些软件包。然而,现有的这种操作系统在线升级方法依赖于网络连接,在断网或者要求保密的情况下,用户便无法更新和升级软件包。因此,亟需ー种安全升级方法来升级操作系统以解决这个问题。

发明内容
本发明所要解决的技术问题之ー是需要提供ー种Linux操作系统的安全升级方法。为了解决上述技术问题,本发明提供了ー种Linux操作系统的安全升级方法,该方法包括检测步骤,检测是否存在可移动存储介质,如果检测结果为是,则进入查询步骤; 查询步骤,查询所述可移动存储介质中是否存在存放了用于升级的软件包仓库的目录,若查询结果为是,则进入获取步骤;获取步骤,基于所述软件包仓库的目录获取所述操作系统用于升级的软件包;升级步骤,基于所述软件包对所述操作系统进行升级。根据本发明又一方面的Linux操作系统的安全升级方法,还包括周期性地检测所述操作系统是否需要升级。根据本发明又一方面的Linux操作系统的安全升级方法,在周期性地检测所述操作系统是否需要升级的步骤中,所述操作系统检测是否与预先设定的用于操作系统更新信息的服务器网络连接,如果检测结果为是,则通过从预先设定的用于操作系统更新信息的服务器获取更新信息来判断是否需要升级;如果检测结果为否,则根据上一次所述操作系统升级的时间来判断是否需要升级。根据本发明又一方面的Linux操作系统的安全升级方法,还包括,在判断结果为是时,基于安装所述操作系统的计算机的保密级别来提示用户进行升级。根据本发明又一方面的Linux操作系统的安全升级方法,在基于安装所述操作系 统的计算机的保密级别来提示用户进行升级的步骤中,若所述计算机保密级别低于第一预设保密级别,则提示用户关于通过网络进行在线升级或通过可移动存储介质进行升级的信息;若所述计算机保密级别高于所述第一预设保密级别且低于第二预设保密级别,则提示关于用户通过网络进行在线升级或通过可移动存储介质进行升级以及在线升级具有风险的信息;若所述计算机保密级别高于所述第二预设保密级别,则提示用户关于通过可移动存储介质进行升级的信息。
根据本发明又一方面的Linux操作系统的安全升级方法,所述可移动存储介质为数字多功能光盘。根据本发明又一方面的Linux操作系统的安全升级方法,通过修改yum软件和/或gpk-application软件来实现上述处理。根据本发明又一方面的Linux操作系统的安全升级方法,在所述获取步骤中,利用yum软件读取软件包配置文件从所述软件包仓库的目录中获取用于升级的软件包。根据本发明又一方面的Linux操作系统的安全升级方法,通过修改yum软件和/或gpk-application软件来允许或禁止所述操作系统进行在线升级。根据本发明的另一方面,还提供了ー种Linux操作系统,所述操作系统根据以上所述的方法来进行升级。与现有技术相比,本发明的一个或多个实施例可以具有如下优点本发明通过将用于升级的软件包以特定的格式存储到可移动存储介质中,并对系统中的部分软件进行修改,所以克服了在断网或计算机要求保密的情况下操作系统无法升级的技术问题,达到了对操作系统进行安全升级的目的。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。


附图用来提供对本发明的进ー步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中图I是现有技术中的Linux操作系统的在线升级流程示意图;图2是根据本发明第一实施例的Linux操作系统的安全升级方法的流程示意图;图3是根据本发明第二实施例的Linux操作系统的安全升级方法的流程示意图;图4 (a)和图4 (b)是根据本发明的一个应用实例。
具体实施例方式以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互結合,所形成的技术方案均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
第一实施例图2是根据本发明第一实施例的Linux操作系统的安全升级方法的流程示意图,请參考图2,详细说明该流程的各个步骤。步骤S210,检测是否存在可移动存储介质。具体地,Linux操作系统通过可移动存储设备的驱动软件来检测是否存在可移动存储介质。若检测结果为是,即检测出存在某种可移动存储介质,则进入步骤S220,否则结束操作。需要说明的是,由于本实施例中的操作系统通过ー种安全的模式进行升级,因此为了避免风险,采用可移动存储介质的离线方式来对操作系统进行升级,以保证所安装Linux操作系统的计算机的保密性。 根据各种不同的可移动存储介质的性质,在本实施例中,可移动存储介质优选地 采用数字多功能光盘(简称DVD)来完成对Linux操作系统的升级。步骤S220,查询可移动存储介质中是否存在存放了用于升级的软件包仓库的目录(亦可称路径)。具体地,在检测到可移动存储介质后,利用该可移动存储介质相应的驱动软件对其进行读取。查询该可移动存储介质中是否存在存放了用于升级的软件包仓库的路径。若查询结果为是,则进入步骤S230,否则结束操作。需要说明的是,在本实施例中,由于Linux操作系统通过yum软件读取软件包配置文件以获得软件包仓库的路径,因此在对存放了软件包仓库的可移动介质进行命名时,所命名的名称与软件包配置文件中所设置的用于升级的软件仓库的存放路径相对应。例如若软件包配置文件中所设置的用于升级的软件仓库的存放路径为“/media/repo”,则将存放了软件包仓库的可移动介质被命名为“repo ”。步骤S230,基于软件包仓库的目录获取操作系统用于升级的软件包。具体地,利用yum软件读取软件包配置文件从软件包仓库的目录中获取用于升级的软件包。对软件仓库存放路径的内容进行读取,下载所要安装的软件。需要说明的是,软件包配置文件是ー个以repo为扩展名的文件,该文件包括软件包仓库的名称、软件包仓库的存放路径和检测软件包安全性的方法等信息。步骤S240,基于软件包对操作系统进行升级。具体地,删除操作系统中需要升级的软件包,安装所获取的软件包,基于所安装的软件包生成关系数据以完成对操作系统的升级。本实施例通过利用可移动存储介质中的用于操作系统升级的软件包进行升级,所以克服了在断网或计算机要求保密的情况下操作系统无法升级的技术问题,达到了对操作系统进行安全升级的目的。第二实施例图3是根据本发明第二实施例的Linux操作系统安全升级方法的流程示意图,请參考图3,详细说明该流程的各个步骤。为了便于说明,不再对与前述实施例相同的步骤进行详细展开,而仅重点说明与前述实施例的不同之处。在图2和图3中,对与前述实施例相同或相似的步骤,采用了相同的附图标记。
本实施例在执行步骤S210之前执行以下操作。步骤S310,周期性地判断操作系统是否需要升级。具体地,Linux操作系统检测安装该操作系统的计算机是否与预先设定的用于操作系统更新信息的服务器网络连接,如果检测结果为是,则通过从预先设定的用于操作系统更新信息的服务器获取更新信息来判断是否需要升级;如果检测结果为否,则根据上一次该操作系统升级的时间来判断是否需要升级。更具体地,当计算机与服务器网络连接吋,通过将所安装的操作系统的信息与在线服务器中的软件包仓库所更新的信息进行比较,若发现有需要更新的软件,则判断结果为操作系统需要升级,并进入步骤S320中。另外,当计算机没有与服务器网络连接时,根据上一次操作系统升级的时间来判断是否需要升级。例如,若上一次Linux操作系统升级的时间在ー个月前,则可以判断出该 操作系统需要升级,则进入步骤S320中。步骤S320,基于安装操作系统的计算机的保密级别来提示用户进行升级。具体地,若计算机保密级别低于第一预设保密级别,则提示用户关于通过网络进行在线升级或通过可移动存储介质进行升级的信息;若计算机保密级别高于第一预设保密级别且低于第二预设保密级别,则提示关于用户通过网络进行在线升级或通过可移动存储介质进行升级以及在线升级具有风险的信息;若计算机保密级别高于所述第二预设保密级别,则提示用户关于通过可移动存储介质进行升级的信息。举例而言,将第一预设保密级别为3级,第二预设保密级别为6级。若安装了该操作系统的计算机所处的保密级别为I级或2级,则说明该计算机的保密级别较低,可以通过在线升级的方式进行升级,则提示用户关于通过网络进行在线升级或通过可移动存储介质进行升级的信息;若安装了该操作系统的计算机所处的保密级别为4级或5级,则说明该计算机的保密级别较高,则提示关于用户通过网络进行在线升级或通过可移动存储介质进行升级以及在线升级具有风险的信息;若安装了该操作系统的计算机所处的保密级别为7级或8级,则说明该计算机的保密级别高,若要升级的话只能通过可移动存储介质进行升级,因此提示用户关于通过可移动存储介质进行升级的信息。需要说明的是,本实施例主要是针对具有保密性的主机进行操作系统的升级,因此基于各个主机的保密级别来对各个主机现有的操作系统进行升级提示。在提示用户是否对操作系统进行升级后,用户根据所提示的升级方式以及风险来选择是否进行升级。若用户选择通过可移动存储介质进行升级则进入步骤S210,若用户选择在线升级则进行操作系统在线升级流程,如图I所示的现有技术流程,若用户选择不对现有的操作系统进行升级,则结束操作。需要说明的是,由于在Linux操作系统中还存储了关于在线升级的信息。当系统的在线升级信息和利用可移动存储介质进行升级的信息同时存在时,会产生冲突,导致不能正常安装和升级软件。所以,需要通过进行进ー步操作来实现在在线升级和利用可移动存储介质升级之间自动切換的功能。本实施例中,通过修改yum软件和/或gpk-application软件来实现第一实施例和第二实施例的处理。首先将Linux操作系统中的yum软件更名为yum. orig,将gpk-application更名为gpk-application. orig。然后提供另外创建的yum软件和gpk-application软件,新创建的yum软件和gpk-application软件包含有允许或禁止所述操作系统进行在线升级的功能。新创建的yum和gpk-application程序分别调用原先的yum. orig和gpk-application.orig软件,使得用户在体验在线升级和利用可移动存储介质进行升级时,不会出现错误。此外,本发明还涉及ー种Linux操作系统,该操作系统通过修改其内部的软件来实施第一实施例和 第二实施例,具体通过修改yum软件和/或gpk-application软件来实现第一实施例和第二实施例,更具体地,通过修改yum软件和/或gpk-application软件来允许或禁止操作系统进行在线升级。应用实例图4(a)和图4(b)是根据本发明的ー个应用实例,下面详细说明该实例的具体操作。其中,图4(a)是制备存放了用于操作系统升级的可移动存储介质的流程示意图。首先在一台安装了 Linux操作系统的计算机上执行命令yum install mash以安装一个名为mash的软件,并对该软件进行ー些配置。然后调用mash软件,将koji管理员配发的证书文件复制到mash软件的指定目录中,从而获得koji服务器的访问权,以从koji服务器中下载全部软件包到本地计算机。其中,koji是ー种专门负责管理以及维护软件包和相应源代码的服务器软件,其必须运行在服务器端,计算机可通过网络访问该服务器。一般把部署了 koji的服务器简称为koji服务器。koji服务器可存储Linux操作系统的各种软件包,这些软件包的集合叫做软件仓库。软件包以rpm格式存储,以rpm作为文件扩展名。当mash把软件仓库下载到本地计算机之后,创建ー个xml软件包分组文件。该软件包分组文件用于将所下载的rpm软件包按照功能进行分类,以方便用户查找。在计算机中调用createrepo软件,根据这些rpm文件和xml分组文件,创建出可以被Linux操作系统中的yum软件可识别的数据库格式。最后,把该数据库连同所有rpm文件,以保留原目录格式的方式,利用iso文件制作工具将所有的文件生成ー个DVD光盘镜像,刻录到ー张DVD光盘中,并将该光盘命名为“r印O”。上述操作完成了制备ー张存放了用于升级的软件仓库的可移动存储设备。下述操作将基于该可移动存储介质的软件仓库完成对操作系统的升级。图4(b)是基于可移动存储介质的软件仓库对操作系统的升级。首先,仓Il建ー个offline, repo的文件(该文件必须以repo为扩展名)。该文件是yum等工具用来查找软件包的配置文件,该文件内容可如下所示[neokylin-offline]
name=neokylin-offline
baseurl=file:///media/repo/mipsel/os
enabled=l
gpgcheck=0
[neokylin-source]
name=neolylin - Source
baseurl=file:///media/wuxiao/0722-backup/dist-ND6-update/source
enabled=0
gpgcheck=0其中,对于[neokyline-offline]部分,name指定软件仓库的名称,baseurl指定软件仓库存放的路径,enabled表示启用,gpgcheck表示是否启用GPG算法检查软件包的安全性。[neokyline-source]的格式与上面类似,这个结构指定的是软件的源码包相关信息,在此不再赘述。在本实例中,将软件仓库地址指定为“file:///media/repo”。然后,将所创建的offline, repo文件拷贝到Iinux操作系统的/etc/yum. repos,d/目录下之后,通过yum软件对其进行读取。Yum软件读取了该文件之后,就会从/media/repo目录下查找到软件仓库。为了使Yum软件可以从/media/repo目录下查找到软件仓库,在之前制备DVD光盘的时候,将光盘命名为“ repo”。这样,当光盘被放入光驱之后,Iinux操作系统会自动将光盘挂载到/media/repo目录中实现对Linux操作系统的升级。在把光盘从光驱取出后,则该目录自动消失。用这种方式,实现了 Linux操作系统的离线升级。需要说明的是,由于系统中还存储了在线仓库的信息。当系统的在线仓库和DVD中的离线仓库同时存在的时候,会产生冲突,导致不能正常安装和升级软件。所以,通过进行进ー步操作来实现在离线仓库和在线仓库之间自动切換的功能。首先将Linux操作系统中的 yum 软件更名为 yum. orig,将 gpk-application 更名为 gpk-application. orig。然后提供另外创建的yum软件和gpk-application软件,新创建的yum软件和gpk-application软件含有禁止或允许在线升级的功能。新创建的yum和gpk-application程序则调用原先的yum. orig和gpk-application. orig软件,使得用户在体验在线和离线升级时,不会出现错误。在新的yum和gpk-application软件中,首先分别检测在线仓库和离线仓库的状态,自动在两者之间切換。达到无需用户干预的情况下,自动切换仓库,解决离线仓库和在线仓库同时存在所产生的冲突问题。本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络 上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本 发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
权利要求
1.一种Linux操作系统的安全升级方法,其特征在于,包括 检测步骤,检测是否存在可移动存储介质,如果检测结果为是,则进入查询步骤; 查询步骤,查询所述可移动存储介质中是否存在存放了用于升级的软件包仓库的目录,若查询结果为是,则进入获取步骤; 获取步骤,基于所述软件包仓库的目录获取所述操作系统用于升级的软件包; 升级步骤,基于所述软件包对所述操作系统进行升级。
2.根据权利要求I所述的方法,其特征在于,还包括 周期性地检测所述操作系统是否需要升级。
3.根据权利要求2所述的方法,其特征在于,在周期性地检测所述操作系统是否需要升级的步骤中, 所述操作系统检测是否与预先设定的用于操作系统更新信息的服务器网络连接,如果检测结果为是,则通过从预先设定的用于操作系统更新信息的服务器获取更新信息来判断是否需要升级; 如果检测结果为否,则根据上一次所述操作系统升级的时间来判断是否需要升级。
4.根据权利要求3所述的方法,其特征在于,还包括, 在判断结果为是时,基于安装所述操作系统的计算机的保密级别来提示用户进行升级。
5.根据权利要求4所述的方法,其特征在于,在基于安装所述操作系统的计算机的保密级别来提示用户进行升级的步骤中, 若所述计算机保密级别低于第一预设保密级别,则提示用户关于通过网络进行在线升级或通过可移动存储介质进行升级的信息; 若所述计算机保密级别高于所述第一预设保密级别且低于第二预设保密级别,则提示关于用户通过网络进行在线升级或通过可移动存储介质进行升级以及在线升级具有风险的信息; 若所述计算机保密级别高于所述第二预设保密级别,则提示用户关于通过可移动存储介质进行升级的信息。
6.根据权利要求I所述的方法,其特征在于, 所述可移动存储介质为数字多功能光盘。
7.根据权利要求I至6中任一项所述的方法,其特征在于, 通过修改yum软件和/或gpk-application软件来实现上述处理。
8.根据权利要求7所述的方法,其特征在于,在所述获取步骤中, 利用yum软件读取软件包配置文件从所述软件包仓库的目录中获取用于升级的软件包。
9.根据权利要求I至6中任一项所述的方法,其特征在于, 通过修改yum软件和/或gpk-application软件来允许或禁止所述操作系统进行在线升级。
10.一种Linux操作系统,所述操作系统根据权利要求I至6中任一项所述的方法来进行升级。
全文摘要
本发明公开了一种Linux操作系统的安全升级方法,该方法包括检测步骤,检测是否存在可移动存储介质,如果检测结果为是,则进入查询步骤;查询步骤,查询所述可移动存储介质中是否存在存放了用于升级的软件包仓库的目录,若查询结果为是,则进入获取步骤;获取步骤,基于所述软件包仓库的目录获取所述操作系统用于升级的软件包;升级步骤,基于所述软件包对所述操作系统进行升级。本发明通过对所要升级的计算机进行保密级别的判断并通过可移动存储介质来进行升级,克服了在断网或计算机要求保密的情况下操作系统无法升级的技术问题,达到了对操作系统进行安全升级的目的。
文档编号G06F9/44GK102662647SQ20121005194
公开日2012年9月12日 申请日期2012年3月1日 优先权日2012年3月1日
发明者何曌君, 吴潇, 白新奋, 许国昌 申请人:中标软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1