CN116880866A - 安装操作系统的方法、设备及系统 - Google Patents

安装操作系统的方法、设备及系统 Download PDF

Info

Publication number
CN116880866A
CN116880866A CN202311149073.2A CN202311149073A CN116880866A CN 116880866 A CN116880866 A CN 116880866A CN 202311149073 A CN202311149073 A CN 202311149073A CN 116880866 A CN116880866 A CN 116880866A
Authority
CN
China
Prior art keywords
operating system
target
sandboxed
sandbox
compression
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.)
Pending
Application number
CN202311149073.2A
Other languages
English (en)
Inventor
孙永涛
张兴龙
杨志强
席荣武
邱星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Priority to CN202311149073.2A priority Critical patent/CN116880866A/zh
Publication of CN116880866A publication Critical patent/CN116880866A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本公开提出一种安装操作系统的方法、设备及系统,涉及计算机技术领域。针对欲安装的多种类型操作系统中的每个目标操作系统:从沙箱系统中的多个沙箱操作系统压缩包中下载目标操作系统对应的目标沙箱操作系统压缩包,每个沙箱操作系统压缩包是基于一种操作系统压缩包和装载所述一种操作系统压缩包的沙箱形成的压缩包;以及使用目标沙箱操作系统压缩包,基于目标操作系统压缩包安装目标操作系统。通过将不同的操作系统装载在不同的沙箱中,沙箱为操作系统提供一个隔离环境,使得不同的操作系统基于沙箱彼此隔离,即使不同的操作系统有定义或数值范围不一致的同一参数,该同一参数在不同类型的操作系统使用的时候不会出现冲突的情况。

Description

