软件包还原方法、装置、电子设备及存储介质制造方法及图纸

技术编号:37386927 阅读:25 留言:0更新日期:2023-04-27 07:26
本发明专利技术实施例提供了一种软件包还原方法、装置、电子设备及存储介质,其中的方法包括:创建目标软件包的打包目录,并在打包目录下创建安装目录和控制目录;查询操作系统中安装目标软件包产生的安装内容,并将安装内容拷贝至安装目录下;提取操作系统中安装目标软件包产生的控制信息,并根据控制信息还原目标软件包的控制文件;获取操作系统中安装目标软件包产生的脚本文件和校验文件;将控制文件、脚本文件和校验文件拷贝至控制目录下;按照目标软件包的打包规范对打包目录进行打包,得到目标软件包。本发明专利技术实施例在没有目标软件包的源码,也没有目标软件包的下载源的情况下,可以反向制作出目标软件包,从而可以在其他设备上安装目标软件包。标软件包。标软件包。

【技术实现步骤摘要】
软件包还原方法、装置、电子设备及存储介质


[0001]本专利技术涉及计算机
,特别是涉及一种软件包还原方法、一种软件包还原装置、一种电子设备以及一种存储介质。

技术介绍

[0002]Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,是一个基于POSIX(Portable Operating System Interface,可移植操作系统接口)和UNIX的多用户、多任务、支持多线程和多CPU(Central Processing Unit,中央处理器)的操作系统,能够安装并运行多种应用软件,如办公类软件、浏览器、以及文档查看器等。
[0003]Debian系列的Linux操作系统是目前常用的一种Linux操作系统,Debian系列的Linux操作系统中采用的软件包为deb软件包。当通过deb软件包将应用程序安装到Linux操作系统中之后,在无法获取该软件包并且没有该deb软件包的下载源的情况下,将无法再在其他设备上安装该软件包。

技术实现思路

