一种操作系统的安装方法和装置
技术领域
本申请涉及通信技术领域,尤其涉及一种操作系统的安装方法和装置。
背景技术
随着互联网大数据快速发展的趋势,在数据中心内部署的服务器数量越来越多,如通常会部署上千个服务器,因此,管理员需要为大量的服务器分别安装OS(OperatingSystem,操作系统),工作量很大。为了节省管理员的工作量,目前,可以由服务器自动安装OS,以减少管理员的参与。而为了自动安装OS,可以为服务器配置自动应答脚本文件,在OS的安装过程中,服务器可以基于自动应答脚本文件确定如何安装OS,从而达到自动安装的目的。
由于不同OS的自动应答脚本文件类型并不相同,因此,需要人工为每个OS单独编写自动应答脚本文件,工作量很大,而且容易出现编写错误等问题。由于OS的类型很多,因此,自动应答脚本文件的类型也会很多,不便于统一管理,需要大量的人力资源。
发明内容
本申请提供一种操作系统的安装方法,应用在系统提供设备,包括:
获取操作系统的镜像文件,并从所述镜像文件中解析出系统类型;
获取所述系统类型对应的应答脚本模板,并获取预先配置的配置文件;
利用所述应答脚本模板和所述配置文件生成所述镜像文件对应的自动应答脚本文件;
将所述自动应答脚本文件添加到所述镜像文件中,将修改后的镜像文件提供给服务器,以使所述服务器利用所述修改后的镜像文件安装所述操作系统。
所述获取所述系统类型对应的应答脚本模板的过程,具体包括:利用所述系统类型查询预先配置的第一映射关系,得到所述系统类型对应的应答脚本模板;其中,所述第一映射关系具体为系统类型与应答脚本模板的对应关系。
所述利用所述应答脚本模板和所述配置文件生成所述镜像文件对应的自动应答脚本文件的过程,具体包括:
从所述配置文件中解析出配置项标识和配置项参数;
从所述应答脚本模板中查询到所述配置项标识对应的配置项;
通过所述配置项参数修改所述应答脚本模板中的所述配置项;
将修改后的应答脚本模板确定为所述镜像文件对应的自动应答脚本文件。
所述将所述自动应答脚本文件添加到所述镜像文件中的过程,具体包括:
若所述镜像文件的系统类型为Windows类型,则将所述自动应答脚本文件添加到所述镜像文件的根目录下;或者,若所述镜像文件的系统类型为Linux类型,则将所述自动应答脚本文件添加到所述镜像文件的指定目录下。
所述将所述自动应答脚本文件添加到所述镜像文件中之后,所述将修改后的镜像文件提供给服务器之前,所述方法进一步包括:修改所述镜像文件中的引导程序配置文件;
所述修改所述镜像文件中的引导程序配置文件的过程,具体包括:
在所述引导程序配置文件中添加所述自动应答脚本文件的路径信息;
在所述引导程序配置文件中添加用于跳过引导界面的配置信息。
本申请提供一种操作系统的安装装置,应用在系统提供设备,包括:
解析模块,用于获取操作系统的镜像文件,并从所述操作系统的镜像文件中解析出系统类型;
获取模块,用于获取所述系统类型对应的应答脚本模板,并获取预先配置的配置文件;
生成模块,用于利用所述应答脚本模板和所述配置文件生成所述镜像文件对应的自动应答脚本文件;
发送模块,用于将所述自动应答脚本文件添加到所述镜像文件中,并将修改后的镜像文件提供给服务器,以使所述服务器利用所述修改后的镜像文件安装操作系统。
所述获取模块,具体用于在获取所述系统类型对应的应答脚本模板的过程中,利用所述系统类型查询预先配置的第一映射关系,得到所述系统类型对应的应答脚本模板;其中,所述第一映射关系具体为系统类型与应答脚本模板的对应关系。
所述生成模块,具体用于在利用所述应答脚本模板和所述配置文件生成所述镜像文件对应的自动应答脚本文件的过程中,从所述配置文件中解析出配置项标识和配置项参数;从所述应答脚本模板中查询到所述配置项标识对应的配置项;通过所述配置项参数修改所述应答脚本模板中的所述配置项;将修改后的应答脚本模板确定为所述镜像文件对应的自动应答脚本文件。
所述发送模块,具体用于在将所述自动应答脚本文件添加到所述镜像文件中的过程中,若所述镜像文件的系统类型为Windows类型,则将所述自动应答脚本文件添加到所述镜像文件的根目录下;或者,若所述镜像文件的系统类型为Linux类型,则将所述自动应答脚本文件添加到所述镜像文件的指定目录下。
所述发送模块,还用于在将所述自动应答脚本文件添加到所述镜像文件中之后,在将修改后的镜像文件提供给服务器之前,修改所述镜像文件中的引导程序配置文件;在修改所述镜像文件中的引导程序配置文件的过程中,在所述引导程序配置文件中添加所述自动应答脚本文件的路径信息,并在所述引导程序配置文件中添加用于跳过引导界面的配置信息。
基于上述技术方案,本申请实施例中,当服务器安装操作系统时,系统提供设备可以利用应答脚本模板和配置文件自动生成镜像文件对应的自动应答脚本文件,而不用人工为每个操作系统单独编写自动应答脚本文件,减轻用户的工作量,不容易出现编写错误等问题。而且,只需要在系统提供设备上维护一份通用的配置文件,并为每个操作系统维护一个应答脚本模板,就可以在操作系统的安装过程中,自动生成该操作系统对应的自动应答脚本文件,无需针对每个操作系统维护一个独立的自动应答脚本文件,便于自动应答脚本文件的统一管理,减轻人力资源,避免大量人力资源的消耗。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本申请一种实施方式中的应用场景示意图;
图2是本申请一种实施方式中的操作系统的安装方法的流程图;
图3是本申请一种实施方式中的系统提供设备的硬件结构图;
图4是本申请一种实施方式中的操作系统的安装装置的结构图。
具体实施方式
在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例提出一种操作系统的安装方法,该方法可以应用于包括系统提供设备和多个服务器的系统中,系统提供设备可以是PC(Personal Computer,个人计算机)等。该系统提供设备上包括操作系统的镜像文件,并用于为这些服务器提供该镜像文件,以使这些服务器利用该镜像文件安装操作系统。在一个例子中,操作系统的镜像文件可以为ISO镜像文件(即光盘镜像文件)。
以图1为本申请实施例的应用场景示意图,系统提供设备与服务器1、服务器2分别连接,假设服务器1需要安装Windows类型的操作系统,服务器2需要安装Linux类型的操作系统。当然,在实际应用中,服务器的数量会很多,这些服务器可能会安装相同系统类型的操作系统,也可能会安装不同系统类型的操作系统,图1中以两个服务器为例进行说明。而且,操作系统的系统类型也并不局限于Windows类型和Linux类型,后续以这两个系统类型为例进行说明。
参见图2所示,为本申请实施例中提出的操作系统的安装方法的流程图,该方法可以应用在系统提供设备(如PC)上,且该方法可以包括以下步骤:
步骤201,获取操作系统的镜像文件,并从该镜像文件中解析出系统类型。
步骤202,获取该系统类型对应的应答脚本模板,并获取预先配置的配置文件。
步骤203,利用该应答脚本模板和该配置文件生成镜像文件对应的自动应答脚本文件。
步骤204,将该自动应答脚本文件添加到该镜像文件中,并将修改后的镜像文件提供给服务器,以使该服务器利用修改后的镜像文件安装操作系统。
针对步骤201,在一个例子中,当需要为服务器1安装Windows类型的操作系统时,则可以在系统提供设备上配置Windows类型的操作系统对应的镜像文件1,且该镜像文件1中会携带系统类型是Windows类型的信息。基于此,系统提供设备可以从本地获取到Windows类型的操作系统对应的镜像文件1,并从该镜像文件1中解析出系统类型是Windows类型。在另一个例子中,当需要为服务器2安装Linux类型的操作系统时,则可以在系统提供设备上配置Linux类型的操作系统对应的镜像文件2,且该镜像文件2中会携带系统类型是Linux类型的信息。基于此,系统提供设备可以从本地获取到Linux类型的操作系统对应的镜像文件2,并从该镜像文件2中解析出系统类型是Linux类型。
在一个例子中,可以将操作系统的镜像文件存储到操作系统的安装程序的isoimage(ISO映像)目录下。因此,系统提供设备可以从操作系统的安装程序的isoimage目录下获取到该镜像文件,并从该镜像文件中解析出系统类型。
针对步骤202,在一个例子中,针对获取系统类型对应的应答脚本模板的过程,可以包括但不限于:利用该系统类型查询预先配置的第一映射关系,得到该系统类型对应的应答脚本模板。其中,该第一映射关系具体可以为系统类型与应答脚本模板的对应关系。在一个例子中,不同的系统类型可以对应不同的应答脚本模板,也可以对应相同的应答脚本模板。为了方便描述,在后续过程中,以不同的系统类型对应不同的应答脚本模板为例进行说明。
在一个例子中,系统提供设备可以将预先配置的第一映射关系存储到本地的template(模板)目录下,如表1所示,为第一映射关系的一个示例。基于此第一映射关系,系统提供设备在从镜像文件1中解析出系统类型是Windows类型之后,则可以通过Windows类型去template目录下查询表1所示的第一映射关系,得到Windows类型对应的应答脚本模板1。系统提供设备在从镜像文件2中解析出系统类型是Linux类型之后,则可以通过Linux类型去template目录下查询表1所示的第一映射关系,得到Linux类型对应的应答脚本模板2。
表1
系统类型 |
应答脚本模板 |
Windows类型 |
应答脚本模板1 |
Linux类型 |
应答脚本模板2 |
当然,表1只是第一映射关系维护的一个示例,实际应用中,并不局限于采用表格的形式存储第一映射关系,还可以采用其它数据结构,对此不做限制。
针对步骤202,在一个例子中,针对获取预先配置的配置文件的过程,可以包括但不限于:系统提供设备可以将预先配置的配置文件存储到本地config(配置)目录下。基于此,系统提供设备可以从该config目录下获取到该配置文件。其中,该配置文件可以是XML(eXtensible Markup Language,可扩展标记语言)格式的配置文件,该配置文件的每条记录包括一个配置项标识以及该配置项标识对应的配置项参数。当然,配置文件也可以是其它格式,对此不做限制。
针对步骤203,在一个例子中,针对利用该应答脚本模板和该配置文件生成该镜像文件对应的自动应答脚本文件的过程,可以包括但不限于:系统提供设备从该配置文件中解析出配置项标识和配置项参数;从该应答脚本模板中查询到该配置项标识对应的配置项;通过该配置项参数修改该应答脚本模板中的该配置项;将修改后的应答脚本模板确定为该镜像文件对应的自动应答脚本文件。
在一个例子中,配置文件是根据用户需求生成的,该配置文件中包含了根据用户选择所添加的配置项标识和配置项参数。例如,配置项标识为语言,该配置项标识对应的配置项参数为中文或者英文等;配置项标识为网络,该配置项标识对应的配置项参数为有线网络或者无线网络等;配置项标识为用户名,该配置项标识对应的配置项参数为administrator或者visitor等;配置项标识为密码,该配置项标识对应的配置项参数为123456789等。当然,上述只是给出了配置项标识和配置项参数的几个示例,在实际应用中并不局限于此。
在一个例子中,应答脚本模板是与操作系统有关的自动应答脚本文件模板,该应答脚本模板中会包含自动应答脚本文件所需要的内容,且不同操作系统的应答脚本模板会不同。在应答脚本模板中,配置项会根据用户选择而发生变化,而配置项之外的其它内容不会根据用户选择而发生变化。对于应答脚本模板中的配置项,配置项标识为实际值,配置项参数为默认值。例如,配置项标识为语言,该配置项标识对应的配置项参数为AA;配置项标识为网络,该配置项标识对应的配置项参数为AA;配置项标识为用户名,该配置项标识对应的配置项参数为BB;配置项标识为密码,该配置项标识对应的配置项参数为BB。对于应答脚本模板中的配置项之外的其它内容,是与操作系统有关的内容,可以根据实际需要进行配置,本申请实施例中对此配置方式以及其具体内容不做限制。
在一个例子中,针对利用应答脚本模板和配置文件生成镜像文件对应的自动应答脚本文件的过程,系统提供设备可以从配置文件中解析出语言和中文,从应答脚本模板中查询到语言对应的配置项,通过“中文”修改应答脚本模板中的语言对应的配置项参数AA;系统提供设备可以从配置文件中解析出网络和有线网络,从应答脚本模板中查询到网络对应的配置项,通过“有线网络”修改应答脚本模板中的网络对应的配置项参数AA;系统提供设备可以从配置文件中解析出用户名和administrator,从应答脚本模板中查询到用户名对应的配置项,通过“administrator”修改应答脚本模板中的用户名对应的配置项参数BB;系统提供设备可以从配置文件中解析出密码和123456789,从应答脚本模板中查询到密码对应的配置项,通过“123456789”修改应答脚本模板中的密码对应的配置项参数BB。进一步的,可以将经过上述修改后得到的应答脚本模板,确定为镜像文件对应的自动应答脚本文件。在该镜像文件对应的自动应答脚本文件中,语言对应的配置项参数为中文,网络对应的配置项参数为有线网络,用户名对应的配置项参数为administrator,密码对应的配置项参数为123456789。
针对步骤204,在一个例子中,针对将自动应答脚本文件添加到镜像文件中的过程,可以包括但不限于:若该镜像文件的系统类型为Windows类型,则可以直接将该自动应答脚本文件添加到该镜像文件的根目录下;或者,若该镜像文件的系统类型为Linux类型,则可以直接将该自动应答脚本文件添加到该镜像文件的指定目录下。其中,对于Windows类型的操作系统来说,可以从镜像文件的根目录下获取自动应答脚本文件,基于此,系统提供设备可以直接将自动应答脚本文件添加到镜像文件的根目录下。此外,对于Linux类型的操作系统来说,可以根据实际需要,指定自动应答脚本文件的存储目录(即指定目录),且可以从镜像文件的指定目录下获取自动应答脚本文件,基于此,系统提供设备可以直接将自动应答脚本文件添加到镜像文件的指定目录下。
在一个例子中,在系统提供设备将自动应答脚本文件添加到镜像文件中之后,在系统提供设备将修改后的镜像文件提供给服务器之前,系统提供设备还可以修改镜像文件中的引导程序配置文件(如isolinux,grub等)。
进一步的,针对修改镜像文件中的引导程序配置文件的过程,可以包括:系统提供设备在该引导程序配置文件中添加该自动应答脚本文件的路径信息,并在该引导程序配置文件中添加用于跳过引导界面的配置信息。
其中,该引导程序配置文件用于引导服务器安装操作系统。通过在该引导程序配置文件中添加该自动应答脚本文件的路径信息(即自动应答脚本文件在镜像文件的目录,如上述的根目录或者指定目录),以使服务器在安装操作系统时,利用该路径信息,从镜像文件中获取到自动应答脚本文件。
其中,通过在该引导程序配置文件中添加用于跳过引导界面的配置信息,以使服务器在安装操作系统时,直接跳过引导界面。
在一个例子中,系统提供设备可以将修改后的镜像文件(即添加了自动应答脚本文件、修改了引导程序配置文件的镜像文件)提供给服务器,以使服务器利用修改后的镜像文件安装操作系统。
其中,针对将修改后的镜像文件提供给服务器的过程,系统提供设备可以将修改后的镜像文件挂载到服务器的虚拟光驱上。而且,通过将服务器BIOS(Basic Input OutputSystem,基本输入输出系统)设置成从虚拟光驱启动,则服务器会根据虚拟光驱挂载的镜像文件自动安装操作系统。
在服务器根据镜像文件自动安装操作系统的过程中,可能要求管理员输入语言信息、网络信息、用户名信息、密码信息,基于镜像文件中的自动应答脚本文件,由于语言对应的配置项参数为中文,因此,服务器可以自动输入中文,而不需要管理员输入语言信息。由于网络对应的配置项参数为有线网络,因此,服务器可以自动输入有线网络,而不需要管理员输入网络信息。由于用户名对应的配置项参数为administrator,因此,服务器可以自动输入administrator,而不需要管理员输入用户名信息。由于密码对应的配置项参数为123456789,因此,服务器可以自动输入123456789,而不需要管理员输入密码信息。
基于上述技术方案,本申请实施例中,当服务器安装操作系统时,系统提供设备可以利用应答脚本模板和配置文件自动生成镜像文件对应的自动应答脚本文件,而不用人工为每个操作系统单独编写自动应答脚本文件,减轻用户的工作量,不容易出现编写错误等问题。而且,只需要在系统提供设备上维护一份通用的配置文件,并为每个操作系统维护一个应答脚本模板,就可以在操作系统的安装过程中,自动生成该操作系统对应的自动应答脚本文件,无需针对每个操作系统维护一个独立的自动应答脚本文件,便于自动应答脚本文件的统一管理,减轻人力资源,避免大量人力资源的消耗。
基于与上述方法同样的申请构思,本申请实施例中还提供了一种操作系统的安装装置,可以应用在系统提供设备上。该操作系统的安装装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过系统提供设备的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图3所示,为本申请提出的操作系统的安装装置所在的系统提供设备的硬件结构图,除了图3所示的处理器、非易失性存储器外,系统提供设备还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,系统提供设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图4所示,为本申请提出的操作系统的安装装置的结构图,包括:
解析模块11,用于获取操作系统的镜像文件,并从所述操作系统的镜像文件中解析出系统类型;
获取模块12,用于获取所述系统类型对应的应答脚本模板,并获取预先配置的配置文件;
生成模块13,用于利用所述应答脚本模板和所述配置文件生成所述镜像文件对应的自动应答脚本文件;
发送模块14,用于将所述自动应答脚本文件添加到所述镜像文件中,并将修改后的镜像文件提供给服务器,以使所述服务器利用所述修改后的镜像文件安装操作系统。
在一个例子中,所述获取模块12,具体用于在获取所述系统类型对应的应答脚本模板的过程中,利用所述系统类型查询预先配置的第一映射关系,得到所述系统类型对应的应答脚本模板;其中,所述第一映射关系具体为系统类型与应答脚本模板的对应关系。
所述生成模块13,具体用于在利用所述应答脚本模板和所述配置文件生成所述镜像文件对应的自动应答脚本文件的过程中,从所述配置文件中解析出配置项标识和配置项参数;从所述应答脚本模板中查询到所述配置项标识对应的配置项;通过所述配置项参数修改所述应答脚本模板中的所述配置项;将修改后的应答脚本模板确定为所述镜像文件对应的自动应答脚本文件。
所述发送模块14,具体用于在将所述自动应答脚本文件添加到所述镜像文件中的过程中,若所述镜像文件的系统类型为Windows类型,将所述自动应答脚本文件添加到所述镜像文件的根目录下;或者,若所述镜像文件的系统类型为Linux类型,将所述自动应答脚本文件添加到所述镜像文件的指定目录下。
在一个例子中,所述发送模块14,还用于在将所述自动应答脚本文件添加到所述镜像文件中之后,在将修改后的镜像文件提供给服务器之前,修改所述镜像文件中的引导程序配置文件;在修改所述镜像文件中的引导程序配置文件的过程中,在所述引导程序配置文件中添加所述自动应答脚本文件的路径信息,并在所述引导程序配置文件中添加用于跳过引导界面的配置信息。
基于上述技术方案,本申请实施例中,当服务器安装操作系统时,系统提供设备可以利用应答脚本模板和配置文件自动生成镜像文件对应的自动应答脚本文件,而不用人工为每个操作系统单独编写自动应答脚本文件,减轻用户的工作量,不容易出现编写错误等问题。而且,只需要在系统提供设备上维护一份通用的配置文件,并为每个操作系统维护一个应答脚本模板,就可以在操作系统的安装过程中,自动生成该操作系统对应的自动应答脚本文件,无需针对每个操作系统维护一个独立的自动应答脚本文件,便于自动应答脚本文件的统一管理,减轻人力资源,避免大量人力资源的消耗。
其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。