安装操作系统的方法、设备及系统
技术领域
本公开涉及计算机技术领域,特别涉及一种安装操作系统的方法、设备及系统。
背景技术
数据中心运行了数以万计的服务器,这些服务器在进行操作系统批量部署的时候,作为客户端通过控制程序从网络设备下载操作系统镜像,并将操作系统镜像解压缩到服务器的物理磁盘。
如果某服务器需要安装多种类型操作系统,则该服务器将下载的多种类型操作系统镜像直接解压缩到该服务器的同一物理磁盘中。
发明内容
经研究发现,由于上述相关技术会将下载的多种类型操作系统镜像直接解压缩到该服务器的同一物理磁盘中,因此当不同类型的操作系统的同一参数的定义或数值范围不一致时,该同一参数在不同类型的操作系统使用的时候会出现冲突的情况。
鉴于此,本公开实施例,通过将不同的操作系统装载在不同的沙箱中,沙箱为操作系统提供一个隔离环境,使得不同的操作系统基于沙箱彼此隔离,即使不同的操作系统有定义或数值范围不一致的同一参数,该同一参数在不同类型的操作系统使用的时候不会出现冲突的情况。
根据本公开的一些实施例,提供了一种安装操作系统的方法,包括:针对欲安装的多种类型操作系统中的每个目标操作系统:从沙箱系统中的多个沙箱操作系统压缩包中下载所述目标操作系统对应的目标沙箱操作系统压缩包,每个沙箱操作系统压缩包是基于一种操作系统压缩包和装载所述一种操作系统压缩包的沙箱形成的压缩包,所述目标沙箱操作系统压缩包是基于目标操作系统压缩包和装载所述目标操作系统压缩包的目标沙箱形成的压缩包;以及使用所述目标沙箱操作系统压缩包,基于所述目标操作系统压缩包安装所述目标操作系统。
在一些实施例中,该方法还包括:针对所述沙箱系统中的任一第一沙箱操作系统压缩包,采用以下方法生成:获取所述第一沙箱操作系统压缩包对应的第一操作系统的全部文件;对所述第一操作系统的全部文件进行压缩,以得到第一操作系统压缩包;将所述第一操作系统压缩包装载至第一沙箱,以得到第一沙箱操作系统;以及对所述第一沙箱操作系统进行压缩,以得到所述第一沙箱操作系统压缩包。
在一些实施例中,获取所述第一沙箱操作系统压缩包对应的第一操作系统的全部文件包括:使用所述第一沙箱操作系统压缩包对应的第一操作系统安装介质将所述第一沙箱操作系统压缩包对应的第一操作系统安装到第一虚拟机上;关闭所述第一虚拟机,在所述第一虚拟机的第一宿主机上挂载第一虚拟机磁盘;以及从所述第一虚拟机磁盘中提取所述第一操作系统的全部文件。
在一些实施例中,使用所述目标沙箱操作系统压缩包,基于所述目标操作系统压缩包安装所述目标操作系统包括:对所述目标沙箱操作系统压缩包进行解压缩,得到所述目标沙箱操作系统;使用所述目标沙箱操作系统清理本地的物理磁盘的分区中的历史数据;对所述目标沙箱操作系统中的所述目标操作系统压缩包进行解压缩,得到所述目标操作系统;以及根据本地的启动模式,进行启动项修复。
在一些实施例中,使用所述目标沙箱操作系统清理本地的物理磁盘的分区中的历史数据包括:使用所述目标沙箱操作系统删除本地的物理磁盘的分区;使用所述目标沙箱操作系统创建本地的物理磁盘的分区;使用所述目标沙箱操作系统格式化本地的物理磁盘的分区;以及使用所述目标沙箱操作系统挂载本地的物理磁盘的分区。
在一些实施例中,安装所述目标操作系统还包括:在启动项修复之后,使用所述目标沙箱操作系统卸载本地的物理磁盘的分区。
在一些实施例中,根据本地的启动模式,进行启动项修复包括:在本地的启动模式为统一可扩展固件接口UEFI启动模式的情况下,将统一可扩展固件接口启动项中的第一启动项设置为所述目标操作系统;或者在本地的启动模式为传统引导启动模式的情况下,将大统一引导加载器GRUB启动项中的第一启动项设置为所述目标操作系统。
在一些实施例中,从沙箱系统中的多个沙箱操作系统压缩包中下载所述目标操作系统对应的目标沙箱操作系统压缩包包括:根据所述目标操作系统的安装参数,从所述沙箱系统中下载所述目标操作系统对应的所述目标沙箱操作系统压缩包。
在一些实施例中,该方法还包括:对所述目标沙箱操作系统压缩包进行解压缩,得到所述目标沙箱操作系统;以及将内存操作系统中的伪文件系统挂载到所述目标沙箱操作系统。
在一些实施例中,该方法还包括:响应于预启动执行环境引导指令,启动后进行网络引导;下载并加载内存操作系统的镜像,以进入所述内存操作系统。
在一些实施例中,其中所述多个沙箱操作系统压缩包中的多个操作系统压缩包基于各自的沙箱彼此隔离。
根据本公开的另一些实施例,提供一种安装多种操作系统的设备,包括:执行任一个实施例中的安装操作系统的方法的模块。
根据本公开的另一些实施例,提供一种安装操作系统的系统,包括:安装操作系统的设备,被配置为执行各实施例所述的安装操作系统的方法;以及网络设备,存储有沙箱系统,所述沙箱系统中包括多个沙箱操作系统压缩包,每个沙箱操作系统压缩包是基于一种操作系统压缩包和装载所述一种操作系统压缩包的沙箱形成的压缩包。
在一些实施例中,其中所述网络设备被配置为采用以下方法生成所述沙箱系统中的任一第一沙箱操作系统压缩包:获取所述第一沙箱操作系统压缩包对应的第一操作系统的全部文件;对所述第一操作系统的全部文件进行压缩,以得到第一操作系统压缩包;将所述第一操作系统压缩包装载至第一沙箱,以得到第一沙箱操作系统;以及对所述第一沙箱操作系统进行压缩,以得到所述第一沙箱操作系统压缩包。
在一些实施例中,该网络设备还被配置为发送预启动执行环境引导指令;以及将内存操作系统的镜像配置在下载目录中。
根据本公开的又一些实施例,提供一种安装操作系统的设备,包括:存储器;和耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行任一个实施例中的安装操作系统的方法。
根据本公开的再一些实施例,提供一种非易失性计算机可读存储介质, 其上存储有计算机程序,该程序被处理器执行时实现任一个实施例中的安装操作系统的方法。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开。
图1示出了根据本公开的一些实施例的生成沙箱系统的方法的流程示意图。
图2示出了根据本公开的一些实施例的生成沙箱系统的方法的示意图。
图3示出了根据本公开的一些实施例的安装操作系统的方法的流程示意图。
图4示出了根据本公开的一些实施例的安装操作系统的方法的流程示意图。
图5示出了根据本公开的一些实施例的安装操作系统的设备的结构示意图。
图6示出了根据本公开的一些实施例的安装操作系统的设备的结构示意图。
图7示出了根据本公开的一些实施例的安装操作系统的系统的结构示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
下面对本公开实施例中的术语进行解释。
在一些实施例中,内存操作系统,如RAMOS(Random Access Memory OperatingSystem,随机存取存储器操作系统)是指全在RAM(Random Access Memory,随机存取存储器)内运行,启动后不依赖磁盘的系统。
在一些实施例中,DHCP(动态主机配置协议,Dynamic Host ConfigurationProtocol)是一个局域网的网络协议,指的是由服务器控制一段IP地址范围,客户端登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。
在一些实施例中,PXE(预启动执行环境,Preboot eXecution Environment),提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如磁盘)或本地已安装的操作系统。
在一些实施例中,TFTP(简单文件传输协议,Trivial File Transfer Protocol)是TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议和网络协议)协议族中的一个用来在客户端与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。
在一些实施例中,Sysfs:是Linux 系统提供的一种虚拟文件系统。这个文件系统不仅可以把设备和驱动程序的信息从内核输出到用户空间,也可以用来对设备和驱动程序做设置。
在一些实施例中,Procfs:是进程文件系统(process file system)的缩写,包含一个伪文件系统(启动时动态生成的文件系统),用于通过内核访问进程信息。
在一些实施例中,Devtmpfs:是Linux设备的控制文件系统,设备在注册时,会在devtmpfs中创建文件节点。
在一些实施例中,KVM(基于内核的虚拟机,Kernel-based Virtual Machine)是一个基于Linux内核的虚拟机,它属于完全虚拟化范畴,被包含在Linux内核中。
在一些实施例中,UEFI(统一可扩展固件接口,Unified Extensible FirmwareInterface),用来定义操作系统与系统固件之间的软件界面,作为基本输入输出系统(BIOS,Basic Input Output System)的替代方案。可扩展固件接口负责加电自检(POST,Power On Self Test)、联系操作系统以及提供连接操作系统与硬件的接口。
在一些实施例中,GRUB(大统一引导加载器,GRand Unified Bootloader)是一个多操作系统启动程序。它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。
图1示出了根据本公开的一些实施例的生成沙箱系统的方法的流程示意图。该实施例的生成沙箱系统的方法例如可以由网络设备执行。沙箱系统包括多个沙箱操作系统压缩包。如图1所示,该实施例的生成沙箱系统的方法包括步骤110-150,其中,采用步骤110-140的方法生成所述沙箱系统中的任一第一沙箱操作系统压缩包。
在步骤110中,获取所述第一沙箱操作系统压缩包对应的第一操作系统的全部文件。
在一些实施例中,步骤110例如通过步骤111-113实现。
在步骤111中,使用所述第一沙箱操作系统压缩包对应的第一操作系统安装介质将所述第一沙箱操作系统压缩包对应的第一操作系统安装到第一虚拟机上。
操作系统安装介质,是操作系统安装发行版的一种镜像,即ISO文件,里面包含操作系统安装过程中需要用到的所有文件,如启动引导文件,安装过程的图形界面,安装脚本和配置项,操作系统必须的软件包等。
第一操作系统安装介质,也即第一操作系统的安装介质,是第一操作系统安装发行版的一种镜像。例如,如图2所示,各个第一操作系统安装介质例如是centos6.iso、centos7.iso、centos8.iso、openEuler.iso、ubuntu.iso等。
在一些实施例中,使用第一操作系统安装介质将第一操作系统安装到第一虚拟机上包括:新建一个基于内核的第一虚拟机,设置第一虚拟机的名称,为了便于区分,可以基于欲安装的第一操作系统的名称设置虚拟机的名称,例如设置第一虚拟机的名称为centos-7.6,内存例如设置为2GB,中央处理器(CPU,Central Processing Unit)例如设置为4核,网络模式例如设置为桥接,磁盘大小例如设置为8GB,启动顺序为光盘、磁盘,光盘镜像例如设置为centos-7.6.iso,使用第一操作系统安装介质centos-7.6.iso将第一操作系统centos-7.6安装到第一虚拟机centos-7.6上。
在步骤112中,关闭所述第一虚拟机,在所述第一虚拟机的第一宿主机上挂载第一虚拟机磁盘,第一虚拟机磁盘存储第一操作系统的全部文件。
在一些实施例中,第一虚拟机安装完第一操作系统之后,将第一虚拟机关闭,在第一宿主机上使用guestmount工具挂载第一虚拟机磁盘,具体可以挂载第一虚拟机的磁盘分区,例如启动(boot)分区和根分区,以便于后续从第一虚拟机磁盘中提取文件。
如图2所示,第一虚拟机磁盘存储的各个第一操作系统的全部文件例如包括centos6.qcow2、centos7.qcow2、centos8.qcow2、openEuler.qcow2、ubuntu.qcow2等。
在步骤113中,从所述第一虚拟机磁盘中提取所述第一操作系统的全部文件。
例如,提取的第一操作系统的全部文件包括boot分区和根分区中的文件。
在步骤120中,对所述第一操作系统的全部文件进行压缩,以得到第一操作系统压缩包。
如图2所示,各个第一操作系统压缩包例如为centos6.tgz、centos7. tgz、centos8. tgz、openEuler. tgz、ubuntu. tgz等。
在步骤130中,将所述第一操作系统压缩包装载至第一沙箱,以得到第一沙箱操作系统。
在步骤140中,对所述第一沙箱操作系统进行压缩,以得到所述第一沙箱操作系统压缩包。
重复执行步骤110-140的方法,可以得到多个沙箱操作系统压缩包。
在步骤150,各个沙箱操作系统压缩包组成沙箱系统。多个沙箱操作系统压缩包中的多个操作系统压缩包基于各自的沙箱彼此隔离。
在上述实施例中,通过将操作系统压缩包装载至沙箱,得到沙箱操作系统,进一步压缩得到沙箱操作系统压缩包,多个沙箱操作系统压缩包组成沙箱系统。
下面描述基于沙箱系统,安装操作系统的方法。
图3示出了根据本公开的一些实施例的安装操作系统的方法的流程示意图。
如图3所示,安装操作系统的方法包括步骤310-350。
在步骤310中,网络设备向安装操作系统的设备发送预启动执行环境引导指令,安装操作系统的设备网卡启动,并进行网络引导。
在一些实施例中,网络设备通过ipmitool工具向安装操作系统的设备发送预启动执行环境引导指令,使客户端启动后进行网络引导,而不是从磁盘或者光盘引导。
在安装操作系统的过程中,网络设备与安装操作系统的设备的关系是服务端与客户端的关系。安装操作系统的设备例如可以是数据中心的各个服务器。在安装操作系统之前,这些服务器是裸服务器。
在步骤320中,网络设备基于DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)给安装操作系统的设备分配IP地址,以使得安装操作系统的设备具备上网功能。
在步骤330中,安装操作系统的设备从内存系统仓库下载内存操作系统的镜像。
安装操作系统的设备在使用预启动执行环境引导内存操作系统的时候,需要从网络端下载启动相关文件,如内存操作系统的镜像,目前预启动执行环境引导支持简单文件传输协议,因此,网络端可部署简单文件传输协议服务,并将内存操作系统的镜像配置在下载目录中。
内存系统仓库可以设置在网络设备中。
在步骤340中,安装操作系统的设备加载内存操作系统的镜像,以进入所述内存操作系统,启动客户端代理。
在一些实施例中,安装操作系统的设备启动进入内存操作系统后,根据启动脚本的设置,首先启动客户端代理的进程,并尝试连接网络端,以便上报存活信息,并获取需要执行的任务。
在步骤350中,安装操作系统的设备从沙箱系统下载目标沙箱操作系统压缩包,并安装目标操作系统。安装操作系统的设备可以从沙箱系统下载多个目标沙箱操作系统压缩包,并安装多个目标操作系统。后续实施例会具体描述该下载和安装过程。
上述实施例,使用内存操作系统引导安装操作系统,多个沙箱操作系统压缩包中的多个操作系统压缩包基于各自的沙箱彼此隔离,即使不同的操作系统有定义或数值范围不一致的同一参数,该同一参数在不同类型的操作系统使用的时候不会出现冲突的情况。
图4示出了根据本公开的一些实施例的安装操作系统的方法的流程示意图。该实施例的方法例如由安装操作系统的设备执行。
如图4所示,安装操作系统的方法包括如下步骤。
在步骤410中,响应于预启动执行环境引导指令,启动后进行网络引导。
在步骤420中,基于网络引导,从网络侧获取IP地址,并下载内存操作系统的镜像。
在步骤430中,加载内存操作系统的镜像,以进入所述内存操作系统。
针对欲安装的多种类型操作系统中的每个目标操作系统,执行后续步骤。
在步骤440中,从沙箱系统中的多个沙箱操作系统压缩包中下载所述目标操作系统对应的目标沙箱操作系统压缩包,每个沙箱操作系统压缩包是基于一种操作系统压缩包和装载所述一种操作系统压缩包的沙箱形成的压缩包,所述目标沙箱操作系统压缩包是基于目标操作系统压缩包和装载所述目标操作系统压缩包的目标沙箱形成的压缩包。
沙箱系统是一套操作系统隔离环境,拥有完整的文件系统,跟真实操作系统相互隔离,但是又能控制硬件设备,在沙箱中运行的命令和在真实目标系统中运行的结果一致。
不同类型的操作系统的压缩包装载至不同的沙箱。不同类型的操作系统例如包括但不限于CentOS6.8、CentOS7.6、CentOS8.2等。
在一些实施例中,根据所述目标操作系统的安装参数,从所述沙箱系统中下载所述目标操作系统对应的所述目标沙箱操作系统压缩包。操作系统的安装参数例如包括操作系统版本,物理磁盘分区大小和格式,服务器IP、掩码、网关,操作系统密码,需要预装的软件等。
然后,使用所述目标沙箱操作系统压缩包,基于所述目标操作系统压缩包安装所述目标操作系统,具体参见步骤450-470。
在步骤450中,对所述目标沙箱操作系统压缩包进行解压缩,得到所述目标沙箱操作系统。
在步骤460中,将内存操作系统中的伪文件系统挂载到所述目标沙箱操作系统。
在一些实施例中,内存操作系统的伪文件系统例如procfs、sysfs、devtmpfs。
在一些实施例中,内存操作系统的伪文件系统在使用目标沙箱操作系统对本地的物理磁盘的分区格式化的时候使用。
在步骤470中,使用所述目标沙箱操作系统,基于所述目标操作系统压缩包安装所述目标操作系统,具体参见步骤471-475。
在步骤471中,使用所述目标沙箱操作系统清理本地的物理磁盘的分区中的历史数据。
在一些实施例中,使用所述目标沙箱操作系统清理本地的物理磁盘的分区中的历史数据包括步骤471-1~471-4。
在步骤471-1,使用所述目标沙箱操作系统删除本地的物理磁盘的分区,遍历所有分区,并逐个删除,以确保不存在历史数据。
在步骤471-2,使用所述目标沙箱操作系统创建本地的物理磁盘的分区。
在一些实施例中,根据客户端代理接收到的物理磁盘分区大小等参数,使用所述目标沙箱操作系统对物理磁盘进行分区。例如,boot分区1GB、swap分区16GB、根分区100G。
在步骤471-3,使用所述目标沙箱操作系统格式化本地的物理磁盘的分区。
根据客户端代理接收到的物理磁盘分区格式等参数,使用所述目标沙箱操作系统对物理磁盘进行格式化,例如,ext4、xfs等。
在步骤471-4,使用所述目标沙箱操作系统挂载本地的物理磁盘的分区,例如挂载本地的物理磁盘的根分区和boot分区。以便将目标操作系统压缩包解压缩至物理磁盘中。
在步骤472中,对所述目标沙箱操作系统中的所述目标操作系统压缩包进行解压缩,得到所述目标操作系统。
在步骤473中,根据本地的启动模式,进行启动项修复。
本地的启动模式不同,对应的启动文件也各有不同,需要进行不同的启动项修复,以确保安装后的操作系统可以成功启动。
在步骤473-1中,在本地的启动模式为统一可扩展固件接口UEFI启动模式的情况下,将统一可扩展固件接口启动项中的第一启动项设置为所述目标操作系统。
在步骤473-2中,在本地的启动模式为传统引导启动模式的情况下,将大统一引导加载器GRUB启动项中的第一启动项设置为所述目标操作系统。
在步骤474中,在启动项修复之后,使用所述目标沙箱操作系统卸载本地的物理磁盘的分区,以便将操作系统的数据全部写入本地的物理磁盘,避免重启造成数据丢失。
在一些实施例中,卸载沙箱系统中已挂载的内存操作系统的伪文件系统,例如,procfs、sysfs、devtmpfs。
在一些实施例中,卸载已挂载磁盘的boot分区。
在一些实施例中,卸载已挂载磁盘的根分区。
在步骤475中,重启。
本公开实施例,通过将不同的操作系统装载在不同的沙箱中,沙箱为操作系统提供一个隔离环境,使得不同的操作系统基于沙箱彼此隔离,即使不同的操作系统有定义或数值范围不一致的同一参数,该同一参数在不同类型的操作系统使用的时候不会出现冲突的情况。
图5示出了根据本公开的一些实施例的安装多种类型操作系统设备的结构示意图。
如图5所示,该实施例的安装多种类型操作系统设备50包括:存储器51以及耦接至该存储器51的处理器52,处理器52被配置为基于存储在存储器51中的指令,执行前述任意一个实施例中的安装操作系统的方法。
存储器51例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
设备50还可以包括输入输出接口53、网络接口54、存储接口55等。这些接口53、54、55以及存储器51和处理器52之间例如可以通过总线56连接。其中,输入输出接口53为显示器、鼠标、键盘、触摸屏、麦克、音箱等输入输出设备提供连接接口。网络接口54为各种联网设备提供连接接口。存储接口54为SD卡、U盘等外置存储设备提供连接接口。总线56可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(Industry Standard Architecture,ISA)总线、微通道体系结构(Micro ChannelArchitecture,MCA)总线、外围组件互连(Peripheral Component Interconnect ,PCI)总线。
图6示出了根据本公开的一些实施例的安装操作系统的设备的结构示意图。
如图6所示,安装操作系统的设备60包括下载模块61和安装模块62,根据需要还可以包括生成模块63或引导模块64。
下载模块61,被配置为针对欲安装的多种类型操作系统中的每个目标操作系统:从沙箱系统中的多个沙箱操作系统压缩包中下载所述目标操作系统对应的目标沙箱操作系统压缩包。每个沙箱操作系统压缩包是基于一种操作系统压缩包和装载所述一种操作系统压缩包的沙箱形成的压缩包,目标沙箱操作系统压缩包是基于目标操作系统压缩包和装载所述目标操作系统压缩包的目标沙箱形成的压缩包。
下载模块61,被配置为根据所述目标操作系统的安装参数,从所述沙箱系统中下载所述目标操作系统对应的所述目标沙箱操作系统压缩包。
安装模块62,被配置为使用所述目标沙箱操作系统压缩包,基于所述目标操作系统压缩包安装所述目标操作系统。
安装模块62,被配置为对所述目标沙箱操作系统压缩包进行解压缩,得到所述目标沙箱操作系统;使用所述目标沙箱操作系统清理本地的物理磁盘的分区中的历史数据;对所述目标沙箱操作系统中的所述目标操作系统压缩包进行解压缩,得到所述目标操作系统;以及根据本地的启动模式,进行启动项修复。
安装模块62,被配置为使用所述目标沙箱操作系统清理本地的物理磁盘的分区中的历史数据包括:使用所述目标沙箱操作系统删除本地的物理磁盘的分区;使用所述目标沙箱操作系统创建本地的物理磁盘的分区;使用所述目标沙箱操作系统格式化本地的物理磁盘的分区;以及使用所述目标沙箱操作系统挂载本地的物理磁盘的分区。
安装模块62,被配置为在启动项修复之后,使用所述目标沙箱操作系统卸载本地的物理磁盘的分区。
安装模块62,被配置为在本地的启动模式为统一可扩展固件接口UEFI启动模式的情况下,将统一可扩展固件接口启动项中的第一启动项设置为所述目标操作系统;或者在本地的启动模式为传统引导启动模式的情况下,将大统一引导加载器GRUB启动项中的第一启动项设置为所述目标操作系统。
安装模块62,被配置为对所述目标沙箱操作系统压缩包进行解压缩,得到所述目标沙箱操作系统;以及将内存操作系统中的伪文件系统挂载到所述目标沙箱操作系统。
生成模块63,被配置为针对所述沙箱系统中的任一第一沙箱操作系统压缩包,采用以下方法生成:获取所述第一沙箱操作系统压缩包对应的第一操作系统的全部文件;对所述第一操作系统的全部文件进行压缩,以得到第一操作系统压缩包;将所述第一操作系统压缩包装载至第一沙箱,以得到第一沙箱操作系统;以及对所述第一沙箱操作系统进行压缩,以得到所述第一沙箱操作系统压缩包。
生成模块63,被配置为获取所述第一沙箱操作系统压缩包对应的第一操作系统的全部文件包括:使用所述第一沙箱操作系统压缩包对应的第一操作系统安装介质将所述第一沙箱操作系统压缩包对应的第一操作系统安装到第一虚拟机上;关闭所述第一虚拟机,在所述第一虚拟机的第一宿主机上挂载第一虚拟机磁盘;以及从所述第一虚拟机磁盘中提取所述第一操作系统的全部文件。
引导模块64,被配置为响应于预启动执行环境引导指令,启动后进行网络引导;下载并加载内存操作系统的镜像,以进入所述内存操作系统。
图7示出了根据本公开的一些实施例的安装操作系统的系统的结构示意图。
如图7所示,安装操作系统的系统70包括安装操作系统的设备71和网络设备72。一个网络设备72可以服务于多个安装操作系统的设备71。
安装操作系统的设备71,被配置为执行上述实施例所述的安装操作系统的方法;网络设备72,被配置为执行生成每个第一沙箱操作系统压缩包的方法。
在一些实施例中,网络设备包括沙箱系统,沙箱系统中包括多个沙箱操作系统压缩包,每个沙箱操作系统压缩包是基于一种操作系统压缩包和装载所述一种操作系统压缩包的沙箱形成的压缩包。
在一些实施例中,网络设备还被配置为执行发送预启动执行环境引导指令启动以及将内存操作系统的镜像配置在下载目录中。
(1)一种安装操作系统的方法,包括:针对欲安装的多种类型操作系统中的每个目标操作系统:从沙箱系统中的多个沙箱操作系统压缩包中下载所述目标操作系统对应的目标沙箱操作系统压缩包,每个沙箱操作系统压缩包是基于一种操作系统压缩包和装载所述一种操作系统压缩包的沙箱形成的压缩包,所述目标沙箱操作系统压缩包是基于目标操作系统压缩包和装载所述目标操作系统压缩包的目标沙箱形成的压缩包;以及使用所述目标沙箱操作系统压缩包,基于所述目标操作系统压缩包安装所述目标操作系统。
(2)根据(1),还包括:针对所述沙箱系统中的每个第一沙箱操作系统压缩包,采用以下方法生成:获取所述第一沙箱操作系统压缩包对应的第一操作系统的全部文件;对所述第一操作系统的全部文件进行压缩,以得到第一操作系统压缩包;将所述第一操作系统压缩包装载至第一沙箱,以得到第一沙箱操作系统;以及对所述第一沙箱操作系统进行压缩,以得到所述第一沙箱操作系统压缩包。
(3)根据(2),其中获取所述第一沙箱操作系统压缩包对应的第一操作系统的全部文件包括:使用所述第一沙箱操作系统压缩包对应的第一操作系统安装介质将所述第一沙箱操作系统压缩包对应的第一操作系统安装到第一虚拟机上;关闭所述第一虚拟机,在所述第一虚拟机的第一宿主机上挂载第一虚拟机磁盘;以及从所述第一虚拟机磁盘中提取所述第一操作系统的全部文件。
(4)根据(1-3),其中使用所述目标沙箱操作系统压缩包,基于所述目标操作系统压缩包安装所述目标操作系统包括:对所述目标沙箱操作系统压缩包进行解压缩,得到所述目标沙箱操作系统;使用所述目标沙箱操作系统清理本地的物理磁盘的分区中的历史数据;对所述目标沙箱操作系统中的所述目标操作系统压缩包进行解压缩,得到所述目标操作系统;以及根据本地的启动模式,进行启动项修复。
(5)根据(4),其中使用所述目标沙箱操作系统清理本地的物理磁盘的分区中的历史数据包括:使用所述目标沙箱操作系统删除本地的物理磁盘的分区;使用所述目标沙箱操作系统创建本地的物理磁盘的分区;使用所述目标沙箱操作系统格式化本地的物理磁盘的分区;以及使用所述目标沙箱操作系统挂载本地的物理磁盘的分区。
(6)根据(4-5),安装所述目标操作系统还包括:在启动项修复之后,使用所述目标沙箱操作系统卸载本地的物理磁盘的分区。
(7)根据(4-6),其中根据本地的启动模式,进行启动项修复包括:在本地的启动模式为统一可扩展固件接口UEFI启动模式的情况下,将统一可扩展固件接口启动项中的第一启动项设置为所述目标操作系统;或者在本地的启动模式为传统引导Legacy启动模式的情况下,将大统一引导加载器GRUB启动项中的第一启动项设置为所述目标操作系统。
(8)根据(1-7),其中从沙箱系统中的多个沙箱操作系统压缩包中下载所述目标操作系统对应的目标沙箱操作系统压缩包包括:根据所述目标操作系统的安装参数,从所述沙箱系统中下载所述目标沙箱操作系统压缩包。
(9)根据(1-8),还包括:对所述目标沙箱操作系统压缩包进行解压缩,得到所述目标沙箱操作系统;以及将内存操作系统中的伪文件系统挂载到所述目标沙箱操作系统。
(10)根据(1-9),还包括:响应于预启动执行环境引导指令启动;下载并加载内存操作系统的镜像,以进入所述内存操作系统。
(11)根据(1-10),其中所述多个沙箱操作系统压缩包中的多个操作系统压缩包基于各自的沙箱彼此隔离。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
至此,已经详细描述了根据本公开的安装操作系统的方法、设备及系统。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。

