一种操作系统安装方法、装置及计算设备与流程

文档序号:33024843发布日期:2023-01-20 19:21阅读:23来源:国知局
一种操作系统安装方法、装置及计算设备与流程

1.本技术涉及计算机技术领域,更具体地,涉及一种操作系统安装方法、装置及计算设备。


背景技术:

2.现有的操作系统安装,需首先将安装包制作安装盘,将安装盘接入目标机,通过bios引导启动安装盘,在安装盘的系统中进行目标机的系统安装操作。即启动的是安装盘里的系统,在安装盘的系统将系统安装文件拷贝到目标机的磁盘分区进行系统的安装。
3.对于新的目标机硬件来说,里面没有系统,必须使用这种方式才能初始化系统的安装。但是如果需要多次的对目标机进行系统更新,且目标机的数量较多时或目标机分散在较远的不同的位置时,使用上述的方式需耗费大量人力和物力,同时也不能保证升级是否有遗漏。如果现场没有熟悉系统安装的技术人员,还需技术人员从办公地出差到现场进行系统的安装操作。


技术实现要素:

4.鉴于现有技术的以上问题,本技术提供一种操作系统安装方法、装置及计算设备,其能够有效节约人力成本。
5.为达到上述目的,本技术第一方面提供一种操作系统安装方法,包括:
6.建立与运行第一操作系统的目标机的连接;
7.传送包括第二操作系统的定制内核及启动配置文件到所述目标机的第一指定文件目录;所述启动配置文件用于配置所述目标机重启后将所述第一指定文件目录下的所述定制内核复制到内存,并启动所述内存中的所述定制内核中的所述第二操作系统;
8.建立与运行所述第二操作系统的所述目标机的连接;
9.传送第三操作系统的安装文件到所述目标机的第二指定文件目录,以使所述目标机使用所述第二指定文件目录下的所述第三操作系统的安装文件在包含所述第一操作系统的磁盘分区上重装操作系统。
10.本实施方式,通过运行在目标机内存中的第二操作系统完成对目标机硬盘的格式化及分区,再将升级包通过该第二操作系统传输到目标机的硬盘,并启动安装工作,实现了操作系统安装。
11.作为第一方面的一种可能的实现方式,还包括:获取一升级配置文件,所述升级配置文件记载了运行第一操作系统的多个目标机的ip地址;
12.所述建立与运行第一操作系统的目标机的连接,包括:根据所述升级配置文件记载的所述多个目标机的ip地址,建立所述连接。
13.本实施方式,通过将多个目标机的ip地址保存在一升级配置文件中,以用于第一操作系统与多个目标机建立连接。从而能够实现多台分散设备的统一连接,无需逐机操作建立连接,有效节省人力。
14.作为第一方面的一种可能的实现方式,还包括:使所述启动配置文件中记录所连接的所述目标机的原ip地址,以使所述目标机运行所述第二操作系统或/和第三操作系统时的ip地址为所述原ip地址。
15.本实施方式,通过在目标机运行所述第二操作系统或/和第三操作系统时,将升级配置文件中存储的ip地址分配给各个目标机,使得目标机在运行所述第二操作系统或/和第三操作系统时的ip地址为原ip地址,保证了远程安装过程pc机与第一/第二/第三操作系统准确稳定的连接。
16.作为第一方面的一种可能的实现方式,包括第二操作系统的定制内核包括:基于core-image-minimal系统的基础上、添加系统安装所需命令和网络组件所形成的定制内核,所述core-image-minimal系统作为所述第二操作系统。
17.本实施方式,通过定制的内核并添加安装系统所需的命令和组件,使得该内核能够运行在ramdisk上,并且实现本实施方式中远程安装所需的各项功能和命令等。
18.本技术第二方面提供一种操作系统安装方法,包括:
19.目标机运行第一操作系统时,建立与pc机的连接;
20.接收pc机发送的包括第二操作系统的定制内核及启动配置文件,并存放到所述目标机的第一指定文件目录;
21.所述目标机重启,并根据所述启动配置文件将所述第一指定文件目录下的所述定制内核复制到内存,并启动所述内存中的所述定制内核中的所述第二操作系统;
22.所述目标机运行所述第二操作系统时,建立与所述pc机的连接;
23.接收所述pc机传送的第三操作系统的安装文件,并存放到所述目标机的第二指定文件目录;
24.所述目标机使用所述第二指定文件目录下的所述第三操作系统的安装文件,在包含所述第一操作系统的磁盘分区上重装操作系统。
25.本实施方式,目标机通过与pc机建立连接,接收pc机发送的定制内核、配置文件等,并通过该定制内核的第二操作系统与pc机建立连接,并在建立连接后接收需要安装的第三操作系统,实现操作系统的远程安装,无需工作人员到现场逐机安装,有效节约人力。
26.作为第二方面的一种可能的实现方式,还包括:
27.所述启动配置文件中记录有所述目标机的原ip地址,所述目标机运行所述第二操作系统或/和第三操作系统时,设置其ip地址为所述原ip地址。
28.本实施方式,通过在目标机运行所述第二操作系统或/和第三操作系统时,将升级配置文件中存储的ip地址分配给各个目标机,使得目标机在运行所述第二操作系统或/和第三操作系统时的ip地址为原ip地址,保证了远程安装过程目标机与pc机准确稳定的连接。
29.本技术第三方面提供一种操作系统安装的装置,包括:
30.通信模块,用于建立与运行第一操作系统的目标机的连接;
31.数据传输模块,用于传送包括第二操作系统的定制内核及启动配置文件到所述目标机的第一指定文件目录;所述启动配置文件用于配置所述目标机重启后将所述第一指定文件目录下的所述定制内核复制到内存,并启动所述内存中的所述定制内核中的所述第二操作系统;
32.所述通信模块,还用于建立与运行所述第二操作系统的所述目标机的连接;
33.所述数据传输模块,还用于传送第三操作系统的安装文件到所述目标机的第二指定文件目录,以使所述目标机使用所述第二指定文件目录下的所述第三操作系统的安装文件在包含所述第一操作系统的磁盘分区上重装操作系统。
34.作为第三方面的一种可能的实现方式,还包括:
35.所述通信模块还用于,获取一升级配置文件,所述升级配置文件记载了运行第一操作系统的多个目标机的ip地址;
36.所述通信模块建立与运行第一操作系统的目标机的连接,包括:根据所述升级配置文件记载的所述多个目标机的ip地址,建立所述连接。
37.本技术第四方面提供一种操作系统安装的装置,包括:
38.目标机通信模块,用于当目标机运行第一操作系统时,建立与pc机的连接;
39.目标机数据传输模块,用于接收pc机发送的包括第二操作系统的定制内核及启动配置文件,并存放到所述目标机的第一指定文件目录;
40.文件管理模块,用于所述目标机重启,并根据所述启动配置文件将所述第一指定文件目录下的所述定制内核复制到内存,并启动所述内存中的所述定制内核中的所述第二操作系统;
41.所述目标机通信模块还用于,当所述目标机运行所述第二操作系统时,建立与所述pc机的连接;
42.所述目标机数据传输模块还用于,接收所述pc机传送的第三操作系统的安装文件,并存放到所述目标机的第二指定文件目录;
43.所述文件管理模块还用于,使得所述目标机使用所述第二指定文件目录下的所述第三操作系统的安装文件,在包含所述第一操作系统的磁盘分区上重装操作系统。
44.本技术第五方面提供一种计算设备,包括:
45.处理器,以及
46.存储器,其上存储有程序指令,所述程序指令当被所述处理器执行时使得所述处理器执行上述第一方面的操作系统的安装方法,或,所述程序指令当被所述处理器执行时使得所述处理器执行上述第二方面的操作系统的安装方法。
47.本技术提供的操作系统安装方案,通过运行在目标机内存中的定制内核,实现了与pc机的远程网络连接、执行目标机硬盘格式化分区以及进行操作系统安装等功能,技术人员无需在现场进行操作,同时无需逐机进行系统安装操作,实现多台分散设备的统一即时升级重装,有效地节约了人力成本和时间成本。此外,还能够将对统一即时升级重装的升级信息进行保存以及建立管理台账,能够有效加强对操作系统安装过程的管理。
48.本发明的这些和其它方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
49.以下参照附图来进一步说明本发明的各个特征和各个特征之间的联系。附图均为示例性的,一些特征并不以实际比例示出,并且一些附图中可能省略了本技术所涉及领域的惯常的且对于本技术非必要的特征,或是额外示出了对于本技术非必要的特征,附图所示的各个特征的组合并不用以限制本技术。另外,在本说明书全文中,相同的附图标记所指
代的内容也是相同的。具体的附图说明如下:
50.图1是本技术实施例提供的一种操作系统的安装方法流程示意图;
51.图2是本技术实施例提供的一种操作系统的安装方法流程示意图;
52.图3是本技术实施例提供的一种操作系统的安装流程示意图:
53.图4是本技术实施例提供的一种pc机升级软件界面示例图;
54.图5是本技术实施例提供的一种操作系统的安装装置的结构示意图;
55.图6是本技术实施例提供的一种操作系统的安装装置的结构示意图
56.图7是本技术实施例提供的一种计算设备的结构性示意性图。
具体实施方式
57.下面结合附图并举实施例,对本技术提供的技术方案作进一步说明。应理解,本技术实施例中提供的系统结构和业务场景主要是为了说明本技术的技术方案的可能的实施方式,不应被解读为对本技术的技术方案的唯一限定。本领域普通技术人员可知,随着系统结构的演进和新业务场景的出现,本技术提供的技术方案对类似技术问题同样适用。
58.应理解,本技术实施例提供的操作系统安装方案,包括操作系统安装的方法、装置、计算设备及计算机可读存储介质等。由于这些技术方案解决问题的原理相同或相似,在如下具体实施例的介绍中,某些重复之处可能不再赘述,但应视为这些具体实施例之间已有相互引用,可以相互结合。
59.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。如有不一致,以本说明书中所说明的含义或者根据本说明书中记载的内容得出的含义为准。另外,本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。为了准确地对本技术中的技术内容进行叙述,以及为了准确地理解本发明,在对具体实施方式进行说明之前先对本说明书中所使用的术语给出如下的解释说明或定义:
60.1)最小系统:能够实现基本操作系统功能的系统,其具有体积小的特点。
61.2)core-image-minimal:一款极其小的linux内核。
62.3)yocto框架:是一个开源社区,它通过提供模版、工具和方法帮助开发者创建基于linux内核的定制系统以及嵌入式产品。
63.现有的操作系统安装,需首先用安装iso镜像制作安装盘,将安装盘接入目标机,通过bios引导启动安装盘,在安装盘的系统中进行目标机的系统安装操作。即启动的是安装盘里的系统,在安装盘的系统将系统安装文件拷贝到目标机的磁盘分区进行系统的安装。
64.对于新的目标机硬件来说,里面没有系统,必须使用这种方式才能初始化系统的安装。但是如果需要多次的对目标机进行系统更新,且目标机的数量较多时或目标机分散在较远的不同的位置时。使用上述的方式需耗费大量人力和物力,同时也不能保证升级是否有遗漏。如果现场没有熟悉系统安装的技术人员,还需技术人员从办公地出差到现场进行系统的安装操作。需现场人工操作,且安装盘和目标机需一对一,耗费大量人力成本,且会产生遗漏风险。
65.本技术的技术应用在远程安装操作系统的场景中,通过本技术提供操作系统的安
装方案,无需技术人员现场操作,无需逐机进行安装操作,有效节约人力成本。
66.如图1所示,图1是本技术实施例提供的一种操作系统的安装方法流程图,基于现有技术所存在的缺陷,本技术一实施方式提供了一种操作系统的安装方法,包括:
67.s100:建立与运行第一操作系统的目标机的连接。
68.通过pc机与目标机建立远程连接,此时目标机上运行的是其原本的操作系统。本实施方式中,上述pc机也可以是能够实现相同功能的服务器等设备。
69.pc机与目标机建立连接时,可以使用基于ssh通信协议的通信方式,ssh通信协议成熟的加密体系,能够保证建立连接后的数据传输时不被恶意破坏、漏露和篡改。同时,也可以根据实际情况选择其他通信方式,本技术不作限定。
70.s101:传送包括第二操作系统的定制内核及启动配置文件到目标机的第一指定文件目录;启动配置文件用于配置目标机重启后将第一指定文件目录下的定制内核复制到内存,并启动内存中的定制内核中的第二操作系统。
71.本实施方中,可以通过基于sftp通信协议的通信方式向目标机传送第二操作系统和配置文件等,同时,也可以根据实际情况选择其他通信方式,本技术不作限定。其中,该第二操作系统的定制内核可以是通过yocto框架使用core-image-minimal镜像生成的linux系统。并且可以在此第二操作系统的基础上添加磁盘格式化命令、磁盘分区命令、文件操作命令和压缩命令等系统安装所需命令。该配置文件中可以包含用于设置目标机的ip地址参数、选择内核的参数等,且上述配置文件可以是一个也可以是多个。
72.将上述第二操作系统传送至目标机的第一指定目录,如/boot目录,覆盖该目录下的原有文件。同时,修改配置文件的ip参数为当前所连接的目标机的ip,用于设置下次目标机启动后该第二操作系统(定制内核)的ip,并将上述配置文件选择内核的参数修改为root=/dev/ram0,即指定目标机下次启动时的操作系统为运行在内存上的系统,而不会去挂载目标机磁盘上的操作系统。
73.然后上述传送的第二操作系统中的相应脚本使得目标机重启,目标机重启上电后,目标机主板的bios(basic input output system,基本输入输出系统)启动,读取目标机中的/boot目录,将/boot目录下的文件复制到内存。bios根据配置文件启动对应的系统。由于在配置文件中选择内核的参数已修改为root=/dev/ram0,即指定启动内存上的系统,故启动的操作系统为内存中的第二操作系统,而该第二操作系统中所包含的各个命令、组件和模块等起到为第二操作系统提供运行环境的作用。
74.此外,pc机获取目标机的ip地址并生成相应或写入相应的配置文件时,pc机可以基于udp协议向局域网发送广播命令,广播给局域网中的每一个目标机。目标机接收到广播命令后,会生成一个udp包,该udp包包含了目标机的ip地址等信息,然后目标机通过特定udp端口将该udp包进行返回。pc机监听该udp端口,接收并获取udp包中目标机的ip,将这些目标机的ip地址写入相应的ip地址文件,例如写入uploadfilename.cfg。
75.s102:建立与运行第二操作系统的目标机的连接。
76.目标机重启完成进入第二操作系统后,pc机再次通过ssh组件ssh通信方式连接运行在目标机内存上的目标机第二操作系统,通过脚本命令对目标机的磁盘进行分区并格式化。
77.需要说明的是,这里所操作的目标机的磁盘指包含原操作系统的磁盘,不包括上
述/root所在的磁盘。另一些实施例中,也可以仅针对包含原操作系统的分区进行操作,例如仅对该分区进行格式化。
78.s103:传送第三操作系统的安装文件到目标机的第二指定文件目录,以使目标机使用第二指定文件目录下的第三操作系统的安装文件在包含第一操作系统的磁盘分区上重装操作系统。
79.目标机第的磁盘进行分区并格式化后,pc机将需要对目标机进行升级重装的第三操作系统的安装文件传送至目标机的第二支队文件目录下。此时,目标机中运行在内存中的第二操作系统执行自动安装脚本,进行第三操作系统安装。在目标机安装三地操作系统的过程中,目标机/boot目录下的文件会被替换重建,在该目录下文件重建时,其中记录的该目标机的ip地址可保持不变。
80.第三操作系统安装完成后,第二操作系统会使得目标机重启,此时目标机重启过程中首先会断电,而内存中的文件不会保留。目标机重启上电后,目标机主板的bios启动,读取目标机的/boot目录,bios根据/boot目录中重建后的配置文件,选择运行目标机磁盘上安装的第三操作系统,并运行相关的系统驱动等,完成操作系统的远程升级重装。
81.本实施方式提供的操作系统安装方案,通过运行在目标机内存中的定制内核,实现了与pc机的远程网络连接、执行目标机硬盘格式化分区以及进行操作系统安装等功能,技术人员无需在现场进行操作,无需逐机进行系统安装操作,实现多台分散设备的统一即时升级重装,有效地节约了人力成本;同时,能够实现批量升级重装有效节约时间成本。
82.如图2所示,图2是本技术实施例提供的一种操作系统的安装方法流程图,基于现有技术所存在的缺陷,本技术第二方面的实施方式提供了一种操作系统的安装方法,包括:
83.s200:目标机运行第一操作系统时,建立与pc机的连接。
84.此时目标机上运行的是其原本的操作系统。本实施方式中,上述pc机也可以是能够实现相同功能的服务器等设备。
85.目标机与pc机建立连接时,可以使用基于ssh通信协议的通信方式,ssh通信协议成熟的加密体系,能够保证建立连接后的数据传输时不被恶意破坏、漏露和篡改。同时,也可以根据实际情况选择其他通信方式,本技术不作限定。
86.s201:接收pc机发送的包括第二操作系统的定制内核及启动配置文件,并存放到目标机的第一指定文件目录。
87.本实施方中,目标机可以通过基于sftp通信协议的通信方式接收pc机发送的第二操作系统和配置文件等。其中,该第二操作系统的定制内核可以是通过yocto框架使用core-image-minimal镜像生成的linux系统。并且可以在此第二操作系统的基础上添加磁盘格式化命令、磁盘分区命令、文件操作命令和压缩命令等系统安装所需命令。该配置文件中可以包含用于设置目标机的ip地址参数、选择内核的参数等,且上述配置文件可以是一个也可以是多个。
88.目标机接收到第二操作系统后,将上述第二操作系统存放至目标机的第一指定目录,如/boot目录,覆盖该目录下的原有文件。同时,pc机发送的配置文件中,配置文件的ip参数已被修改为当前与pc机所连接的目标机的ip,用于设置下次目标机启动后该第二操作系统的ip,并且上述配置文件选择内核的参数已被修改为root=/dev/ram0,即指定目标机下次启动时选择的操作系统为运行在内存上的系统,而不会去挂载目标机磁盘上的操作系
统。
89.s202:目标机重启,并根据启动配置文件将第一指定文件目录下的定制内核复制到内存,并启动内存中的定制内核中的第二操作系统。
90.然后上述第二操作系统中的相应脚本使得目标机重启,目标机重启上电后,目标机主板的bios(basic input output system,基本输入输出系统)启动,读取目标机中的/boot目录,将/boot目录下的文件复制到内存。bios根据配置文件启动对应的系统。由于在配置文件中选择内核的参数已修改为root=/dev/ram0,即指定启动内存上的系统,故启动的操作系统为内存中的第二操作系统,而该第二操作系统中所包含的各个命令、组件和模块等起到为第二操作系统提供运行环境的作用。
91.s203:目标机运行第二操作系统时,建立与pc机的连接。
92.此时目标机运行的时第二操作系统,第二操作系统中的相应脚本等程序,通过预设的通信组件等,基于ssh等通信方式,与pc机建立连接。并基于建立的连接,接收pc机发送的分区并格式化命令,目标机上的第二操作系统通过脚本命令对目标机的磁盘进行分区并格式化。
93.s204:接收pc机传送的第三操作系统的安装文件,并存放到目标机的第二指定文件目录。
94.目标机上的磁盘分区并格式化完成后,可以通过预设的sftp组件基于sftp协议,接收pc机传送的第三操作系统的安装文件,并存放到目标机的第二指定文件目录。
95.s205:目标机使用第二指定文件目录下的第三操作系统的安装文件,在包含第一操作系统的磁盘分区上重装操作系统。
96.此时,目标机中运行在内存中的第二操作系统执行自动安装脚本,进行第三操作系统安装。在目标机安装三地操作系统的过程中,目标机/boot目录下的文件会被替换重建。
97.在一些实施方式中,在该目录下文件重建时,其中记录的该目标机的ip地址可保持不变。第三操作系统安装完成后,第二操作系统会使得目标机重启,此时目标机重启过程中首先会断电,而内存中的文件不会保留。目标机重启上电后,目标机主板的bios启动,读取目标机的/boot目录,bios根据/boot目录中重建后的配置文件,选择运行目标机磁盘上安装的第三操作系统,并运行相关的系统驱动等,完成操作系统的远程升级重装。
98.本实施方式提供的操作系统安装方案,通过运行在目标机内存中的定制内核,实现了与pc机的远程网络连接、执行目标机硬盘格式化分区以及进行操作系统安装等功能,技术人员无需在现场通过pc机进行操作
99.下面,结合一具体实施例对本技术进一步详细说明,该实施例中的升级是对目标机进行一新操作系统的安装,以替换其原操作系统。原操作系统可以是目标机所预装的操作系统,而所要安装的新的操作系统,即升级后的操作系统,可以是已经安装有各业务软件的操作系统。
100.该实施例提供的操作系统安装方法,包括了预先定制内核的部分,以及基于用户操作pc端远程升级目标机的部分。其中,为了简化用户的系列操作、实现升级中各步骤的自动执行,本实施例中在pc端运行一升级软件来执行该升级过程,并且该升级软件提供了图形交互界面。下面参照附图3,图3是本技术实施例提供的一种操作系统的安装流程示意图,
对该实施例进行详细说明,其中步骤s300为预先定制内核的部分,步骤s301-s306为用户操作pc端界面的步骤,步骤s307-s314为响应用户操作执行目标机升级的过程。该实施例具体包括以下步骤:
101.s300:预先定制内核。该定制的内核包括定制的最小系统,此系统可运行在ramdisk(虚拟内存盘),在安装操作系统时,该最小系统并不运行于磁盘,因此不影响向磁盘安装操作系统的过程。
102.本实施方式中,该最小系统是通过yocto框架生成的linux系统,其使用了core-image-minimal镜像。在此最小系统的基础上添加磁盘格式化命令、磁盘分区命令、文件操作命令和压缩命令等系统安装所需命令。同时添加ssh组件和sftp组件等网络组件,其中,ssh组件可以基于ssh通信协议使pc机与目标机建立连接;sftp组件可以基于sftp协议使pc机与目标机进行文件传输等数据通信。
103.上述最小系统、命令和组件配置好以后编译生成cpio格式的文件系统,通过find、cpio、gzip等组合命令可以将cpio格式的文件系统制作为initrd文件(虚拟文件系统)。
104.例如:把~/root目录下的文件打包成image.cpio.gz,可以执行如下的命令:
105.cd~/root
106.find.|cpio-o-hnewc|gzip》~/image.cpio.gz
107.命令执行完毕后,在~/root目录下就会生成文件名为imgae.cpio.gz的init ramfs的initrd文件。
108.其中,find.是查找显示~/root/目录下的所有文件、文件夹;
109.cpio-o是将文件系统打包(-o是打包),-h newccpio是指定格式为newccpio;
110.|是将cpio打好的包传给gzip压缩(gzip是压缩命令的一种);
111.》~/image.cpio.gz是将压缩后的数据存为文件image.cpio.gz。
112.因此,initrd文件是与最小系统绑定在一起的,即initrd文件中包含了最小系统。最小系统会将initrd文件作为其引导过程的一部分来加载initrd文件中各个命令、组件和模块等。
113.s301:启动pc端升级软件,该升级软件用于进行目标机的升级重装操作。
114.本实施方式中,pc端升级软件使用qt5语言编写,如图3所示为本实施方式提供的一种pc端升级软件启动后提供的一界面的示例。
115.s302:通过点击图4示出的界面中的“切换升级模式”控件,可在“多个升级”模式与“单个升级”模型下切换。本实施例中,切换至“多个升级”模式进行多台目标机整体升级、重装系统。若需要单独对一台目标机进行升级重装,则点击“切换升级模式”切换至“单个升级”。
116.s303:点击图4示出的界面中的“选择多ip地址文件”控件,可以选择记载有要升级的多个目标机ip地址的文件,如图3中所示的uploadfilename.cfg文件,该uploadfilename.cfg文件记载了多个目标机ip地址。
117.在一些实施方式中,如果此处不设置,升级软件会默认自动设置升级ip为局域网内所有ip。
118.在一实施例方式中,uploadfilename.cfg文件的生成可以如下:首先,由pc机获取局域网中各目标机的ip地址,pc机可以基于udp协议向局域网发送广播命令,广播给局域网
中的每一个目标机。目标机接收到广播命令后,会生成一个udp包,该udp包包含了目标机的ip地址等信息,然后目标机通过特定udp端口将该udp包进行返回。pc机监听该udp端口,接收并获取udp包中目标机的ip,将这些目标机的ip地址写入相应的ip地址文件,例如写入所述uploadfilename.cfg。其次,根据要升级的目标机,编辑所述uploadfilename.cfg,保留要升级的目标机的ip地址。本例中,将各目标机均作为要升级的目标机,故不需进行编辑该uploadfilename.cfg文件。
119.当通过点击“切换升级模式”切换至“单个升级”模式对单台目标机进行升级操作时,此时“选择多ip地址文件”控件变为“输入ip地址”,并且显示ip地址文件的名称的选项(如图4中所示的uploadfilename.cfg)位置,会变化为文本输入框,以用于输入目标机的ip地址。
120.s304:在图4示出的界面中的提供的“用户名”和“密码”的输入框输入目标机root用户(即最高权限用户,如管理员用户)的用户名和密码,以及加强安全性。在进行多台目标机整体重装时,可以预先统一配置这些目标机的root用户的用户名和密码,以使pc端以root用户与各目标机建立连接。
121.s305:通过点击图4示出的界面中的“选择升级包路径”控件,可以选择需要对目标机进行升级的升级包的存放路径。
122.本实施例中,该存放路径为该升级包在该pc端的存储位置。另一些实施例中,该存放路径为可被各目标机访问的一非该pc端存储位置,例如所述升级包在一文件服务器的存放路径。
123.s306:点击图4示出的界面中的“升级”控件,开始对目标机的系统升级操作。
124.其中文本框1用于展示升级提示等信息,如正在执行的任务:正在进行升级的目标机的ip地址、升级时间以及升级完成后执行重启操作等;文本框2用于展示目标机升级是否成功等信息。可以通过点击“清空”控件清空文本框1和文本框2的显示的信息。同时,在升级过程中各个信息可以以日志等形式进行记录和保存,以建立管理台账等,能够有效加强对操作系统安装过程的管理。
125.s307:首先,根据上述uploadfilename.cfg文件中记载的目标机ip地址,pc机与这些目标机建立连接。
126.其中,pc机可以基于ssh协议等方式连接到运行中的目标机的系统。其中,pc机与目标机建立连接时,可以借助内网穿透工具或远程控制软件对目标机进行连接与控制。
127.其中,建立连接时,使用上述输入的root用户的用户名和密码建立连接。
128.其中,所建立连接的目标机为当前运行中的目标机(指运行有升级前操作系统的目标机),若未能与某目标机建立连接,则会在上述文本框2进行相应提示。
129.s308:pc机分别将上述initrd文件和grub.cfg文件(用于启动的配置文件)传输至各已建立连接的目标机的/boot目录下,覆盖该目录下的原有文件。同时修改grub.cfg文件的ip参数为当前所连接的目标机的ip,用于设置下次目标机启动后最小系统的ip,并将grub.cfg文件选择内核的参数修改为root=/dev/ram0,即指定目标机下次启动时的操作系统为运行在ramdisk上的系统,而不会去挂载目标机磁盘上的操作系统。
130.s309:步骤s308传送的initrd文件和grub.cfg文件覆盖完成后,此时目标机中initrd文件相应的脚本自动执行,使得目标机重启。
131.s310:目标机重启上电后,目标机主板的bios(basic input output system,基本输入输出系统)启动,读取目标机中的/boot目录,将/boot目录下的initrd和grub.cfg等文件复制到ramdisk。bios根据grub.cfg文件启动对应的系统。由于grub.cfg文件中选择内核的参数已修改为root=/dev/ram0,即指定启动ramdisk上的系统,而此时ramdisk中为initrd文件,故该启动的操作系统为ramdisk中的initrd文件中的最小系统,而initrd文件中所包含的各个命令、组件和模块等起到为最小系统提供运行环境的作用。并且,启动后的最小系统的目标机的ip地址为grub.cfg文件中存储的ip参数。
132.s311:目标机重启完成进入最小系统后,initrd文件中的脚本可以基于在initrd文件中预先配置的ssh组件,通过ssh通信协议向pc机升级软件发送启动完成命令。
133.s312:pc机升级软件收到目标机启动完成命令后,再次通过ssh通信方式连接运行在ramdisk上的目标机系统,通过脚本命令对目标机的磁盘进行分区并格式化。目标机的磁盘分区和格式化完成后,此时的目标机系统可以通过ssh组件基于ssh协议向pc机升级软件发送分区和格式化完成的反馈信息。
134.需要说明的是,这里所操作的目标机的磁盘指包含原操作系统的磁盘,不包括上述/root所在的磁盘。另一些实施例中,也可以仅针对包含原操作系统的分区进行操作,例如仅对该分区进行格式化。
135.s313:pc机升级软件收到目标机分区和格式化完成的反馈信息后,根据步骤s305在pc机升级软件中选择的升级包的存放路径,传送升级包到目标机的磁盘。
136.s314:升级包传送完成后,目标机此时运行在ramdisk的最小系统执行自动安装脚本,进行系统安装,并向pc机升级软件反馈相应信息。在目标机安装升级包的过程中,目标机/boot目录下grub.cfg等文件会被替换重建。其中,在grub.cfg重建时,其中记录的该目标机的ip地址可保持不变。
137.在系统升级安装完成后由运行在ramdisk中的脚本重启目标机,并向pc机升级软件反馈相应信息;如图4示出的界面中的文本框2所示的:“升级目标机程序成功!(192.168.0.21)”。
138.此时目标机重启过程中首先会断电,而ramdisk中的initrd和grub.cfg等文件不会保留。目标机重启上电后,目标机主板的bios启动,读取目标机的/boot目录,bios根据/boot目录中重建后的grub.cfg文件,选择运行目标机磁盘上安装的升级包的系统,并运行相关的系统驱动等。
139.若当文本框2有提示某个目标机升级失败时,可通过点击“切换升级模式”切换至“单个升级”模式对该升级失败的目标机进行单独升级操作,同时可以查阅文本框1中展示的提示信息,以确定该目标机升级失败的原因,以及进行问题定位。
140.如图5所示,图5示出了本技术实施例提供的一种操作系统的安装装置500的结构示意图,该实施方式的操作系统的安装装置500包括通信模块510,数据传输模块520。通信模块510,用于建立与运行第一操作系统的目标机的连接;
141.数据传输模块520,用于传送包括第二操作系统的定制内核及启动配置文件到目标机的第一指定文件目录;启动配置文件用于配置目标机重启后将第一指定文件目录下的定制内核复制到内存,并启动内存中的定制内核中的第二操作系统;
142.通信模块510,还用于建立与运行第二操作系统的目标机的连接;
143.数据传输模块520,还用于传送第三操作系统的安装文件到目标机的第二指定文件目录,以使目标机使用第二指定文件目录下的第三操作系统的安装文件在包含第一操作系统的磁盘分区上重装操作系统。
144.通信模块510还用于,获取一升级配置文件,升级配置文件记载了运行第一操作系统的多个目标机的ip地址;通信模块510建立与运行第一操作系统的目标机的连接,包括:根据升级配置文件记载的多个目标机的ip地址建立连接。
145.本实施方式提供的操作系统安装方案,通过运行在目标机内存中的定制内核,实现了与pc机的远程网络连接、执行目标机硬盘格式化分区以及进行操作系统安装等功能,技术人员无需在现场进行操作,同时无需逐机进行系统安装操作,实现多台分散设备的统一即时升级重装,有效地节约了人力成本和时间成本。
146.如图6所示,图6示出了本技术实施例提供的一种操作系统安装装置600的结构示意图,该实施方式的操作系统的安装装置600包括目标机通信模块610,目标机数据传输模块620,文件管理模块630。
147.目标机通信模块610,用于当目标机运行第一操作系统时,建立与pc机的连接;
148.目标机数据传输模块620,用于接收pc机发送的包括第二操作系统的定制内核及启动配置文件,并存放到目标机的第一指定文件目录;
149.文件管理模块630,用于目标机重启,并根据启动配置文件将第一指定文件目录下的定制内核复制到内存,并启动内存中的定制内核中的第二操作系统;
150.目标机通信模块610还用于,当目标机运行第二操作系统时,建立与pc机的连接;
151.目标机数据传输模块620还用于,接收pc机传送的第三操作系统的安装文件,并存放到目标机的第二指定文件目录;
152.文件管理模块630还用于,使得目标机使用第二指定文件目录下的第三操作系统的安装文件,在包含第一操作系统的磁盘分区上重装操作系统。
153.应理解,根据本技术实施例的操作系统安装装置600可以对应于执行根据本技术各实施例的方法中的相应主体,并且操作系统安装装置600中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
154.图7是本技术实施例提供的一种计算设备900的结构性示意性图。该计算设备可以作为操作系统安装方法中的各可选实施例,该计算设备可以是终端,也可以是终端内部的芯片或芯片系统。如图7所示,该计算设备900包括:处理器910、存储器920、通信接口930。
155.应理解,图7所示的计算设备900中的通信接口930可以用于与其他设备之间进行通信,具体可以包括一个或多个收发电路或接口电路。
156.其中,该处理器910可以与存储器920连接。该存储器920可以用于存储该程序代码和数据。因此,该存储器920可以是处理器910内部的存储单元,也可以是与处理器910独立的外部存储单元,还可以是包括处理器910内部的存储单元和与处理器910独立的外部存储单元的部件。
157.可选的,计算设备900还可以包括总线。其中,存储器920、通信接口930可以通过总线与处理器910连接。总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于
表示,图5中采用了一条无箭头的线表示,但并不表示仅有一根总线或一种类型的总线。
158.应理解,在本技术实施例中,该处理器910可以采用中央处理单元(central processing unit,cpu)。该处理器还可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器910采用一个或多个集成电路,用于执行相关程序,以实现本技术实施例所提供的技术方案。
159.该存储器920可以包括只读存储器和随机存取存储器,并向处理器910提供指令和数据。处理器910的一部分还可以包括非易失性随机存取存储器。例如,处理器910还可以存储设备类型的信息。
160.在计算设备900运行时,所述处理器910执行所述存储器920中的计算机执行指令执行上述方法的任一操作步骤以及其中任一可选的实施例。
161.应理解,根据本技术实施例的计算设备900可以对应于执行根据本技术各实施例的方法中的相应主体,并且计算设备900中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
162.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
163.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
164.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
165.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
166.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
167.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个
人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
168.本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行上述方法,该方法包括上述各个实施例所描述的方案中的至少之一。
169.本技术实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
170.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
171.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
172.可以以一种或多种程序设计语言或其组合来编写用于执行本技术操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。另外,说明书和权利要求书中的词语“第一、第二、第三等”或模块a、模块b、模块c等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
173.在上述的描述中,所涉及的表示步骤的标号,如s110、s120
……
等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
174.说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置a和b的设备”不应局限为仅由部件a和b组成的设备。
175.本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,如从本公开对本领域的普通技术人员显而易见的那样。
176.注意,上述仅为本技术的较佳实施例及所运用技术原理。本领域技术人员会理解,本技术不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本技术的保护范围。因此,虽然通过以上实施例对本技术进行了较为详细的说明,但是本技术不仅仅限于以上实施例,在不脱离本技术构思的情况下,还可以包括更多其他等效实施例,均属于本技术保护范畴。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1