一种软件安装方法
【专利摘要】本发明公开了一种软件安装方法,应用于一支持OpenWrt系统的装置中,包括步骤:在所述装置的存储模块不可擦除区域中记录软件名称和该软件源下载地址;当所述OpenWrt系统升级或重装之后,从存储模块不可擦除区域读取所述软件名称及软件源下载地址;根据所述软件名称及软件源下载地址自动下载并安装所述软件。本发明通过在存储模块不可擦除区域中记录原OpenWrt系统中已安装的软件的信息,并在OpenWrt系统升级或重装后,自动将原有系统中安装的一系列软件重新安装至升级后的OpenWrt系统中。大大提高了OpenWrt系统的开发及使用效率,节约时间,提高自动化程度,避免了因手动安装软件而产生的失误。
【专利说明】
一种软件安装方法
技术领域
[0001 ]本发明涉及OpenWrt嵌入式Linux系统开发及应用领域,尤其涉及一种软件安装方法。
【背景技术】
[0002]Openffrt是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。OpenWrt的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序。OpenWrt提供了多达3000多种已编译好的软件,大大简化应用开发的难度,使得用户只需简单的一个make命令即可方便快速地定制一个具有特定功能的嵌入式系统来制作固件。
[0003]对于开发人员,OpenWrt是使用框架来构建应用程序,而无需建立一个完整的固件来支持;对于用户来说,这意味着其拥有完全定制的能力,可以用前所未有的方式使用该设备,因此,OpenWrt系统的使用率处在日益增长中。
[0004]在OpenWrt系统的开发及使用过程中,系统升级及重装是常见操作。在系统升级或重装后,原有系统中安装的一系列软件会随之丢失,如需继续使用这些软件,需要重新手动安装,费时费力。尤其,当系统升级或重装频繁时,或系统中使用的软件数量庞大时,反复手动安装大量的软件,会造成OpenWrt系统的开发及使用效率的严重低下,自动化程度低且容易出错。
[0005]基于上述缺点,迫切需要一种新的软件安装方法,能够在OpenWrt系统系统升级或重装后,自动将原有系统中安装的一系列软件重新安装至升级后的OpenWrt系统中,大大提高Openffrt系统的开发及使用效率,节约时间,提高自动化程度,避免了因手动安装软件而产生的失误。
【发明内容】
[0006]本发明针对现有技术中OpenWrt系统升级或重装后需要手动安装原系统软件存在的不足,公开了一种软件安装方法,自动将原有系统中安装的一系列软件重新安装至升级或重装后的OpenWrt系统中,大大提高OpenWrt系统的开发及使用效率,节约时间,提高自动化程度,避免了因手动安装软件而产生的失误。
[0007]本发明公开了一种软件安装方法,应用于一支持OpenWrt系统的装置中,所述装置设有存储模块,该存储模块设有一可读写的不可擦除区域,存储在该不可擦除区域中的数据信息在系统升级或重装时,不会被擦除,该软件安装方法包括步骤:
[0008]步骤I,在存储模块不可擦除区域中记录至少一软件名称和该软件源下载地址;
[0009]步骤2,当OpenWrt系统升级或重装之后,读取软件名称及软件源下载地址;
[0010]步骤3,根据软件名称及软件源下载地址自动下载并安装所述软件。
[0011]根据本发明的一优选实施例,在存储模块不可擦除区域中设有第一配置文件,该第一配置文件中至少包含目前系统中已安装的若干条软件名称,且该第一配置文件中的软件名称信息依据系统中软件的安装及卸载动态更新。
[0012]根据本发明的一优选实施例,OpenWrt系统中设有一软件安装标识,该软件安装标识至少具有使能和非使能两种状态;系统依据该软件安装标识的状态执行相应动作,该软件安装标识设为使能状态时,系统将执行自动安装软件动作,该软件安装标识设为非使能状态时,系统不会自动安装软件。
[0013]优选的,OpenWrt系统升级或重装时,将软件安装标识设为使能状态。
[0014]根据本发明的一优选实施例,Openffrt系统升级或重装后读取存储模块不可擦除区域中存储的软件名称时,将生成第二配置文件并将软件名称信息存储至该第二配置文件中;该第二配置文件中的软件名称信息依据软件自动安装的成功或失败动态更新,该第二配置文件体现软件自动安装是否成功。
[0015]根据本发明的一优选实施例,OpenWrt系统中具有一软件自动安装进程,软件自动安装进程依据Openffrt系统升级或重装后读取的软件名称,以及软件源下载地址自动安装软件。
[0016]根据本发明的一优选实施例,还包括步骤:
[0017]步骤I,Openffrt系统升级或重装后读取软件名称时,将生成第二配置文件并将软件名称信息存储至第二配置文件中;
[0018]步骤2,该软件自动安装进程依据第二配置文件中的软件名称,以及软件源下载地址自动安装全部软件;
[0019]步骤3,每一条软件安装结束后,按规则更新第二配置文件,并继续安装下一条软件,直至遍历第二配置文件完成最后一条软件的安装;
[0020]第二配置文件的更新规则为,如果软件安装成功,将第二配置文件中的该软件相关信息删除;如果软件安装失败,保留第二配置文件中的该软件相关信息。
[0021 ]根据本发明的一优选实施例,该软件自动安装进程遍历第二配置文件,完成最后一条软件的安装后,如果第二配置文件已为空,则删除该第二配置文件,结束软件自动安装进程;如果第二配置文件中仍包含未成功安装的软件名称信息,则该软件自动安装进程启动循环,重新执行软件自动安装动作。
[0022]根据本发明的一优选实施例,该软件自动安装进程还包括一设定值,当该软件自动安装进程的循环次数超过该设定值时,该软件自动安装进程结束;该软件自动安装进程结束后,如果第二配置文件中仍包含未成功安装的软件名称信息,系统为用户提供提示信息及后续可选操作。
[0023]本发明还公开了一种支持OpenWrt系统的装置。该装置设有存储模块,储模块设有一可读写的不可擦除区域,存储在该不可擦除区域中的数据信息在系统升级或重装时,不会被擦除,该装置的OpenWrt系统使用了一种软件安装方法,该软件安装方法包括步骤:
[0024]步骤I,在存储模块不可擦除区域中记录至少一软件名称和该软件源下载地址;
[0025]步骤2,当OpenWrt系统升级或重装之后,读取软件名称及软件源下载地址;
[0026]步骤3,根据软件名称及软件源下载地址自动下载并安装所述软件。
[0027]通过以上解决方案,本发明具有以下有益效果:
[0028]第一,通过自动化软件安装的方式,提高了Openffrt系统的开发及使用效率。本发明在存储模块的不可擦除区域存储原有OpenWrt系统的已安装软件名称及软件源下载地址信息,保证了 OpenWrt系统升级或重装后,原系统已安装的软件信息仍能够保留。在升级或重装的Openffrt系统重启后,系统自动将原有系统中安装的一系列软件重新安装至升级或重装后的Openffrt系统中。自动安装软件的效率远高于手动安装,提高了Openffrt系统的开发及使用效率,节约了时间。
[0029]第二,通过自动化软件安装的方式,避免了因手动安装软件而产生的失误。软件名称及软件源下载地址信息均采用自动生成、存储及读取的方式,避免人工记录及下载时可能导致的安装错误软件、选择错误下载源地址等失误。
【附图说明】
[0030]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0031 ]图1是本发明第一实施例的流程图;
[0032]图2是本发明第二实施例的流程图;
[0033]图3是本发明第二实施例的创建第一配置文件流程图;
[0034]图4是本发明第二实施例的已有第一配置文件时的软件安装脚本流程图。
[0035]图5是本发明第二实施例的自动软件安装进程流程图。
【具体实施方式】
[0036]下面结合附图对本发明的优选实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。显而易见地,下面描述中的附图仅仅是本发明的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
[0037]为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的部分结构示意,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
[0038]本发明针对现有技术中OpenWrt系统升级或重装后需要手动安装原系统软件存在的不足,公开了一种软件安装方法,自动将原有系统中安装的一系列软件重新安装至升级或重装后的OpenWrt系统中,大大提高OpenWrt系统的开发及使用效率,节约时间,提高自动化程度,避免了因手动安装软件而产生的失误。
[0039]本发明适用于OpenWrt系统的开发及应用领域,包括使用Openffrt系统的装置,例如路由器、交换机等数通产品、智能家居、移动通信产品等。
[0040]图1为本发明第一实施例的流程图。如图1所示,本发明提出的一种软件安装方法应用于支持Openfct嵌入式Linux系统的装置中,该装置设有存储模块,存储模块设有一可读写的不可擦除区域,存储在该不可擦除区域中的数据信息在系统升级或重装时,不会被擦除。本发明第一实施例包括以下步骤:
[0041]步骤SI,首先在存储模块不可擦除区域中记录系统中已安装的软件名称和软件对应的安装源下载地址。
[0042]步骤S2,当OpenWrt系统升级或重装之后,从存储模块不可擦除区域中读取记录的软件名称及软件安装源下载地址。
[0043]步骤S3,根据读取到的软件名称及软件安装源下载地址自动下载并安装软件。
[0044]进一步的,结合图2-图5,提出本发明第二实施例。
[0045]首先,本发明第二实施例使用第一配置文件存储目前系统中已安装软件的软件名称,使用/etc/opkg.conf配置文件的备份来记载软件安装源下载地址信息;同时设置一软件安装标识参数,该参数设为使能状态,系统会启动自动软件安装进程。
[0046]其次,系统升级或重装后首次重启时,新建第二配置文件并使用它记录需要自动安装的软件名称,同时启动软件自动安装进程安装软件。依据软件自动安装的成功或失败动态更新第二配置文件,该文件中只保留安装失败的软件的信息。
[0047]最后,当软件自动安装全部成功后,结束软件自动安装进程;如果有安装失败的软件,则循环执行软件自动安装进程,继续安装所有失败的软件,直至软件安装全部成功或循环次数超过预设值,结束软件自动安装进程;如果此时仍有安装失败的软件,系统为用户提供软件安装失败提示信息及后续可选操作,可以选择在系统再次重启时,根据第二配置文件再次启动软件自动安装进程去安装所有安装失败的软件。
[0048]具体的,如图2所示,本发明第二实施例在存储模块不可擦除区域中设有第一配置文件,该第一配置文件中存储目前系统中已安装软件的软件名称。第一配置文件中的软件名称信息依据系统中软件的安装及卸载动态更新,每次使用opkg工具成功安装软件后,系统自动将所安装的软件名称存储到第一配置文件中;当卸载软件时,系统自动将所卸载软件的软件名称从第一配置文件中删除,以此保持第一配置文件中的软件名称信息与当前系统中已安装的软件完全一致。
[0049]进一步的,在OpenWrt系统自带的/etc/opkg.conf配置文件中,已包含软件安装源下载地址信息,本发明的第二实施例在存储模块不可擦除区域中存储/ etc/opkg.conf文件的备份,以该备份文件作为自动重新安装软件时的下载地址参考文件。当/ etc/opkg.conf文件有更新时,例如用户新增或者修改软件安装源下载地址,系统自动将/etc/opkg.conf文件重新拷贝至存储模块不可擦除区域中,以此保证存储模块不可擦除区域中的软件安装源下载地址备份文件为最新版本。
[0050]进一步的,如图3-图4所示,本发明的第二实施例还提供一软件安装脚本、一软件安装标识及第二配置文件。软件安装脚本判断系统重启后是否执行自动软件安装动作,及进行软件自动安装前的准备;软件安装标识参数的参数值可设为I或O,I代表使能状态,O代表非使能状态。系统重启时会判断该软件安装标识的参数值,当参数值设为I,即使能状态时,系统将执行自动安装软件动作;当参数值设为O,即非使能状态时,系统不会自动安装软件。
[0051 ]在Openfct系统执行升级或重装动作时,会将该软件安装标识参数值设为I,使得当系统升级或重装后首次重启时,会执行自动安装软件动作。当自动安装软件全部成功后,或用户选择终止自动安装软件动作,则将该软件安装标识参数值重设为O,下一次系统重启时不会再次执行自动安装动作;如果自动安装软件未能全部成功,用户选择下次继续安装软件,则该软件安装标识参数值仍保持为I,下一次系统重启时将再次执行自动安装动作,继续安装所有安装失败的软件。
[0052]第二配置文件为过程文件,记录需自动安装的软件名称,系统会根据第二配置文件启动软件自动安装进程进行软件安装,第二配置文件仅在需要自动安装软件时创建并存在,并依据软件自动安装的成功或失败动态更新,文件中只保留未完成安装的软件的名称。
[0053]具体的,图3为OpenWrt系统执行升级或重装动作后,首次重启时的软件安装脚本流程图,此时软件安装标识参数值为I,即使能状态,但第二配置文件不存在,系统需要创建第二配置文件,步骤如下:
[0054]步骤S31,系统重启时运行软件安装脚本。
[0055]步骤S32,此时软件安装标识参数值为1,但第二配置文件不存在,则创建第二配置文件,例如/etc/conf ig/plugin,并从第一配置文件中拷贝原系统已安装的软件名称信息,存储到第二配置文件中。
[0056]步骤S33,用存储模块不可擦除区域中保存的原系统/etc/opkg.conf文件,覆盖OpenWrt系统自带的/etc/opkg.conf配置文件,使OpenWrt系统的软件安装源下载地址恢复为升级或重装前的原系统内容。
[0057]步骤S34,脚本执行结束,启动软件自动安装进程。
[0058]进一步的,图4为OpenWrt系统执行升级或重装动作后,非第一次重启时的软件安装脚本流程图,如果软件安装标识参数值为I,即使能状态,且第二配置文件已存在,则系统启动软件自动安装进程,依据第二配置文件中的软件名称信息继续安装软件。
[0059]较优的,当Openffrt系统执行升级或重装动作后,非第一次重启时,软件安装标识参数值为0,即非使能状态,表明系统已没有需要自动安装的原系统软件,则系统不会执行软件自动安装动作。
[0060]进一步的,如图5所示,本发明的第二实施例还提供一软件自动安装进程,例如plug-1n,该软件自动安装进程依据第二配置文件中的软件名称,以及/etc/opkg.conf配置文件中的软件安装源下载地址,使用opkg install自动安装软件;每一条软件安装结束后,按规则更新第二配置文件,并继续安装下一条软件,直至遍历第二配置文件完成最后一条软件的安装;最终根据第二配置文件是否为空来决定结束安装进程或是循环启动继续安装软件。该软件自动安装进程包括步骤:
[0061 ]步骤S51:第二配置文件中有未安装的软件名称,则使用opkg install安装软件。
[0062]步骤S52:判断软件是否安装成功。
[0063]步骤S531:如果软件安装成功,将第二配置文件中该软件信息删除。
[0064]步骤S532:如果软件安装失败,在第二配置文件中保留该软件信息。
[0065]步骤S54:根据第二配置文件中的记录继续安装下一条软件,每一条软件安装结束后,按步骤S531、步骤S532的规则更新第二配置文件,并继续安装下一条软件,直至遍历第二配置文件完成最后一条软件的安装。
[0066]步骤S55:判断第二配置文件是否为空。
[0067]步骤S561-S562:如果第二配置文件为空,所有软件已安装成功,则将软件安装标识参数值设为0,同时删除第二配置文件。至此,系统升级或重装后原系统的软件自动安装已完成。
[0068]步骤S571-S572:如果第二配置文件不为空,即有软件未完成安装,则软件自动安装进程plug-1n休眠一设定时长后循环启动,继续安装剩余软件,并按规则更新第二配置文件,直至第二配置文件为空或循环次数超过设定值,结束软件自动安装进程plug-1n。
[0069]具体的,软件自动安装进程plug-1n提供一设定值,当进程循环次数超过设定值,则结束软件自动安装进程plug-1n,系统为用户提供软件安装失败提示信息及后续可选操作,例如放弃安装软件或待系统再次启动后继续安装软件。
[0070]以上,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。
【主权项】
1.一种软件安装方法,应用于一支持OpenWrt系统的装置中,所述装置设有存储模块,所述存储模块设有一可读写的不可擦除区域,存储在该不可擦除区域中的数据信息在系统升级或重装时,不会被擦除,其特征在于,包括步骤: 步骤I,所述存储模块不可擦除区域中记录至少一软件名称和该软件安装源下载地址; 步骤2,当所述Openffrt系统升级或重装之后,读取所述软件名称及软件安装源下载地址; 步骤3,根据所述软件名称及软件安装源下载地址自动下载并安装所述软件。2.如权利要求1所述的一种软件安装方法,其特征在于,在所述存储模块不可擦除区域中设有第一配置文件,所述第一配置文件中至少包含目前系统中已安装的若干条软件名称,且该第一配置文件中的软件名称信息依据系统中软件的安装及卸载动态更新。3.如权利要求1所述的一种软件安装方法,其特征在于,所述OpenWrt系统中设有一软件安装标识,所述软件安装标识至少具有使能和非使能两种状态;系统依据该软件安装标识的状态执行相应动作,该软件安装标识设为使能状态时,系统将执行自动安装软件动作,该软件安装标识设为非使能状态时,系统不会自动安装软件。4.如权利要求3所述的一种软件安装方法,其特征在于,OpenWrt系统升级或重装时,将所述软件安装标识设为使能状态。5.如权利要求1所述的一种软件安装方法,其特征在于,Openffrt系统升级或重装后读取所述存储模块不可擦除区域中存储的所述软件名称时,将生成第二配置文件并将所述软件名称信息存储至该第二配置文件中;所述第二配置文件中的所述软件名称信息依据软件自动安装的成功或失败动态更新。6.如权利要求1所述的一种软件安装方法,其特征在于,Openffrt系统中具有一软件自动安装进程,所述软件自动安装进程依据OpenWrt系统升级或重装后读取的所述软件名称,以及所述软件安装源下载地址自动安装软件。7.如权利要求6所述的一种软件安装方法,其特征在于,包括步骤: 步骤I ,OpenWrt系统升级或重装后读取所述软件名称时,将生成第二配置文件并将所述软件名称信息存储至所述第二配置文件中; 步骤2,所述软件自动安装进程依据所述第二配置文件中的所述软件名称,以及所述软件安装源下载地址自动安装全部软件; 步骤3,每一条软件安装结束后,按规则更新所述第二配置文件,并继续安装下一条软件,直至遍历所述第二配置文件完成最后一条软件的安装; 所述第二配置文件的更新规则为,如果软件安装成功,将所述第二配置文件中的该软件相关信息删除;如果软件安装失败,保留所述第二配置文件中的该软件相关信息。8.如权利要求7所述的一种软件安装方法,其特征在于,所述软件自动安装进程遍历所述第二配置文件,完成最后一条软件的安装后,如果所述第二配置文件已为空,则删除该第二配置文件,结束软件自动安装进程;如果所述第二配置文件中仍包含未成功安装的软件名称信息,则所述软件自动安装进程启动循环,重新执行软件自动安装动作。9.如权利要求8所述的一种软件安装方法,其特征在于,所述软件自动安装进程还包括一设定值,当该软件自动安装进程的循环次数超过所述设定值时,该软件自动安装进程结束;该软件自动安装进程结束后,如果所述第二配置文件中仍包含未成功安装的软件名称信息,系统为用户提供提示信息及后续可选操作。10.—种支持Openffrt系统的装置,其特征在于,所述装置的Openffrt系统使用如权利要求1-9任一项所述的软件安装方法。
【文档编号】G06F9/445GK106020903SQ201610375027
【公开日】2016年10月12日
【申请日】2016年5月31日
【发明人】郑泽铭
【申请人】上海斐讯数据通信技术有限公司