Claims (17)

1.一种安装操作系统的方法,其特征在于,包括:
针对欲安装的多种类型操作系统中的每个目标操作系统:
从沙箱系统中的多个沙箱操作系统压缩包中下载所述目标操作系统对应的目标沙箱操作系统压缩包,每个沙箱操作系统压缩包是基于一种操作系统压缩包和装载所述一种操作系统压缩包的沙箱形成的压缩包,所述目标沙箱操作系统压缩包是基于目标操作系统压缩包和装载所述目标操作系统压缩包的目标沙箱形成的压缩包;以及
使用所述目标沙箱操作系统压缩包,基于所述目标操作系统压缩包安装所述目标操作系统。
2.根据权利要求1所述的方法,其特征在于,还包括:针对所述沙箱系统中的任一第一沙箱操作系统压缩包,采用以下方法生成:
获取所述第一沙箱操作系统压缩包对应的第一操作系统的全部文件;
对所述第一操作系统的全部文件进行压缩,以得到第一操作系统压缩包;
将所述第一操作系统压缩包装载至第一沙箱,以得到第一沙箱操作系统;以及
对所述第一沙箱操作系统进行压缩,以得到所述第一沙箱操作系统压缩包。
3.根据权利要求2所述的方法,其特征在于,获取所述第一沙箱操作系统压缩包对应的第一操作系统的全部文件包括:
使用所述第一沙箱操作系统压缩包对应的第一操作系统安装介质将所述第一沙箱操作系统压缩包对应的第一操作系统安装到第一虚拟机上;
关闭所述第一虚拟机,在所述第一虚拟机的第一宿主机上挂载第一虚拟机磁盘;以及
从所述第一虚拟机磁盘中提取所述第一操作系统的全部文件。
4.根据权利要求1-3中任一项所述的方法,其特征在于,使用所述目标沙箱操作系统压缩包,基于所述目标操作系统压缩包安装所述目标操作系统包括:
对所述目标沙箱操作系统压缩包进行解压缩,得到所述目标沙箱操作系统;
使用所述目标沙箱操作系统清理本地的物理磁盘的分区中的历史数据;
对所述目标沙箱操作系统中的所述目标操作系统压缩包进行解压缩,得到所述目标操作系统;以及
根据本地的启动模式,进行启动项修复。
5.根据权利要求4所述的方法,其特征在于,使用所述目标沙箱操作系统清理本地的物理磁盘的分区中的历史数据包括:
使用所述目标沙箱操作系统删除本地的物理磁盘的分区;
使用所述目标沙箱操作系统创建本地的物理磁盘的分区;
使用所述目标沙箱操作系统格式化本地的物理磁盘的分区;以及
使用所述目标沙箱操作系统挂载本地的物理磁盘的分区。
6.根据权利要求5所述的方法,其特征在于,安装所述目标操作系统还包括:
在启动项修复之后,使用所述目标沙箱操作系统卸载本地的物理磁盘的分区。
7. 根据权利要求4所述的方法,其特征在于,根据本地的启动模式,进行启动项修复包括:
在本地的启动模式为统一可扩展固件接口UEFI启动模式的情况下,将统一可扩展固件接口启动项中的第一启动项设置为所述目标操作系统;或者
在本地的启动模式为传统引导启动模式的情况下,将大统一引导加载器GRUB启动项中的第一启动项设置为所述目标操作系统。
8.根据权利要求1-3任一项所述的方法,其特征在于,从沙箱系统中的多个沙箱操作系统压缩包中下载所述目标操作系统对应的目标沙箱操作系统压缩包包括:
根据所述目标操作系统的安装参数,从所述沙箱系统中下载所述目标操作系统对应的所述目标沙箱操作系统压缩包。
9. 根据权利要求1-3任一项所述的方法,其特征在于,还包括:
对所述目标沙箱操作系统压缩包进行解压缩,得到所述目标沙箱操作系统;以及
将内存操作系统中的伪文件系统挂载到所述目标沙箱操作系统。
10.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
响应于预启动执行环境引导指令,启动后进行网络引导;
下载并加载内存操作系统的镜像,以进入所述内存操作系统。
11.根据权利要求1-3任一项所述的方法,其特征在于,所述多个沙箱操作系统压缩包中的多个操作系统压缩包基于各自的沙箱彼此隔离。
12.一种安装操作系统的设备,其特征在于,包括:
执行权利要求1-11中任一项所述的安装操作系统的方法的模块。
13. 一种安装操作系统的系统,其特征在于,包括:
安装操作系统的设备,被配置为执行权利要求1和3-11中任一项所述的安装操作系统的方法;以及
网络设备,存储有沙箱系统,所述沙箱系统中包括多个沙箱操作系统压缩包,每个沙箱操作系统压缩包是基于一种操作系统压缩包和装载所述一种操作系统压缩包的沙箱形成的压缩包。
14.根据权利要求13所述的系统,其特征在于,所述网络设备被配置为采用以下方法生成所述沙箱系统中的任一第一沙箱操作系统压缩包:
获取所述第一沙箱操作系统压缩包对应的第一操作系统的全部文件;
对所述第一操作系统的全部文件进行压缩,以得到第一操作系统压缩包;
将所述第一操作系统压缩包装载至第一沙箱,以得到第一沙箱操作系统;以及
对所述第一沙箱操作系统进行压缩,以得到所述第一沙箱操作系统压缩包。
15. 根据权利要求13所述的系统,其特征在于,所述网络设备被配置为:
向安装操作系统的设备发送预启动执行环境引导指令;以及
将内存操作系统的镜像配置在下载目录中。
16. 一种安装操作系统的设备,其特征在于,包括:
存储器;和
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行权利要求1-11任一项所述的安装操作系统的方法。
17.一种非易失性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-11任一项所述的安装操作系统的方法。
CN202311149073.2A 2023-09-07 2023-09-07 安装操作系统的方法、设备及系统 Pending CN116880866A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311149073.2A CN116880866A (zh) 2023-09-07 2023-09-07 安装操作系统的方法、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311149073.2A CN116880866A (zh) 2023-09-07 2023-09-07 安装操作系统的方法、设备及系统