[0004]鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种软件包还原方法,在没有目标软件包的源码,也没有目标软件包的下载源的情况下,可以反向制作出目标软件包,从而可以在其他设备上安装目标软件包。
[0005]相应的,本专利技术实施例还提供了一种软件包还原装置、电子设备、以及一种存储介质,用以保证上述方法的实现及应用。
[0006]第一方面,本专利技术实施例公开了一种软件包还原方法,应用于基于Linux操作系统的计算机设备,所述计算机设备的操作系统中已安装目标软件包,所述方法包括:
[0007]创建所述目标软件包的打包目录,并在所述打包目录下创建安装目录和控制目录;
[0008]查询所述操作系统中安装所述目标软件包产生的安装内容,并将所述安装内容拷贝至所述安装目录下;
[0009]提取所述操作系统中安装所述目标软件包产生的控制信息,并根据所述控制信息还原所述目标软件包的控制文件;
[0010]获取所述操作系统中安装所述目标软件包产生的脚本文件和校验文件;
[0011]将所述控制文件、所述脚本文件和所述校验文件拷贝至所述控制目录下;
[0012]按照所述目标软件包的打包规范对所述打包目录进行打包,得到所述目标软件包。
[0013]可选地,所述查询所述操作系统中安装所述目标软件包产生的安装内容,并将所述安装内容拷贝至所述安装目录下,包括:
[0014]将所述目标软件包的名称作为输入参数,在所述操作系统中执行预设命令,通过所述预设命令输出所述操作系统中安装所述目标软件包产生的文件列表,所述文件列表中
显示有所述操作系统中安装所述目标软件包产生的安装内容的路径信息;
[0015]从所述路径信息对应的位置将所述安装内容拷贝至所述安装目录下。
[0016]可选地,所述提取所述操作系统中安装所述目标软件包产生的控制信息,并根据所述控制信息还原所述目标软件包的控制文件,包括:
[0017]在所述控制目录下创建空的控制文件;
[0018]查找所述操作系统中的软件管理目录;
[0019]从所述软件管理目录下获取信息管理文件,所述信息管理文件中记录有所述操作系统中安装的所有软件包的控制信息;其中,所述控制信息至少包括软件包的名称和软件包的版本号;
[0020]根据所述目标软件包的名称和版本号,在所述信息管理文件中查找所述目标软件包的控制信息;
[0021]将所述目标软件包的控制信息拷贝至所述空的控制文件中,并删除所述目标软件包的安装状态信息,得到所述目标软件包的控制文件。
[0022]可选地,所述获取所述操作系统中安装所述目标软件包产生的脚本文件和校验文件,包括:
[0023]查找所述操作系统中的软件管理目录;
[0024]从所述软件管理目录下的配置文件目录下获取所述操作系统中安装所述目标软件包产生的脚本文件和校验文件。
[0025]可选地,所述脚本文件包括安装目标软件包的脚本文件和卸载目标软件包的脚本文件。
[0026]可选地,所述方法还包括:
[0027]对所述安装内容中的每个数据文件计算对应的校验值;
[0028]将计算得到的每个数据文件对应的校验值与所述校验文件中记录的每个数据文件对应的校验值进行比对,得到比对结果;
[0029]显示所述比对结果。
[0030]可选地,所述目标软件包的格式为deb格式或rpm格式。
[0031]第二方面,本专利技术实施例公开了一种软件包还原装置,应用于基于Linux操作系统的计算机设备,所述计算机设备的操作系统中已安装目标软件包,所述装置包括:
[0032]打包目录创建模块,用于创建所述目标软件包的打包目录,并在所述打包目录下创建安装目录和控制目录;
[0033]安装目录还原模块,用于查询所述操作系统中安装所述目标软件包产生的安装内容,并将所述安装内容拷贝至所述安装目录下;
[0034]控制文件还原模块,用于提取所述操作系统中安装所述目标软件包产生的控制信息,并根据所述控制信息还原所述目标软件包的控制文件;
[0035]脚本获取模块,用于获取所述操作系统中安装所述目标软件包产生的脚本文件和校验文件;
[0036]控制目录还原模块,用于将所述控制文件、所述脚本文件和所述校验文件拷贝至所述控制目录下;
[0037]打包模块,用于按照所述目标软件包的打包规范对所述打包目录进行打包,得到
所述目标软件包。
[0038]可选地,所述安装目录还原模块,包括:
[0039]命令执行子模块,用于将所述目标软件包的名称作为输入参数,在所述操作系统中执行预设命令,通过所述预设命令输出所述操作系统中安装所述目标软件包产生的文件列表,所述文件列表中显示有所述操作系统中安装所述目标软件包产生的安装内容的路径信息;
[0040]内容拷贝子模块,用于从所述路径信息对应的位置将所述安装内容拷贝至所述安装目录下。
[0041]可选地,所述控制文件还原模块,包括:
[0042]目录创建子模块,用于在所述控制目录下创建空的控制文件;
[0043]第一查找子模块,用于查找所述操作系统中的软件管理目录;
[0044]信息文件获取子模块,用于从所述软件管理目录下获取信息管理文件,所述信息管理文件中记录有所述操作系统中安装的所有软件包的控制信息;其中,所述控制信息至少包括软件包的名称和软件包的版本号;
[0045]控制信息获取子模块,用于根据所述目标软件包的名称和版本号,在所述信息管理文件中查找所述目标软件包的控制信息;
[0046]文件还原子模块,用于将所述目标软件包的控制信息拷贝至所述空的控制文件中,并删除所述目标软件包的安装状态信息,得到所述目标软件包的控制文件。
[0047]可选地,所述脚本获取模块,包括:本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件包还原方法,其特征在于,应用于基于Linux操作系统的计算机设备,所述计算机设备的操作系统中已安装目标软件包,所述方法包括:创建所述目标软件包的打包目录,并在所述打包目录下创建安装目录和5控制目录;查询所述操作系统中安装所述目标软件包产生的安装内容,并将所述安装内容拷贝至所述安装目录下;提取所述操作系统中安装所述目标软件包产生的控制信息,并根据所述控制信息还原所述目标软件包的控制文件;0获取所述操作系统中安装所述目标软件包产生的脚本文件和校验文件;将所述控制文件、所述脚本文件和所述校验文件拷贝至所述控制目录下;按照所述目标软件包的打包规范对所述打包目录进行打包,得到所述目标软件包。2.根据权利要求1所述的方法,其特征在于,所述查询所述操作系统5中安装所述目标软件包产生的安装内容,并将所述安装内容拷贝至所述安装目录下,包括:将所述目标软件包的名称作为输入参数,在所述操作系统中执行预设命令,通过所述预设命令输出所述操作系统中安装所述目标软件包产生的文件列表,所述文件列表中显示有所述操作系统中安装所述目标软件包产生的安0装内容的路径信息;从所述路径信息对应的位置将所述安装内容拷贝至所述安装目录下。3.根据权利要求1所述的方法,其特征在于,所述提取所述操作系统中安装所述目标软件包产生的控制信息,并根据所述控制信息还原所述目标软件包的控制文件,包括:5在所述控制目录下创建空的控制文件;查找所述操作系统中的软件管理目录;从所述软件管理目录下获取信息管理文件,所述信息管理文件中记录有所述操作系统中安装的所有软件包的控制信息;其中,所述控制信息至少包括软件包的名称和软件包的版本号;根据所述目标软件包的名称和版本号,在所述信息管理文件中查找所述目标软件包的控制信息;将所述目标软件包的控制信息拷贝至所述空的控制文件中,并删除所述目标软件包的安装状态信息,得到所述目标软件包的控制文件。4.根据权利要求1所述的方法,其特征在于,所述获取所述操作系统中安装所述目标软件包产生的脚本文件和校验文件,包括:查找所述操作系统中的软件管理目录;从所述软件管理目录下的配置文件目录下获取所述操作系统中安装所述目标软件包产生的脚本文件和校验文件。5.根据权利要求4所述的方法,其特征在于,所述脚本文件包括安装目标软件包的脚本文件和卸载目标软件包的脚本文件。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:对所述安装内容中的每个数据文件计算对应的校验值;将计算得到的每个数据文件对应的校验值与所述校验文件中记录的每个数据文件对应的校验值进行比对,得到比对结果;显示所述比对结果。
7.根据权利要求1至6任一所述的方法,其特征在于,所述目标软件包的格式为deb格式或rpm格式。8.一种软件包还原装置,其特征在于,应用于基于Linux操作系统的计算机设备,所述计算机设备的操作系统中已安装目标软件包,所述装置包括:打包目录创建模块,用于创建所述目标软件包的打包目录,并在所述打包目录下创建安装目录和控制目录;安装目录还原模块,用于查询所述操作系统中安装所述目标软件包产生的安...

【专利技术属性】
技术研发人员:张家岭王洪虎武瑞龙桑猛王怀卿宋阳
申请(专利权)人:龙芯中科技术股份有限公司
类型:发明
国别省市:

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

1