CN114443068A - 一种定制化国产操作系统pxe的自动部署方法、系统及装置 - Google Patents

一种定制化国产操作系统pxe的自动部署方法、系统及装置 Download PDF

Info

Publication number
CN114443068A
CN114443068A CN202111662102.6A CN202111662102A CN114443068A CN 114443068 A CN114443068 A CN 114443068A CN 202111662102 A CN202111662102 A CN 202111662102A CN 114443068 A CN114443068 A CN 114443068A
Authority
CN
China
Prior art keywords
directory
mirror image
pxe
image
operating system
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
Application number
CN202111662102.6A
Other languages
English (en)
Other versions
CN114443068B (zh
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111662102.6A priority Critical patent/CN114443068B/zh
Publication of CN114443068A publication Critical patent/CN114443068A/zh
Application granted granted Critical
Publication of CN114443068B publication Critical patent/CN114443068B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Abstract

本发明提出的一种定制化国产操作系统PXE的自动部署方法、系统及装置,所述方法包括:基于shell脚本语言编写镜像处理及PXE目录生成脚本a.sh;运行shell脚本a.sh,在shell脚本a.sh执行过程中获取指令镜像检验数据,并进行存储;挂载系统镜像至预设目录下,建立操作系统目录下的镜像目录,将系统镜像拷贝至所述镜像目录中;获取系统镜像的名称,建立tftp下载目录下的镜像目录,根据系统镜像的名称将系统镜像文件拷贝至tftp下载目录下的镜像目录,以供PXE调用;调用可执行文件b.exe,将镜像目录名称和指令名称传递至可执行文件b.exe中;通过执行可执行文件b.exe对PXE配置文件进行适配,完成一次操作系统的PXE部署。本发明实现了定制化国产操作系统PXE自动部署适配及维护的功能。

Description

一种定制化国产操作系统PXE的自动部署方法、系统及装置
技术领域
本发明涉及计算机技术领域,更具体的说是涉及一种定制化国产操作系统PXE的自动部署方法、系统及装置。
背景技术
全国产PC生产时,由于产量较大,存在同时下发多个客户定制化镜像至工厂进行生产不同客户的定制化PC订单的情况。虽然目前只有UOS和Kylin两种国产操作系统搭载于国产PC机上,但不同的客户对于操作系统内初始自带的软件、应用、桌面图标等等很多东西都存在着自己的要求。导致生产过程中基本每个订单都有自己的定制化操作系统镜像。
因此,凡是涉及到客户定制化镜像的订单,就需要工厂主场工程师对客户定制化系统镜像进行手动的PXE适配和系统数据维护,如若出现漏维护、手动维护异常、客户要求系统与镜像对应关系弄混等等情况,在工厂内发现问题则涉及到大批量的机器返工,发货才发现则会造成严重客诉问题。
发明内容
针对以上问题,本发明的目的在于提供一种定制化国产操作系统PXE的自动部署方法、系统及装置,能够自动化地对客户要求的系统镜像进行适配、对测试过程比对数据进行自动维护。节约了PXE适配及维护过程所需的大量时间成本,且避免了人为适配失误造成的客诉问题。
本发明为实现上述目的,通过以下技术方案实现:一种定制化国产操作系统PXE的自动部署方法,包括:
基于shell脚本语言编写镜像处理及PXE目录生成脚本a.sh;
运行shell脚本a.sh,在shell脚本a.sh执行过程中获取指令镜像检验数据,并进行存储;
挂载系统镜像至预设目录下,建立操作系统目录下的镜像目录,将系统镜像拷贝至所述镜像目录中;
获取系统镜像的名称,建立tftp下载目录下的镜像目录,根据系统镜像的名称将系统镜像文件拷贝至tftp下载目录下的镜像目录,以供PXE调用;
调用可执行文件b.exe,将镜像目录名称和指令名称传递至可执行文件b.exe中;
通过执行可执行文件b.exe对PXE配置文件进行适配,完成一次操作系统的PXE部署。
进一步,所述shell脚本a.sh执行过程中获取指令镜像检验数据,并进行存储,包括:
根据shell脚本a.sh执行过程中传递进来的镜像名参数、指令号参数和机型参数获取定制化镜像名、指令号和对应机型;
将命令行传递进来的镜像名参数、指令号参数和机型参数分别存储于shell脚本局部变量str1、str2、str3中供后续使用,将接收到的镜像名字符串str1去掉.iso后缀存储至镜像目录str4。
进一步,所述挂载系统镜像至预设目录下,建立操作系统目录下的镜像目录,将系统镜像拷贝至所述镜像目录中,包括:
挂载系统镜像至预设目录下,建立操作系统目录下的镜像目录,将默认路径指向操作系统目录下的镜像目录,将预设目录下的所有文件、隐藏文件、文件夹和隐藏文件夹全部拷贝至操作系统目录下的镜像目录中;
拷贝完成后进行目录文件比较,若无文件差异则拷贝完成。
进一步,所述拷贝完成后进行目录文件比较,包括分别取预设目录和操作系统目录下的镜像目录下的内容总数进行比较;
如果内容总数相同,则拷贝完成;否则进行获取预设目录和操作系统目录下的镜像目录中的文件或目录差异,并单独进行文件或目录拷贝,拷贝完成后再次对两个目录下的内容总数进行比较,直到内容总数相同,则拷贝完成。
进一步,所述根据系统镜像的名称将系统镜像文件拷贝至tftp下载目录下的镜像目录,包括:
若系统镜像为Kylin系统的镜像,将操作系统目录下的镜像目录中的initrd文件和vmlinuz文件拷贝至tftp下载目录下的镜像目录中;
若系统镜像为UOS系统的镜像,将操作系统目录下的镜像目录中的文件和文件夹全部拷贝至tftp下载目录下的镜像目录中。
进一步,所述通过执行可执行文件b.exe对PXE配置文件进行适配,完成一次操作系统的PXE部署,包括:
定义两个指针,将接收镜像目录名称和指令名称分别保存在指针对应的字符串地址中;
建立文件描述符、定义文件路径,并定义追加写入内容字符串,以组合封装吸入PXE配置文件;
读取存储镜像目录名称的字符串,判断系统镜像的名称;
根据系统镜像的名称,利用fputs命令对相应的grub.cfg配置文件进行多次写入操作,完成一次相应操作系统的PXE部署。
进一步,所述根据系统镜像的名称,利用fputs命令对相应的grub.cfg配置文件进行多次写入操作,完成一次相应操作系统的PXE部署,包括:
若系统镜像为UOS系统的镜像,利用fputs命令对grub.cfg配置文件进行写入操作fputs(uos_1,fp)、fputs(uos_2,fp)、fputs(uos_3,fp)、fputs(uos_4,fp)、fputs(normal_1,fp),五次写入后,完成一次UOS操作系统的PXE部署。
进一步,所述根据系统镜像的名称,利用fputs命令对相应的grub.cfg配置文件进行多次写入操作,完成一次相应操作系统的PXE部署,包括:
若系统镜像为Kylin系统的镜像,利用fputs命令对grub.cfg配置文件进行写入操作fputs(kylin_1,fp)、fputs(kylin_2,fp、fputs(kylin_3,fp)、fputs(normal_1,fp),四次写入后,完成一次Kylin操作系统的PXE部署。
相应的,本发明还公开了一种定制化国产操作系统PXE的自动部署系统,包括:
脚本编写单元,用于基于shell脚本语言编写镜像处理及PXE目录生成脚本a.sh;
数据存储单元,用于运行shell脚本a.sh,在shell脚本a.sh执行过程中获取指令镜像检验数据,并进行存储;
镜像解包单元,用于挂载系统镜像至预设目录下,建立操作系统目录下的镜像目录,将系统镜像拷贝至所述镜像目录中;
镜像目录创建单元,用于获取系统镜像的名称,建立tftp下载目录下的镜像目录,根据系统镜像的名称将系统镜像文件拷贝至tftp下载目录下的镜像目录,以供PXE调用;
数据写入单元,用于调用可执行文件b.exe,将镜像目录名称和指令名称传递至可执行文件b.exe中;
适配单元,用于通过执行可执行文件b.exe对PXE配置文件进行适配,完成一次操作系统的PXE部署。
相应的,本发明公开了一种定制化国产操作系统PXE的自动部署装置,包括:
存储器,用于存储定制化国产操作系统PXE的自动部署程序;
处理器,用于执行所述定制化国产操作系统PXE的自动部署程序时实现如上文任一项所述定制化国产操作系统PXE的自动部署方法的步骤。
对比现有技术,本发明有益效果在于:
1、本发明利用脚本和可执行文件来替代所有人工操作,完整且准确地进行定制化国产操作系统进行的处理,实现了定制化国产操作系统PXE自动部署适配及维护的功能。
2、本发明通过shell脚本a.sh对镜像进行处理、解压文件、建立镜像文件夹、维护测试数据供测试过程使用;利用可执行文件b.exe对PXE配置文件进行适配,从而实现了定制化国产操作系统PXE自动部署的效果。
3、运行本发明后,工程师只需要手动执行一个脚本,传递几个参数,即可自动进行PXE适配和镜像测试数据维护,节约了海量的时间,节约了大量的人力成本。
4、本发明实现了操作系统镜像的自动适配和维护,提高了镜像适配和维护的可靠性,避免了很多异常问题乃至客诉。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
附图1是本发明具体实施方式的方法流程图。
附图2是本发明具体实施方式的系统结构图。
图中,1为脚本编写单元;2为数据存储单元;3为镜像解包单元;4为镜像目录创建单元;5为数据写入单元;6为适配单元。
具体实施方式
本发明的核心是提供一种定制化国产操作系统PXE的自动部署方法,现有技术中,凡是涉及到客户定制化镜像的订单,就需要工厂主场工程师对客户定制化系统镜像进行手动的PXE适配和系统数据维护,如若出现漏维护、手动维护异常、客户要求系统与镜像对应关系弄混等等情况,在工厂内发现问题则涉及到大批量的机器返工,发货才发现则会造成严重客诉问题。
而本发明提供的定制化国产操作系统PXE的自动部署方法,首先,运行shell脚本a.sh,在shell脚本a.sh执行过程中获取指令镜像检验数据,并进行存储;然后,挂载系统镜像至预设目录下,建立操作系统目录下的镜像目录,将系统镜像拷贝至所述镜像目录中。此时,获取系统镜像的名称,建立tftp下载目录下的镜像目录,根据系统镜像的名称将系统镜像文件拷贝至tftp下载目录下的镜像目录,以供PXE调用。拷贝完成后,调用可执行文件b.exe,将镜像目录名称和指令名称传递至可执行文件b.exe中。最后,通过执行可执行文件b.exe对PXE配置文件进行适配,完成一次操作系统的PXE部署。由此可见,本发明能够自动化地对客户要求的系统镜像进行适配、对测试过程比对数据进行自动维护。节约了PXE适配及维护过程所需的大量时间成本,且避免了人为适配失误造成的客诉问题。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
如图1所示,本实施例提供了一种定制化国产操作系统PXE的自动部署方法,包括如下步骤:
S1:基于shell脚本语言编写镜像处理及PXE目录生成脚本a.sh。
S2:运行shell脚本a.sh,在shell脚本a.sh执行过程中获取指令镜像检验数据,并进行存储。
具体来说,首先,根据shell脚本a.sh执行过程中传递进来的镜像名参数、指令号参数和机型参数获取定制化镜像名、指令号和对应机型。然后,将命令行传递进来的镜像名参数、指令号参数和机型参数分别存储于shell脚本局部变量str1、str2、str3中供后续使用。最后,将接收到的镜像名字符串str1去掉.iso后缀存储至镜像目录str4。
作为示例的,本步骤包括:
根据shell脚本a.sh执行过程中传递进来的参数0、参数1及参数2获取“定制化镜像名”、“指令号”及“对应机型”,将命令行传递进来的三个参数分别存储于shell脚本局部变量str1、str2、str3中供后续使用,将接收到的镜像名字符串str1去掉.iso后缀存储至str4。
S3:挂载系统镜像至预设目录下,建立操作系统目录下的镜像目录,将系统镜像拷贝至所述镜像目录中。
具体来说,首先,挂载系统镜像至预设目录下,建立操作系统目录下的镜像目录,将默认路径指向操作系统目录下的镜像目录,将预设目录下的所有文件、隐藏文件、文件夹和隐藏文件夹全部拷贝至操作系统目录下的镜像目录中。拷贝完成后进行目录文件比较,若无文件差异则拷贝完成。
其中,拷贝完成后进行目录文件的比较国产包括:分别取预设目录和操作系统目录下的镜像目录下的内容总数进行比较;如果内容总数相同,则拷贝完成;否则进行获取预设目录和操作系统目录下的镜像目录中的文件或目录差异,并单独进行文件或目录拷贝,拷贝完成后再次对两个目录下的内容总数进行比较,直到内容总数相同,则拷贝完成。
作为示例的,本步骤具体包括:
挂载镜像至/mnt(mount-o loop$str1/mnt),建立OS目录下的镜像名目录(mkdir/var/xx/xxx/OS/$str4),将默认路径指向镜像目录(cd/var/xx/xxx/OS/$str4),将/mnt下的所有文件、影藏文件、文件夹、隐藏文件夹全部拷贝至已建立的$str4镜像名目录中(cp–ar/mnt/*.),拷贝完成后进行目录文件比较,分别取两个目录下内容总数进行比较(add_1=ls–lart/mnt|wc-l;add2=ls–lart/var/xx/xxx/OS/$str4|wc-l),如若if(add_1–eqadd_2)=1则拷贝完整,else否则进行diff/mnt/var/xx/xxx/OS/$str4得到文件/目录差异,单独进行文件/目录拷贝(cp–ar/mnt/差异文件名/var/xx/xxx/OS/$str4/),拷贝完成后再次进行取值比对,直到if(add_1–eq add_2)=1方可进行下一步。
S4:获取系统镜像的名称,建立tftp下载目录下的镜像目录,根据系统镜像的名称将系统镜像文件拷贝至tftp下载目录下的镜像目录,以供PXE调用。
其中,若系统镜像为Kylin系统的镜像,将操作系统目录下的镜像目录中的initrd文件和vmlinuz文件拷贝至tftp下载目录下的镜像目录中;若系统镜像为UOS系统的镜像,将操作系统目录下的镜像目录中的文件和文件夹全部拷贝至tftp下载目录下的镜像目录中。
作为示例的,本步骤具体包括:
if[[$string==*"Kylin"*]]则认为该客户定制化操作系统镜像为麒麟,建立tftpboot下的镜像目录(mkdir/tftpboot/$str4),将/var/xx/xxx/OS/$str4/casper/目录内所有文件及文件夹拷贝至/tftpboot/$str4中供PXE调用(cp–ar/var/xx/xxx/OS/$str4/casper//tftpboot/$str4/);else if[[$string==*"uniontechos"*]]则判定为UOS,同样的建立tftpboot下的镜像目录(mkdir/tftpboot/$str4),将/var/xx/xxx/OS/$str4/live/initrd.img和vmlinuz两个文件拷贝至/tftpboot/$str4/中供PXE调用(cp–ar/var/xx/xxx/OS/$str4/live/initrd.img vmlinuz/tftpboot/$str4/),至此a.sh功能已基本完成。
S5:调用可执行文件b.exe,将镜像目录名称和指令名称传递至可执行文件b.exe中。
具体为,调用可执行文件b.exe(../b.exe$str4$str2)将镜像目录名称和指令名称传递至可执行文件b.exe中。
S6:通过执行可执行文件b.exe对PXE配置文件进行适配,完成一次操作系统的PXE部署。
具体来说,可执行文件b.exe的执行过程包括以下三步:
1、定义两个指针,将接收镜像目录名称和指令名称分别保存在指针对应的字符串地址中。
作为示例的,建立main函数时定义argc和二级指针argv,如(int main(int argc,char*argv[]))用于接收第一阶段脚本a.sh调用b.exe时传递过来的镜像目录名称和指令名称。char*str1=&argv[0];char*str2=&argv[1](由于调用b.exe时只传递了两个参数,故argv取0和1)将传递过来的镜像项目录名称保存在字符地址str1中;指令名称保存在字符地址str2中。
2、建立文件描述符、定义文件路径,并定义追加写入内容字符串,以组合封装吸入PXE配置文件。
作为示例的,建立文件描述符fp(FILE*fp=NULL;);定义文件路径file_str(char*file_str=”/tftpboot/uos-arm/grub.cfg”;);定义追加写入内容字符串uos_1(char uos_1[50];memset(uos_1,0x00,sizeof(uos_1));sprintf(uos_1,”menuentry/"%s_UOS{\n”,str1));定义追加写入内容字符串uos_2(char uos_2[50];memset(uos_2,0x00,sizeof(uos_2));sprint(uos_2,”%s\n”,””set gfxpayload=keep”));定义追加写入字符串uos_3(char uos_3[500];memset(uos_3,0x00,sizeof(uos_3));sprint(uos_3,”linux%s\/vmlinuz console=tty boot=live live netboot=nfs fetch=http:\/\/10.0.0.20\/OS\/%s.iso ip=dhcp componentsunion=overlay locales=zh_CN.UTF-8livecd-installer\n”,str1,str1));定义追加写入内容字符串uos_4(char uos_4[80];memset(uos_4,0x00,sizeof(uos_4));sprint(uos_4,”initrd%s/initrd.img\n”,str1));定义追加写入内容字符串kyin_1(char kylin_1[50];memset(kylin_1,0x00,sizeof(kylin_1));sprintf(kylin_1,”menuentry/"%s_Kylin{\n”,str1));定义追加写入内容字符串kyin_2(char kylin_2[300];memset(kylin_2,0x00,sizeof(kylin_2));sprintf(kylin_2,”linux\/%s\/vmlinuz root=\/dev\/ram0 boot=casper netboot=url url=http:\/\/10.0.0.20\/OS\/%s.iso rootwait ip=dhcp ro locale=zh_CNKEYBOARDTYPE=pc KEYTABLE=us ignore_uuid loglevel=7console=tty automaticsecurity=\n”,str1,str1));定义追加写入内容字符串kyin_3(charkylin_3[50];memset(kylin_3,0x00,sizeof(kylin_3));sprintf(kylin_3,”initrd\/%s\/initrd.lz”,str1));定义通用结束符normal_1(sprintf(normal_1,”}”,1););以上定义的字符串均用来组合封装写入PXE配置文件。
3、读取存储镜像目录名称的字符串,判断系统镜像的名称;根据系统镜像的名称,利用fputs命令对相应的grub.cfg配置文件进行多次写入操作,完成一次相应操作系统的PXE部署。
作为示例的,系统调用fopen_s(fopen_s(&fp,file_str,“a+”);)打开grub.cfg配置文件,利用fp文件描述符对其进行追加写入(a+)操作,在传递过来的str1镜像名称字符串内判断镜像为UOS还是Kylin。strstr(str1,“uos”)和strstr(str1,“oem”)返回结果只要有一个不为NULL,则判断为UOS系统,利用fputs对grub.cfg文件进行写入操作fputs(uos_1,fp);fputs(uos_2,fp);fputs(uos_3,fp);fputs(uos_4,fp);fputs(normal_1,fp);五次写入后,即完成一次客户定制化UOS国产操作系统的PXE部署。strstr(str1,“Kylin”)和strstr(str1,“KYLIN”)返回结果只要有一个不为NULL,则判断为麒麟系统,利用fputs对grub.cfg文件进行写入操作fputs(kylin_1,fp);fputs(kylin_2,fp);fputs(kylin_3,fp);fputs(normal_1,fp);四次写入后,即完成一次客户定制化麒麟国产操作系统的PXE部署。最后只需进行fclose(fp)关闭文件描述符后,b.exe即执行完毕。
上述过程通过shell脚本a.sh对镜像进行处理、解压文件、建立镜像文件夹、维护测试数据供测试过程使用;利用C语言可执行文件b.exe对PXE配置文件进行适配,从而实现了定制化国产操作系统PXE自动部署的效果。
特别指出的是,本方法并不依赖于所罗列的几种编程语言,实现上述功能的脚本语言及底层编程语言很多;使用C语言、shell脚本只是本方法的一种实现方式。使用者只需要实现对镜像的解包、镜像目录的创建、数据库的测试数据写入、不同国产操作系统的PXE文件及文件夹适配即可。
实施例二:
基于实施例一,如图2所示,本发明还公开了一种定制化国产操作系统PXE的自动部署系统,包括:脚本编写单元1、数据存储单元2、镜像解包单元3、镜像目录创建单元4、数据写入单元5和适配单元6。
脚本编写单元1,用于基于shell脚本语言编写镜像处理及PXE目录生成脚本a.sh。
数据存储单元2,用于运行shell脚本a.sh,在shell脚本a.sh执行过程中获取指令镜像检验数据,并进行存储。
镜像解包单元3,用于挂载系统镜像至预设目录下,建立操作系统目录下的镜像目录,将系统镜像拷贝至所述镜像目录中。
镜像目录创建单元4,用于获取系统镜像的名称,建立tftp下载目录下的镜像目录,根据系统镜像的名称将系统镜像文件拷贝至tftp下载目录下的镜像目录,以供PXE调用。
数据写入单元5,用于调用可执行文件b.exe,将镜像目录名称和指令名称传递至可执行文件b.exe中。
适配单元6,用于通过执行可执行文件b.exe对PXE配置文件进行适配,完成一次操作系统的PXE部署。
本实施例提供了一种定制化国产操作系统PXE的自动部署系统,通过shell脚本a.sh对镜像进行处理、解压文件、建立镜像文件夹、维护测试数据供测试过程使用;利用可执行文件b.exe对PXE配置文件进行适配,从而实现了定制化国产操作系统PXE自动部署的效果。
实施例三:
本实施例公开了一种定制化国产操作系统PXE的自动部署装置,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的定制化国产操作系统PXE的自动部署程序时实现以下步骤:
1、基于shell脚本语言编写镜像处理及PXE目录生成脚本a.sh。
2、运行shell脚本a.sh,在shell脚本a.sh执行过程中获取指令镜像检验数据,并进行存储。
3、挂载系统镜像至预设目录下,建立操作系统目录下的镜像目录,将系统镜像拷贝至所述镜像目录中。
4、获取系统镜像的名称,建立tftp下载目录下的镜像目录,根据系统镜像的名称将系统镜像文件拷贝至tftp下载目录下的镜像目录,以供PXE调用。
5、调用可执行文件b.exe,将镜像目录名称和指令名称传递至可执行文件b.exe中。
6、通过执行可执行文件b.exe对PXE配置文件进行适配,完成一次操作系统的PXE部署。
进一步的,本实施例中的定制化国产操作系统PXE的自动部署装置,还可以包括:
输入接口,用于获取外界导入的定制化国产操作系统PXE的自动部署程序,并将获取到的定制化国产操作系统PXE的自动部署程序保存至所述存储器中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器中,以便处理器利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口具体可以包括但不限于USB接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。
输出接口,用于将处理器产生的各种数据输出至与其相连的终端设备,以便于与输出接口相连的其他终端设备能够获取到处理器产生的各种数据。本实施例中,所述输出接口具体可以包括但不限于USB接口、串行接口等。
通讯单元,用于在定制化国产操作系统PXE的自动部署装置和外部服务器之间建立远程通讯连接,以便于定制化国产操作系统PXE的自动部署装置能够将镜像文件挂载到外部服务器中。本实施例中,通讯单元具体可以包括但不限于基于无线通讯技术或有线通讯技术的远程通讯单元。
键盘,用于获取用户通过实时敲击键帽而输入的各种参数数据或指令。
显示器,用于运行服务器供电线路短路定位过程的相关信息进行实时显示。
鼠标,可以用于协助用户输入数据并简化用户的操作。
综上所述,本发明能够自动化地对客户要求的系统镜像进行适配、对测试过程比对数据进行自动维护。节约了PXE适配及维护过程所需的大量时间成本,且避免了人为适配失误造成的客诉问题。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的系统相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的定制化国产操作系统PXE的自动部署方法、系统及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种定制化国产操作系统PXE的自动部署方法,其特征在于,包括:
基于shell脚本语言编写镜像处理及PXE目录生成脚本a.sh;
运行shell脚本a.sh,在shell脚本a.sh执行过程中获取指令镜像检验数据,并进行存储;
挂载系统镜像至预设目录下,建立操作系统目录下的镜像目录,将系统镜像拷贝至所述镜像目录中;
获取系统镜像的名称,建立tftp下载目录下的镜像目录,根据系统镜像的名称将系统镜像文件拷贝至tftp下载目录下的镜像目录,以供PXE调用;
调用可执行文件b.exe,将镜像目录名称和指令名称传递至可执行文件b.exe中;通过执行可执行文件b.exe对PXE配置文件进行适配,完成一次操作系统的PXE部署。
2.根据权利要求1所述的定制化国产操作系统PXE的自动部署方法,其特征在于,所述shell脚本a.sh执行过程中获取指令镜像检验数据,并进行存储,包括:根据shell脚本a.sh执行过程中传递进来的镜像名参数、指令号参数和机型参数获取定制化镜像名、指令号和对应机型;
将命令行传递进来的镜像名参数、指令号参数和机型参数分别存储于shell脚本局部变量str1、str2、str3中供后续使用,将接收到的镜像名字符串str1去掉.iso后缀存储至镜像目录str4。
3.根据权利要求1所述的定制化国产操作系统PXE的自动部署方法,其特征在于,所述挂载系统镜像至预设目录下,建立操作系统目录下的镜像目录,将系统镜像拷贝至所述镜像目录中,包括:
挂载系统镜像至预设目录下,建立操作系统目录下的镜像目录,将默认路径指向操作系统目录下的镜像目录,将预设目录下的所有文件、隐藏文件、文件夹和隐藏文件夹全部拷贝至操作系统目录下的镜像目录中;
拷贝完成后进行目录文件比较,若无文件差异则拷贝完成。
4.根据权利要求3所述的定制化国产操作系统PXE的自动部署方法,其特征在于,所述拷贝完成后进行目录文件比较,包括
分别取预设目录和操作系统目录下的镜像目录下的内容总数进行比较;
如果内容总数相同,则拷贝完成;否则进行获取预设目录和操作系统目录下的镜像目录中的文件或目录差异,并单独进行文件或目录拷贝,拷贝完成后再次对两个目录下的内容总数进行比较,直到内容总数相同,则拷贝完成。
5.根据权利要求3所述的定制化国产操作系统PXE的自动部署方法,其特征在于,所述根据系统镜像的名称将系统镜像文件拷贝至tftp下载目录下的镜像目录,包括:
若系统镜像为Kylin系统的镜像,将操作系统目录下的镜像目录中的initrd文件和vmlinuz文件拷贝至tftp下载目录下的镜像目录中;
若系统镜像为UOS系统的镜像,将操作系统目录下的镜像目录中的文件和文件夹全部拷贝至tftp下载目录下的镜像目录中。
6.根据权利要求1所述的定制化国产操作系统PXE的自动部署方法,其特征在于,所述通过执行可执行文件b.exe对PXE配置文件进行适配,完成一次操作系统的PXE部署,包括:
定义两个指针,将接收镜像目录名称和指令名称分别保存在指针对应的字符串地址中;
建立文件描述符、定义文件路径,并定义追加写入内容字符串,以组合封装吸入PXE配置文件;
读取存储镜像目录名称的字符串,判断系统镜像的名称;
根据系统镜像的名称,利用fputs命令对相应的grub.cfg配置文件进行多次写入操作,完成一次相应操作系统的PXE部署。
7.根据权利要求6所述的定制化国产操作系统PXE的自动部署方法,其特征在于,所述根据系统镜像的名称,利用fputs命令对相应的grub.cfg配置文件进行多次写入操作,完成一次相应操作系统的PXE部署,包括:
若系统镜像为UOS系统的镜像,利用fputs命令对grub.cfg配置文件进行写入操作fputs(uos_1,fp)、fputs(uos_2,fp)、fputs(uos_3,fp)、fputs(uos_4,fp)、fputs(normal_1,fp),五次写入后,完成一次UOS操作系统的PXE部署。
8.根据权利要求6所述的定制化国产操作系统PXE的自动部署方法,其特征在于,所述根据系统镜像的名称,利用fputs命令对相应的grub.cfg配置文件进行多次写入操作,完成一次相应操作系统的PXE部署,包括:
若系统镜像为Kylin系统的镜像,利用fputs命令对grub.cfg配置文件进行写入操作fputs(kylin_1,fp)、fputs(kylin_2,fp、fputs(kylin_3,fp)、
fputs(normal_1,fp),四次写入后,完成一次Kylin操作系统的PXE部署。
9.一种定制化国产操作系统PXE的自动部署系统,其特征在于,包括:
脚本编写单元,用于基于shell脚本语言编写镜像处理及PXE目录生成脚本a.sh;数据存储单元,用于运行shell脚本a.sh,在shell脚本a.sh执行过程中获取指令镜像检验数据,并进行存储;
镜像解包单元,用于挂载系统镜像至预设目录下,建立操作系统目录下的镜像目录,将系统镜像拷贝至所述镜像目录中;
镜像目录创建单元,用于获取系统镜像的名称,建立tftp下载目录下的镜像目录,根据系统镜像的名称将系统镜像文件拷贝至tftp下载目录下的镜像目录,以供PXE调用;
数据写入单元,用于调用可执行文件b.exe,将镜像目录名称和指令名称传递至可执行文件b.exe中;
适配单元,用于通过执行可执行文件b.exe对PXE配置文件进行适配,完成一次操作系统的PXE部署。
10.一种定制化国产操作系统PXE的自动部署装置,其特征在于,包括:
存储器,用于存储定制化国产操作系统PXE的自动部署程序;
处理器,用于执行所述定制化国产操作系统PXE的自动部署程序时实现如权利要求1至8任一项权利要求所述的定制化国产操作系统PXE的自动部署方法的步骤。
CN202111662102.6A 2021-12-30 2021-12-30 一种定制化国产操作系统pxe的自动部署方法、系统及装置 Active CN114443068B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111662102.6A CN114443068B (zh) 2021-12-30 2021-12-30 一种定制化国产操作系统pxe的自动部署方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111662102.6A CN114443068B (zh) 2021-12-30 2021-12-30 一种定制化国产操作系统pxe的自动部署方法、系统及装置

Publications (2)

Publication Number Publication Date
CN114443068A true CN114443068A (zh) 2022-05-06
CN114443068B CN114443068B (zh) 2023-11-14

Family

ID=81366301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111662102.6A Active CN114443068B (zh) 2021-12-30 2021-12-30 一种定制化国产操作系统pxe的自动部署方法、系统及装置

Country Status (1)

Country Link
CN (1) CN114443068B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220054A (zh) * 2017-05-26 2017-09-29 郑州云海信息技术有限公司 快速自动配置redhat7操作系统PXE环境的方法
CN110489134A (zh) * 2019-07-26 2019-11-22 苏州浪潮智能科技有限公司 一种pxe服务器和高性能集群环境的部署方法及系统
CN111240707A (zh) * 2020-01-19 2020-06-05 苏州浪潮智能科技有限公司 一种通过pxe网络灌装存储系统的方法和装置
CN112230942A (zh) * 2020-09-28 2021-01-15 烽火通信科技股份有限公司 一种支持多种国产化操作系统的自动化部署方法与系统
CN113590140A (zh) * 2021-06-29 2021-11-02 济南浪潮数据技术有限公司 一种可视化pxe系统的制作方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220054A (zh) * 2017-05-26 2017-09-29 郑州云海信息技术有限公司 快速自动配置redhat7操作系统PXE环境的方法
CN110489134A (zh) * 2019-07-26 2019-11-22 苏州浪潮智能科技有限公司 一种pxe服务器和高性能集群环境的部署方法及系统
CN111240707A (zh) * 2020-01-19 2020-06-05 苏州浪潮智能科技有限公司 一种通过pxe网络灌装存储系统的方法和装置
CN112230942A (zh) * 2020-09-28 2021-01-15 烽火通信科技股份有限公司 一种支持多种国产化操作系统的自动化部署方法与系统
CN113590140A (zh) * 2021-06-29 2021-11-02 济南浪潮数据技术有限公司 一种可视化pxe系统的制作方法及系统

Also Published As

Publication number Publication date
CN114443068B (zh) 2023-11-14

Similar Documents

Publication Publication Date Title
CN106980504B (zh) 一种应用程序开发方法及其工具、设备
US20210337015A1 (en) Method and system of application development for multiple device client platforms
CN110554938B (zh) 一种基于脚本集合的bios测试方法、系统、终端及存储介质
CN112257008B (zh) 一种在线自定义流程运行系统、方法、介质和服务器
CN106648569A (zh) 目标序列化实现方法和装置
CN113778391A (zh) 原生应用程序的页面处理方法、装置及设备
CN114443068A (zh) 一种定制化国产操作系统pxe的自动部署方法、系统及装置
CN112000334A (zh) 页面开发方法、装置、服务器及存储介质
CN112835568A (zh) 一种项目构建方法和装置
US7487227B2 (en) Scripting engine having a sequencer table and a plurality of secondary tables for network communication software
WO2022099913A1 (zh) 界面配置方法、装置、设备及介质
CN113094086B (zh) 组件集成方法、装置、计算机可读存储介质及电子设备
CN114564213A (zh) 预装软件部署方法、系统、终端及存储介质
CN110324345B (zh) 服务器的登陆方法、装置、存储介质及终端
US11030087B2 (en) Systems and methods for automated invocation of accessibility validations in accessibility scripts
Zheng et al. Preparation
CN113608752A (zh) 智能网卡系统的安装方法、系统、装置及可读存储介质
CN108664456B (zh) 一种动态构造文档中的显示元素的功能的方法
CN111143193A (zh) 基于RobotFramework的大数据服务测试方法、系统、终端及存储介质
CN113722538B (zh) 一种界面动态渲染方法及装置
Bui Web components: concept and implementation
CN115509634A (zh) 输入法配置方法、字符输入方法、设备及介质
CN111782282B (zh) 启动程序加载方法和装置、电子设备和存储介质
CN111459469A (zh) 项目代码初始化方法、装置及设备
CN116700774A (zh) 应用程序管理系统以及应用程序管理方法

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
GR01 Patent grant
GR01 Patent grant