Publications (1)

Publication Number Publication Date
CN116880866A true CN116880866A (zh) 2023-10-13

Family

ID=88268442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311149073.2A Pending CN116880866A (zh) 2023-09-07 2023-09-07 安装操作系统的方法、设备及系统

Country Status (1)

Country Link
CN (1) CN116880866A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636154A (zh) * 2013-11-07 2015-05-20 腾讯科技(深圳)有限公司 应用程序安装方法及装置
CN105447382A (zh) * 2014-09-28 2016-03-30 北京云巢动脉科技有限公司 一种基于沙箱的软件注册表重定向方法及系统
CN105809050A (zh) * 2014-12-31 2016-07-27 北京元心科技有限公司 一种多操作系统的隔离方法及装置
US20190121963A1 (en) * 2017-10-23 2019-04-25 L3 Technologies, Inc. Browser application implementing sandbox based internet isolation
CN112000342A (zh) * 2020-08-14 2020-11-27 北京浪潮数据技术有限公司 一种操作系统安装方法、装置、设备及存储介质
CN113297566A (zh) * 2020-05-15 2021-08-24 阿里巴巴集团控股有限公司 沙箱实现方法、装置、设备和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636154A (zh) * 2013-11-07 2015-05-20 腾讯科技(深圳)有限公司 应用程序安装方法及装置
CN105447382A (zh) * 2014-09-28 2016-03-30 北京云巢动脉科技有限公司 一种基于沙箱的软件注册表重定向方法及系统
CN105809050A (zh) * 2014-12-31 2016-07-27 北京元心科技有限公司 一种多操作系统的隔离方法及装置
US20190121963A1 (en) * 2017-10-23 2019-04-25 L3 Technologies, Inc. Browser application implementing sandbox based internet isolation
CN113297566A (zh) * 2020-05-15 2021-08-24 阿里巴巴集团控股有限公司 沙箱实现方法、装置、设备和存储介质
CN112000342A (zh) * 2020-08-14 2020-11-27 北京浪潮数据技术有限公司 一种操作系统安装方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US11438229B2 (en) Systems and methods for operating system deployment and lifecycle management of a smart network interface card
US11474829B2 (en) Customizing program logic for booting a system
US9292312B2 (en) Simulated network boot environment for bootstrap redirection
US7441113B2 (en) Method and apparatus for virtualization of appliances
CN102375764B (zh) 在软件部署中进行故障管理的方法和系统
US7631173B2 (en) Method and system for performing pre-boot operations from an external memory including memory address and geometry
US7379982B2 (en) System and method for custom installation of an operating system on a remote client
JP5095717B2 (ja) 目標の媒体上に縮小オペレーティングシステムイメージをインストールする方法、システム、プログラム及び前記方法を実施する命令を有するコンピュータ読み取り可能媒体
US9542174B2 (en) Deployment of software images with distinct configuration logic
US10860307B2 (en) Fragmented firmware storage system and method therefor
US20040199758A1 (en) Information handling system manufacture method and system
CN113741914B (zh) 操作系统安装机制
CN112130917A (zh) 远程加载系统镜像方法
US20230229481A1 (en) Provisioning dpu management operating systems
CN106126303B (zh) Linux操作系统的安装方法、装置及系统
US11797329B2 (en) Pausing deployment of a virtual machine prior to a machine name dependency
CN113821220A (zh) 一种linux操作系统的安装方法和装置
US10776132B1 (en) System and method for preboot device driver provisioning for remotely-staged operating system
US11256519B2 (en) Using a single process to install a UEFI-supported OS or a non-UEFI supported OS on a hardware platform
CN109471665B (zh) 一种自动安装Windows操作系统的方法
CN116880866A (zh) 安装操作系统的方法、设备及系统
US11675601B2 (en) Systems and methods to control software version when deploying OS application software from the boot firmware
CN106506276A (zh) 一种用于服务器的信息检测方法
CN115004151A (zh) 用于更新附加卡固件并在安装有任何os的任何服务器或裸机服务器上收集硬件信息的系统和方法
US20240036896A1 (en) Generating installation images based upon dpu-specific capabilities

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination