CN103514023A - 一种虚拟机离线自动软件安装的方法及系统 - Google Patents
一种虚拟机离线自动软件安装的方法及系统 Download PDFInfo
- Publication number
- CN103514023A CN103514023A CN201310499961.7A CN201310499961A CN103514023A CN 103514023 A CN103514023 A CN 103514023A CN 201310499961 A CN201310499961 A CN 201310499961A CN 103514023 A CN103514023 A CN 103514023A
- Authority
- CN
- China
- Prior art keywords
- software
- virtual machine
- file
- installation
- image file
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种虚拟机离线自动软件安装的方法及系统,所述方法包括:步骤1,录入待安装软件的基本信息,并根据虚拟机镜像文件的操作系统类型执行步骤2或步骤4;步骤2,若为Windows操作系统,则通过自动软件安装测试获得自动化安装软件的安装所需文件和配置文件;步骤3,当有自动软件安装任务到达时,在虚拟机未启动的状态下,挂载虚拟机镜像文件,根据配置文件将安装所需文件写入虚拟机镜像文件的相应位置;步骤4,若为Linux操作系统,当有自动软件安装任务到达时,在虚拟机未启动的状态下,挂载虚拟机镜像文件,再执行Linux软件安装脚本;步骤5,完成安装。本发明能够在虚拟机环境下,在不启动虚拟机的情况下,实现大规模虚拟机的软件自动安装。
Description
技术领域
本发明涉及大规模网络仿真节点自动化部署领域,具体涉及一种虚拟机离线自动软件安装的方法及系统。
背景技术
在试图解决复杂网络环境中的安全问题时,通常需要提供有效的手段来论证方案、技术的可行性,验证系统的有效性,评估系统的实际应用效能。在网络安全实践过程中,学术界与工业界形成了若干测试验证的方法。常见的包括:分析模型(analytical model)、模拟(Simulation)、仿真(Emulation)、真实网络(Live Networks)等。分析模型试图通过数学方法建立网络的模型,运用数学工具推导安全技术的可行性与有效性;模拟方法通过软件模拟网络中的各种行为并加以分析评估;仿真手段则在一个可控环境中“复制”研究对象环境,通过加载实验负载对安全技术与产品进行测试;真实网络则是部署到真实的应用环境中,通过实际应用,并辅助以有效的监测工具来检验产品的功能与性能。这些方法中仿真非常接近真实网络,并且仿真所需要的成本较低。近年来随着虚拟化技术的不断发展,大规模网络的仿真往往采用虚拟机作为仿真网络中的节点。这样一来就遇到一个挑战,如何快速自动化地部署大规模虚拟网络中的仿真节点,包括节点安装的操作系统、节点上安装和运行的软件等。
目前对软件自动化安装的研究主要是基于普通个人电脑,以Windows操作系统为例,软件自动安装方法主要有以下两种:软件自动安装包和软件自动安装脚本。
软件自动安装包就是制作安装包程序完成正常软件安装时的文件拷贝和注册表设置动作。在一台样机上安装,并对安装过程中系统文件的变化和注册表的改变进行记录,形成自动安装包,对目标计算机进行相同的文件和注册表操作。这种方法具有以下优点,安装过程可以没有界面,不容易受用户其他操作的影响,但也存在缺点,只有在同样的硬件配置、操作系统和软件环境的计算机上才有可能保证安装是有效。因为软件的安装可能会因硬件和软件环境的不同,系统文件和注册表的变化会有所不同,如果利用自动安装包安装到不同环境的计算机上,新安装的软件轻则不可用,重则系统瘫痪。
绝大多数的软件安装需要用户键盘和鼠标的操作,软件自动安装记录脚本记录下软件安装过程中不同界面上的键盘和鼠标事件,形成安装脚本,在目标计算机上控制原安装软件的自动运行。这种方法利用原安装软件进行安装,不容易受计算机软硬件环境的影响,安全可靠,脚本小巧灵活。但也存在缺点,其安装的过程有界面,容易受用户其他操作的影响,导致安装的失败。
以上介绍的普通计算机软件自动安装方法存在一个很大的局限性,它们无法做到大规模的安装。例如有一千个或更多计算机需要部署一些软件,这就需要在这么多计算机上人工地启动自动软件安装程序。虽然可以通过网络客户端/服务端的方式用一台计算机控制其他计算机,但这需要复杂的设置。虚拟机软件可以完全模拟出操作系统的运行环境。虚拟化技术通过在现有平台(物理机器)上添加一层虚拟机监控程序软件而实现对系统的虚拟化,如虚拟处理器、虚拟硬盘、虚拟内存管理器(MMU)和虚拟I/O系统等。从应用程序的角度看,程序运行在虚拟机上同运行在其对应的实体计算机上一样。从软件安装的角度看,与实体计算机上安装的软件都保存在物理硬盘上相似,虚拟机上安装的软件都保存在虚拟硬盘中。虚拟硬盘在宿主计算机上其实就是一个文件,一般称为镜像文件。在这样的虚拟节点上自动安装软件与普通计算机有很多相似之处,普通计算机中自动软件安装的方法可以完全应用到虚拟机之上。同时虚拟机其具有更高的可控性,在宿主计算机看来运行虚拟机操作系统的硬盘就是一个普通的文件,并且镜像文件具有一定的格式,可以用一些工具挂载到宿主计算机的某一目录下。因此相比实体计算机,在虚拟机环境下有更好的软件自动安装方法。若将虚拟机操作系统视为一台硬盘更加容易控制的普通电脑,这种情况可以利用普通计算机中自动软件安装的方法,但由于虚拟机硬盘镜像文件更容易控制和操作,软件自动安装的过程会更加高效。
发明内容
本发明所要解决的技术问题是提供一种虚拟机离线自动软件安装的方法及系统,用于实现在不启动虚拟机的情况下,自动地、高效地完成软件在虚拟机中的安装。
本发明解决上述技术问题的技术方案如下:一种虚拟机离线自动软件安装的方法,包括:
步骤1,录入待安装软件的基本信息,并根据虚拟机镜像文件的操作系统类型执行步骤2或步骤4;
步骤2,若为Windows操作系统,则基于待安装软件的基本信息进行软件自动安装测试,获得自动化安装软件的安装所需文件和配置文件,并保存到存储服务器,再执行步骤3;
步骤3,当有自动软件安装任务到达时,在虚拟机未启动的状态下,挂载虚拟机镜像文件,根据配置文件将安装所需文件写入虚拟机镜像文件的相应位置,并修改Windows操作系统的注册表信息,再执行步骤5;
步骤4,若为Linux操作系统,则根据待安装软件的基本信息和本地镜像库服务器地址生成Linux软件安装脚本,当有自动软件安装任务到达时,在虚拟机未启动的状态下,挂载虚拟机镜像文件,再执行Linux软件安装脚本,并转到步骤5;
步骤5,完成虚拟机离线自动软件安装。
在上述技术方案的基础上,本发明还进行了以下细化及改进。
进一步,所述待安装软件的基本信息包括软件名称、版本号、运行的操作系统、软件安装文件路径、安装文件路径、配置文件路径和/或Linux操作系统的软件包本地镜像库服务器地址。
进一步,所述步骤2中通过软件自动安装测试获得自动化安装软件的安装所需文件和配置文件的具体步骤包括:
步骤21,在虚拟机模板镜像文件上创建纯净的增量镜像;
步骤22,给操作系统镜像文件做快照,导出注册表信息形成注册表快照,遍历文件系统形成文件系统快照;
步骤23,启动虚拟机操作系统,并在虚拟机上完成软件安装;
步骤24,再次给操作系统镜像文件做快照,导出注册表信息形成注册表快照,遍历文件系统形成文件系统快照;
步骤25,比对两次快照,生成两次快照的差异文件;
步骤26,根据差异文件得到软件安装过程中拷贝到目标虚拟机的文件列表和路径,即安装所需文件,再将安装所需文件的备份保存在存储服务器;
步骤27,处理差异文件,得到自动化安装软件所需的配置文件,并将其保存在存储服务器。
进一步,所述步骤3中根据配置文件将待安装软件的安装所需文件写入虚拟机镜像文件的相应位置,并修改Windows操作系统的注册表信息的具体步骤包括:
步骤31,查询并取得待安装软件的基本信息;
步骤32,判断虚拟机镜像文件类型,如果是增量虚拟机镜像文件则执行步骤33,否则执行步骤34;
步骤33,使用guestfs命令挂载虚拟机镜像文件,并转到步骤35继续执行;
步骤34,使用mount命令挂载虚拟机镜像文件,并转到步骤35继续执行;
步骤35,从存储服务器读取安装所需文件及配置文件,并按照配置文件指定的路径将安装所需文件上传到虚拟机镜像文件;
步骤36,按照配置文件记录的信息修改Windows操作系统中注册表对应的文件;
步骤37,卸载虚拟机镜像文件。
进一步,所述步骤4具体包括:
步骤41,读取待安装软件的基本信息和本地镜像库服务器地址,并判断虚拟机镜像文件类型,如果是增量,则使用guestfs命令挂载虚拟机镜像文件,并执行步骤42,否则使用mount命令挂载虚拟机镜像文件,并执行步骤42;
步骤42,初始化出两个进程间通信管道,分别定义为f1和f2;
步骤43,使用fork命令创建出一个新的进程,判断该进程是否是父进程,如果是则执行步骤44,如果是子进程则执行步骤46;
步骤44,根据待安装软件的基本信息和本地镜像库服务器地址生成Linux软件安装脚本,并通过进程间通信管道f1向子进程发送Linux软件安装脚本,再从进程间通信管道f2读取子进程执行结果;
步骤45,通过进程间通信管道f1向子进程发送退出chroot命令,并等待子进程运行结束,转到步骤49;
步骤46,重新定向进程间通信管道,使f1的输入定向到标准输入,f2的输出定向到标准输出;
步骤47,接收并执行父进程发来的chroot命令,切换Linux操作系统的根目录到镜像文件的挂载目录;
步骤48,从标准输入读取父进程发送的脚本或指令并执行,收到退出chroot命令并执行完毕后,子进程退出;
步骤49,卸载虚拟机镜像文件。
本发明的技术方案还包括一种虚拟机离线自动软件安装的系统,其包括管理模块以及和管理模块均相连的Windows镜像分析模块、Windows离线软件自动安装模块和Linux离线软件自动安装模块:
管理模块,其用于提供操作界面录入待安装软件的基本信息和调用Windows镜像分析模块,还用于根据虚拟机镜像文件的操作系统类型决定调用Windows离线软件自动安装模块或Linux离线软件自动安装模块来实现虚拟机离线自动软件安装;
Windows镜像分析模块,其用于根据待安装软件的基本信息进行软件自动安装测试,获得自动化安装软件的安装所需文件和配置文件;
Windows离线软件自动安装模块,其用于在有自动软件安装任务到达时,在虚拟机未启动的状态下,挂载虚拟机镜像文件,根据配置文件将安装所需文件写入虚拟机镜像文件的相应位置,并修改Windows操作系统的注册表信息;
Linux离线软件自动安装模块,其用于根据待安装软件的基本信息和本地镜像库服务器地址生成Linux软件安装脚本,当有自动软件安装任务到达时,在虚拟机未启动的状态下,挂载虚拟机镜像文件,再执行Linux软件安装脚本。
进一步,所述待安装软件的基本信息包括软件名称、版本号、运行的操作系统、软件安装文件路径、安装文件路径、配置文件路径和/或Linux操作系统的软件包本地镜像库服务器地址。
进一步,所述管理模块还用于实现Windows操作系统或Linux操作系统下离线自动安装软件的增加、查询、修改和/或删除。
进一步,所述Windows镜像分析模块将获得的自动化安装软件的安装所需文件和配置文件保存至存储服务器,且所述Windows离线软件自动安装模块从所述存储服务器获得安装所需文件和配置文件。
本发明的有益效果是:本发明能够在虚拟机环境下,在不启动虚拟机的情况下,实现大规模虚拟机的软件自动安装。与已公开的方法相比,本发明具有如下优点:1)主要针对虚拟机环境,充分利用虚拟机的特性,使软件自动安装更高效;2)在虚拟机未启动的情况下完成软件自动安装,有效减少对硬件环境的压力,提高虚拟机节点可用性;3)适合大规模虚拟机节点的软件自动部署,对大规模网络仿真场景构建具有重要意义。
附图说明
图1为本发明所述虚拟机离线自动软件安装的方法的流程示意图;
图2为本发明所述虚拟机离线自动软件安装的系统的结构示意图;
图3为本发明所述Windows镜像分析模块的工作流程图;
图4为本发明所述Windows离线软件自动安装模块的工作流程图;
图5为本发明所述Linux离线软件自动安装模块的工作流程图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,本实施例给出了一种虚拟机离线自动软件安装的方法,包括:
步骤1,录入待安装软件的基本信息,并根据虚拟机镜像文件的操作系统类型执行步骤2或步骤4;所述待安装软件的基本信息包括软件名称、版本号、运行的操作系统、软件安装文件路径、安装文件路径、配置文件路径和Linux操作系统的软件包本地镜像库服务器地址等,且Linux操作系统的软件包本地镜像库服务器地址存储于Linux软件包的本地镜像库服务器中,其余基本信息则存储于可安装软件数据库中。
步骤2,若为Windows操作系统,则基于待安装软件的基本信息进行软件自动安装测试,获得自动化安装软件的安装所需文件和配置文件,并保存到存储服务器,再执行步骤3。
步骤3,当有自动软件安装任务到达时,在虚拟机未启动的状态下,挂载虚拟机镜像文件,根据配置文件将安装所需文件写入虚拟机镜像文件的相应位置,并修改Windows操作系统的注册表信息,再执行步骤5。
步骤4,若为Linux操作系统,则根据待安装软件的基本信息和本地镜像库服务器地址生成Linux软件安装脚本,当有自动软件安装任务到达时,在虚拟机未启动的状态下,挂载虚拟机镜像文件,再执行Linux软件安装脚本,并转到步骤5。
步骤5,完成虚拟机离线自动软件安装。
根据上述方案,可知整个虚拟机离线自动软件安装主要包括两个方面的内容:软件自动安装试验过程和软件自动安装过程。本实施例中需要先经过软件自动安装试验过程,才能在有自动软件安装任务到达时,实现软件自动安装。
如图2所示,对应所述虚拟机离线自动软件安装的方法,本实施例还给出了一种虚拟机离线自动软件安装的系统,其包括管理模块以及和管理模块均相连的Windows镜像分析模块、Windows离线软件自动安装模块和Linux离线软件自动安装模块。
所述管理模块,其用于提供操作界面录入待安装软件的基本信息和调用Windows镜像分析模块,还用于根据虚拟机镜像文件的操作系统类型决定调用Windows离线软件自动安装模块或Linux离线软件自动安装模块来实现虚拟机离线自动软件安装。
所述Windows镜像分析模块,其用于基于待安装软件的基本信息进行软件自动安装测试,获得自动化安装软件的安装所需文件和配置文件,同时控制基于虚拟机模板镜像的测试增量镜像。所述安装所需文件及配置文件存储进存储服务器,便于所述Windows离线软件自动安装模块查询和调用。
所述Windows离线软件自动安装模块,其用于在有自动软件安装任务到达时,在虚拟机未启动的状态下,挂载虚拟机镜像文件,根据配置文件将安装所需文件写入虚拟机镜像文件的相应位置,并修改Windows操作系统的注册表信息。
所述Linux离线软件自动安装模块,其用于根据待安装软件的基本信息和本地镜像库服务器地址生成Linux软件安装脚本,当有自动软件安装任务到达时,在虚拟机未启动的状态下,挂载虚拟机镜像文件,再执行Linux软件安装脚本。
在所述系统中,管理模块还可调配其它模块,并用于实现Windows操作系统或Linux操作系统下离线自动安装软件的增加、查询、修改和/或删除,且如果是Window系统中的应用软件,则还需调用Windows镜像分析模块。
可知Windows操作系统的软件自动安装过程主要包括:由管理模块提供界面,由管理员录入待安装软件的基本信息;由管理模块调用Windows镜像分析模块,该模块分析软件安装前后虚拟机镜像的快照,通过比对生成差异文件,得到软件安装所需文件,再通过转化和格式化形成系统通用的软件安装配置文件,并保存在存储服务器上,最后将这一路径保存到数据库中;当软件自动安装任务到达时,由管理模块调用所述Windows离线软件自动安装模块,执行软件自动安装。
而Linux操作系统实现软件自动安装过程主要包括:由管理模块调用所述Linux离线软件自动安装模块,Linux离线软件自动安装模块从可安装软件数据库中获得本地镜像库服务器地址、安装软件的名称、版本等信息,结合Linux软件包的本地镜像库服务器生成Linux软件安装脚本,实现在不启动虚拟机的情况下完成软件的自动安装。
结合上述概括性方案,下面给出具体的实施过程。
如图3所示,所述步骤2及所述Windows镜像分析模块通过软件自动安装测试获得自动化安装软件的安装所需文件和配置文件的具体步骤包括:
步骤21,在虚拟机模板镜像文件上创建纯净的增量镜像;
步骤22,给操作系统镜像文件做快照,导出注册表信息形成注册表快照,遍历文件系统形成文件系统快照;
步骤23,启动虚拟机操作系统,并在虚拟机上完成软件安装;
步骤24,再次给操作系统镜像文件做快照,导出注册表信息形成注册表快照,遍历文件系统形成文件系统快照;
步骤25,比对两次快照,生成两次快照的差异文件;
步骤26,根据差异文件得到软件安装过程中拷贝到目标虚拟机的文件列表和路径,即安装所需文件,再将安装所需文件的备份保存在存储服务器;
步骤27,处理差异文件,得到自动化安装软件所需的配置文件,并将其保存在存储服务器。
如图4所述,所述步骤3及所述Windows离线软件自动安装模块涉及的根据配置文件将待安装软件的软件所需文件写入虚拟机镜像文件的相应位置,并修改Windows操作系统的注册表信息的具体步骤包括:
步骤31,查询并取得待安装软件的基本信息;
步骤32,判断虚拟机镜像文件类型,如果是增量虚拟机镜像文件则执行步骤33,否则执行步骤34;
步骤33,使用guestfs命令挂载虚拟机镜像文件,并转到步骤35继续执行;
步骤34,使用mount命令挂载虚拟机镜像文件,并转到步骤35继续执行;
步骤35,从存储服务器读取安装所需文件及配置文件,并按照配置文件指定的路径将安装所需文件上传到虚拟机镜像文件;
步骤36,按照配置文件记录的信息修改Windows系统中注册表对应的文件;
步骤37,卸载虚拟机镜像文件。这里的卸载是针对针对挂载而言的,挂载时将镜像文件像本机文件夹一样操作,卸载后则不能再这样操作,下文相关表述与此相同。
如图5所示,所述步骤4及所述Linux离线软件自动安装模块的具体实施步骤包括:
步骤41,读取待安装软件的基本信息和本地镜像库服务器地址,并判断虚拟机镜像文件类型,如果是增量,则使用guestfs命令挂载虚拟机镜像文件,并执行步骤42,否则使用mount命令挂载虚拟机镜像文件,并执行步骤42;
步骤42,初始化出两个进程间通信管道,分别定义为f1和f2;
步骤43,使用fork命令创建出一个新的进程,判断该进程是否是父进程,如果是则执行步骤44,如果是子进程则执行步骤46;
步骤44,根据待安装软件的基本信息和本地镜像库服务器地址生成Linux软件安装脚本,并通过进程间通信管道f1向子进程发送Linux软件安装脚本,再从进程间通信管道f2读取子进程执行结果;
步骤45,通过进程间通信管道f1向子进程发送退出chroot命令,并等待子进程运行结束,转到步骤49;
步骤46,重新定向进程间通信管道,使f1的输入定向到标准输入,f2的输出定向到标准输出;
步骤47,接收并执行父进程发来的chroot命令,切换Linux操作系统的根目录到镜像文件的挂载目录;
步骤48,从标准输入读取父进程发送的脚本或指令并执行,收到退出chroot命令并执行完毕后,子进程退出;
步骤49,卸载虚拟机镜像文件,此虚拟机镜像文件再次启动后的就可以看到以上安装的软件。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种虚拟机离线自动软件安装的方法,其特征在于,包括:
步骤1,录入待安装软件的基本信息,并根据虚拟机镜像文件的操作系统类型执行步骤2或步骤4;
步骤2,若为Windows操作系统,则基于待安装软件的基本信息进行软件自动安装测试,获得自动化安装软件的安装所需文件和配置文件,并保存到存储服务器,再执行步骤3;
步骤3,当有自动软件安装任务到达时,在虚拟机未启动的状态下,挂载虚拟机镜像文件,根据配置文件将安装所需文件写入虚拟机镜像文件的相应位置,并修改Windows操作系统的注册表信息,再执行步骤5;
步骤4,若为Linux操作系统,则根据待安装软件的基本信息和本地镜像库服务器地址生成Linux软件安装脚本,当有自动软件安装任务到达时,在虚拟机未启动的状态下,挂载虚拟机镜像文件,再执行Linux软件安装脚本,并转到步骤5;
步骤5,完成虚拟机离线自动软件安装。
2.根据权利要求1所述的方法,其特征在于,所述待安装软件的基本信息包括软件名称、版本号、运行的操作系统、软件安装文件路径、安装文件路径、配置文件路径和/或Linux操作系统的软件包本地镜像库服务器地址。
3.根据权利要求1所述的方法,其特征在于,所述步骤2中通过软件自动安装测试获得自动化安装软件的安装文件和配置文件的具体步骤包括:
步骤21,在虚拟机模板镜像文件上创建纯净的增量镜像;
步骤22,给操作系统镜像文件做快照,导出注册表信息形成注册表快照,遍历文件系统形成文件系统快照;
步骤23,启动虚拟机操作系统,并在虚拟机上完成软件安装;
步骤24,再次给操作系统镜像文件做快照,导出注册表信息形成注册表快照,遍历文件系统形成文件系统快照;
步骤25,比对两次快照,生成两次快照的差异文件;
步骤26,根据差异文件得到软件安装过程中拷贝到目标虚拟机的文件列表和路径,即安装所需文件,再将安装所需文件的备份保存在存储服务器;
步骤27,处理差异文件,得到自动化安装软件所需的配置文件,并将其保存在存储服务器。
4.根据权利要求1所述的方法,其特征在于,所述步骤3中根据配置文件将待安装软件的安装所需文件写入虚拟机镜像文件的相应位置,并修改Windows操作系统的注册表信息的具体步骤包括:
步骤31,查询并取得待安装软件的基本信息;
步骤32,判断虚拟机镜像文件类型,如果是增量虚拟机镜像文件则执行步骤33,否则执行步骤34;
步骤33,使用guestfs命令挂载虚拟机镜像文件,并转到步骤35继续执行;
步骤34,使用mount命令挂载虚拟机镜像文件,并转到步骤35继续执行;
步骤35,从存储服务器读取安装所需文件及配置文件,并按照配置文件指定的路径将安装所需文件上传到虚拟机镜像文件;
步骤36,按照配置文件记录的信息修改Windows操作系统中注册表对应的文件;
步骤37,卸载虚拟机镜像文件。
5.根据权利要求1所述的方法,其特征在于,所述步骤4具体包括:
步骤41,读取待安装软件的基本信息和本地镜像库服务器地址,并判断虚拟机镜像文件类型,如果是增量,则使用guestfs命令挂载虚拟机镜像文件,并执行步骤42,否则使用mount命令挂载虚拟机镜像文件,并执行步骤42;
步骤42,初始化出两个进程间通信管道,分别定义为f1和f2;
步骤43,使用fork命令创建出一个新的进程,判断该进程是否是父进程,如果是则执行步骤44,如果是子进程则执行步骤46;
步骤44,根据待安装软件的基本信息和本地镜像库服务器地址生成Linux软件安装脚本,并通过进程间通信管道f1向子进程发送Linux软件安装脚本,再从进程间通信管道f2读取子进程执行结果;
步骤45,通过进程间通信管道f1向子进程发送退出chroot命令,并等待子进程运行结束,转到步骤49;
步骤46,重新定向进程间通信管道,使f1的输入定向到标准输入,f2的输出定向到标准输出;
步骤47,接收并执行父进程发来的chroot命令,切换Linux操作系统的根目录到镜像文件的挂载目录;
步骤48,从标准输入读取父进程发送的脚本或指令并执行,收到退出chroot命令并执行完毕后,子进程退出;
步骤49,卸载虚拟机镜像文件。
6.一种虚拟机离线自动软件安装的系统,其特征在于,包括管理模块以及和管理模块均相连的Windows镜像分析模块、Windows离线软件自动安装模块和Linux离线软件自动安装模块:
管理模块,其用于提供操作界面录入待安装软件的基本信息和调用Windows镜像分析模块,还用于根据虚拟机镜像文件的操作系统类型决定调用Windows离线软件自动安装模块或Linux离线软件自动安装模块来实现虚拟机离线自动软件安装;
Windows镜像分析模块,其用于根据待安装软件的基本信息进行软件自动安装测试,获得自动化安装软件的安装所需文件和配置文件;
Windows离线软件自动安装模块,其用于在有自动软件安装任务到达时,在虚拟机未启动的状态下,挂载虚拟机镜像文件,根据配置文件将安装所需文件写入虚拟机镜像文件的相应位置,并修改Windows操作系统的注册表信息;
Linux离线软件自动安装模块,其用于根据待安装软件的基本信息和本地镜像库服务器地址生成Linux软件安装脚本,当有自动软件安装任务到达时,在虚拟机未启动的状态下,挂载虚拟机镜像文件,再执行Linux软件安装脚本。
7.根据权利要求6所述的系统,其特征在于,所述待安装软件的基本信息包括软件名称、版本号、运行的操作系统、软件安装文件路径、安装文件路径、配置文件路径和/或Linux操作系统的软件包本地镜像库服务器地址。
8.根据权利要求6所述的系统,其特征在于,所述管理模块还用于实现Windows操作系统或Linux操作系统下离线自动安装软件的增加、查询、修改和/或删除。
9.根据权利要求6所述的系统,其特征在于,所述Windows镜像分析模块将获得的自动化安装软件的安装所需文件和配置文件保存至存储服务器,且所述Windows离线软件自动安装模块从所述存储服务器获得安装所需文件和配置文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310499961.7A CN103514023B (zh) | 2013-10-22 | 2013-10-22 | 一种虚拟机离线自动软件安装的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310499961.7A CN103514023B (zh) | 2013-10-22 | 2013-10-22 | 一种虚拟机离线自动软件安装的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103514023A true CN103514023A (zh) | 2014-01-15 |
CN103514023B CN103514023B (zh) | 2016-06-29 |
Family
ID=49896798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310499961.7A Active CN103514023B (zh) | 2013-10-22 | 2013-10-22 | 一种虚拟机离线自动软件安装的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103514023B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105278999A (zh) * | 2015-11-19 | 2016-01-27 | 国云科技股份有限公司 | 一种安全高效虚拟机软件部署的方法 |
WO2016029774A1 (zh) * | 2014-08-28 | 2016-03-03 | 中兴通讯股份有限公司 | 基于虚拟化的应用存储方法、执行方法、装置及系统 |
CN105677444A (zh) * | 2015-12-31 | 2016-06-15 | 联想(北京)有限公司 | 一种启动虚拟机的方法和装置 |
CN106445632A (zh) * | 2016-08-30 | 2017-02-22 | 广西电网有限责任公司 | 达梦数据库和Tomcat组合一键自动部署方法 |
CN106557354A (zh) * | 2016-11-17 | 2017-04-05 | 华为技术有限公司 | 设置私有镜像的属性参数的方法及计算机设备 |
CN107431720A (zh) * | 2015-12-31 | 2017-12-01 | 华为技术有限公司 | 镜像部署方法和装置 |
CN107463404A (zh) * | 2017-08-03 | 2017-12-12 | 浪潮(北京)电子信息产业有限公司 | 一种向虚拟机文件系统中增加配置文件的方法和系统 |
CN109032761A (zh) * | 2018-08-06 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种Linux下自动部署虚拟机并自动安装OS的方法 |
CN109074249A (zh) * | 2016-04-03 | 2018-12-21 | 微软技术许可有限责任公司 | 策略驱动的飞行管理 |
CN109189418A (zh) * | 2018-11-08 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种Linux操作系统软件生成、安装方法及系统 |
CN109491677A (zh) * | 2018-11-15 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种用于为虚拟机安装软件的方法和装置 |
CN110781085A (zh) * | 2019-10-23 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种游戏自动化测试方法、装置、终端和计算机存储介质 |
CN111880818A (zh) * | 2020-07-29 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种虚拟机操作系统的安装方法、系统及装置 |
CN112486508A (zh) * | 2019-09-12 | 2021-03-12 | 中移(苏州)软件技术有限公司 | 一种操作系统的部署方法、服务器及计算机存储介质 |
CN114706659A (zh) * | 2022-04-01 | 2022-07-05 | 燕东科技(广东)有限公司 | 一种虚拟机软件部署方法及系统 |
US20230012832A1 (en) * | 2021-07-13 | 2023-01-19 | Rockwell Automation Technologies, Inc. | Industrial automation control project conversion |
CN116820657A (zh) * | 2023-08-30 | 2023-09-29 | 北京创易云互联科技有限公司 | 一种基于Docker和AI技术的智能虚拟化的逻辑算法 |
US12001874B2 (en) | 2021-07-13 | 2024-06-04 | Rockwell Automation Technologies | Digital engineering secure remote access |
US12079652B2 (en) | 2021-07-13 | 2024-09-03 | Rockwell Automation Technologies, Inc. | Digital engineering virtual machine infrastructure |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402446A (zh) * | 2011-11-22 | 2012-04-04 | 成都市华为赛门铁克科技有限公司 | 应用软件的安装方法和应用软件的安装装置 |
US20120174095A1 (en) * | 2011-01-04 | 2012-07-05 | International Business Machines Corporation | Automatically and securely configuring and updating virtual machines |
CN102707971A (zh) * | 2012-04-26 | 2012-10-03 | 广东电子工业研究院有限公司 | 一种在虚拟机中自动获取和安装软件的方法 |
-
2013
- 2013-10-22 CN CN201310499961.7A patent/CN103514023B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120174095A1 (en) * | 2011-01-04 | 2012-07-05 | International Business Machines Corporation | Automatically and securely configuring and updating virtual machines |
CN102402446A (zh) * | 2011-11-22 | 2012-04-04 | 成都市华为赛门铁克科技有限公司 | 应用软件的安装方法和应用软件的安装装置 |
CN102707971A (zh) * | 2012-04-26 | 2012-10-03 | 广东电子工业研究院有限公司 | 一种在虚拟机中自动获取和安装软件的方法 |
Non-Patent Citations (1)
Title |
---|
李刚: "软件自动安装部署原理探究", 《辽宁师专学报》 * |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016029774A1 (zh) * | 2014-08-28 | 2016-03-03 | 中兴通讯股份有限公司 | 基于虚拟化的应用存储方法、执行方法、装置及系统 |
CN105278999A (zh) * | 2015-11-19 | 2016-01-27 | 国云科技股份有限公司 | 一种安全高效虚拟机软件部署的方法 |
CN105677444B (zh) * | 2015-12-31 | 2019-02-05 | 联想(北京)有限公司 | 一种启动虚拟机的方法和装置 |
CN105677444A (zh) * | 2015-12-31 | 2016-06-15 | 联想(北京)有限公司 | 一种启动虚拟机的方法和装置 |
US10552133B2 (en) | 2015-12-31 | 2020-02-04 | Huawei Technologies Co., Ltd. | Image deployment method and apparatus |
CN107431720A (zh) * | 2015-12-31 | 2017-12-01 | 华为技术有限公司 | 镜像部署方法和装置 |
CN107431720B (zh) * | 2015-12-31 | 2019-11-29 | 华为技术有限公司 | 镜像部署方法和装置 |
CN109074249A (zh) * | 2016-04-03 | 2018-12-21 | 微软技术许可有限责任公司 | 策略驱动的飞行管理 |
CN109074249B (zh) * | 2016-04-03 | 2022-04-01 | 微软技术许可有限责任公司 | 策略驱动的飞行管理 |
CN106445632A (zh) * | 2016-08-30 | 2017-02-22 | 广西电网有限责任公司 | 达梦数据库和Tomcat组合一键自动部署方法 |
CN106557354A (zh) * | 2016-11-17 | 2017-04-05 | 华为技术有限公司 | 设置私有镜像的属性参数的方法及计算机设备 |
CN106557354B (zh) * | 2016-11-17 | 2020-12-25 | 华为技术有限公司 | 设置私有镜像的属性参数的方法及计算机设备 |
CN107463404A (zh) * | 2017-08-03 | 2017-12-12 | 浪潮(北京)电子信息产业有限公司 | 一种向虚拟机文件系统中增加配置文件的方法和系统 |
CN109032761A (zh) * | 2018-08-06 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种Linux下自动部署虚拟机并自动安装OS的方法 |
CN109189418A (zh) * | 2018-11-08 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种Linux操作系统软件生成、安装方法及系统 |
CN109491677A (zh) * | 2018-11-15 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种用于为虚拟机安装软件的方法和装置 |
CN112486508B (zh) * | 2019-09-12 | 2023-04-07 | 中移(苏州)软件技术有限公司 | 一种操作系统的部署方法、服务器及计算机存储介质 |
CN112486508A (zh) * | 2019-09-12 | 2021-03-12 | 中移(苏州)软件技术有限公司 | 一种操作系统的部署方法、服务器及计算机存储介质 |
CN110781085A (zh) * | 2019-10-23 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种游戏自动化测试方法、装置、终端和计算机存储介质 |
CN110781085B (zh) * | 2019-10-23 | 2022-02-11 | 腾讯科技(深圳)有限公司 | 一种游戏自动化测试方法、装置、终端和计算机存储介质 |
CN111880818B (zh) * | 2020-07-29 | 2022-07-08 | 苏州浪潮智能科技有限公司 | 一种虚拟机操作系统的安装方法、系统及装置 |
CN111880818A (zh) * | 2020-07-29 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种虚拟机操作系统的安装方法、系统及装置 |
US20230012832A1 (en) * | 2021-07-13 | 2023-01-19 | Rockwell Automation Technologies, Inc. | Industrial automation control project conversion |
US12001874B2 (en) | 2021-07-13 | 2024-06-04 | Rockwell Automation Technologies | Digital engineering secure remote access |
US12020056B2 (en) * | 2021-07-13 | 2024-06-25 | Rockwell Automation Technologies, Inc. | Industrial automation control project conversion |
US12079652B2 (en) | 2021-07-13 | 2024-09-03 | Rockwell Automation Technologies, Inc. | Digital engineering virtual machine infrastructure |
CN114706659A (zh) * | 2022-04-01 | 2022-07-05 | 燕东科技(广东)有限公司 | 一种虚拟机软件部署方法及系统 |
CN114706659B (zh) * | 2022-04-01 | 2022-12-09 | 燕东科技(广东)有限公司 | 一种虚拟机软件部署方法及系统 |
CN116820657A (zh) * | 2023-08-30 | 2023-09-29 | 北京创易云互联科技有限公司 | 一种基于Docker和AI技术的智能虚拟化的逻辑算法 |
Also Published As
Publication number | Publication date |
---|---|
CN103514023B (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103514023A (zh) | 一种虚拟机离线自动软件安装的方法及系统 | |
CN103530162B (zh) | 一种虚拟机在线自动软件安装的方法及系统 | |
US11314907B2 (en) | Simulation including multiple simulators | |
US10255086B2 (en) | Determining optimal methods for creating virtual machines | |
JP6096414B2 (ja) | バッチ構成を試験するための方法、装置、およびプログラム | |
CN104281520B (zh) | 跟踪和调试的方法、装置及系统 | |
CN107733985B (zh) | 一种云计算系统功能组件部署方法及装置 | |
JP6788178B2 (ja) | 設定支援プログラム、設定支援方法及び設定支援装置 | |
US9952837B1 (en) | Reusable component in a modeling environment | |
CN102937909B (zh) | 一种部署和更新Linux系统的方法 | |
US10318653B1 (en) | Systems and methods for creating harness models for model verification | |
CN109032838B (zh) | 虚拟机备份恢复数据一致性的自动校验方法 | |
CN102880482A (zh) | 一种主机批量控制虚拟机中软件自动升级的系统及技术方法 | |
WO2017020459A1 (zh) | 一种为宿主配置插件包的方法与装置 | |
US9256509B1 (en) | Computing environment analyzer | |
CN106201657A (zh) | 一种基于虚拟机的网卡信息处理方法及装置 | |
CN104636251A (zh) | 一种多浏览器兼容性测试方法及系统 | |
US9237071B2 (en) | Computer-readable recording medium, verification method, and verification device | |
CN106951593B (zh) | 一种生成保护测控装置的配置文件的方法和装置 | |
US20170329698A1 (en) | System and Method for Provisioning a Virtual Machine Test Environment | |
US20230315613A1 (en) | Method and system for eradicating programmatical errors from engineering programs in a technical installation | |
EP3734379A1 (en) | Method and system for generating control programs in a cloud computing environment | |
CN116225617A (zh) | 容器实例的管理迁移方法、装置和电子设备及存储介质 | |
US20230315038A1 (en) | Method and system for providing engineering of an industrial device in a cloud computing environment | |
CN113127884A (zh) | 一种基于虚拟化的漏洞并行验证方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |