CN114047925A - 隔离编译环境的构建方法、装置、设备及存储介质 - Google Patents

隔离编译环境的构建方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114047925A
CN114047925A CN202111406684.1A CN202111406684A CN114047925A CN 114047925 A CN114047925 A CN 114047925A CN 202111406684 A CN202111406684 A CN 202111406684A CN 114047925 A CN114047925 A CN 114047925A
Authority
CN
China
Prior art keywords
host
environment
target source
isolation environment
source code
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
CN202111406684.1A
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.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software 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 Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202111406684.1A priority Critical patent/CN114047925A/zh
Publication of CN114047925A publication Critical patent/CN114047925A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种隔离编译环境的构建方法、装置、设备及存储介质,其中,隔离编译环境的构建方法包括:基于Linux内核命名空间,创建隔离环境,其中,隔离环境与主机的文件系统挂载点隔离;将编译目标源代码的主机工具集挂载在隔离环境中并在隔离环境中形成Linux系统目录结构,其中,隔离环境中的Linux系统目录结构与主机工具集在主机中的目录结构相同;将目标源代码在主机中的顶层目录挂载在隔离环境中,其中,目标源代码在隔离环境中的顶层目录的绝对路径与目标源代码在主机中的顶层目录的绝对路径相同等步骤。本申请具有操作简单、不依赖主机的文件目录、构建速度快、不影响编译耗时、占用资源小、用户无感知的优点。

Description

隔离编译环境的构建方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种隔离编译环境的构建方法、装置、设备及存储介质。
背景技术
目前,许多开发软件的编译开发环境都直接运行于系统目录中,在编译应用程序时,通过设置环境变量的方式来寻找系统目录下的编译工具,当编译环境需要迁移时,则需要新的系统中重新安装编译工具,并需要保持与之前的主机工具版本一致,比较耗费时间人力,所述现有技术出现了以docker容器技术为载体,用以构建编译环境,使得编译环境与主机系统目录分隔开来,解开与主机系统的耦合,让编译环境在各个Linux系统中迁移更加方便。然而使用docker容器技术,需要目标linux系统上安装docker软件及容器镜像,占用了一定的系统资源。拉起镜像也需要消耗时间,整体的编译速度会受到影响。同时也对使用者有技术要求,需要熟悉docker的使用、镜像维护等。
发明内容
本申请实施例的目的在于提供一种隔离编译环境的构建方法、装置、设备及存储介质,用以实现对源代码进行编译,并且实现源代码的编译过程不依赖主机的文件目录,降低编译过程对主机的资源消耗。
为此,本申请第一方面公开一种隔离编译环境的构建方法,所述方法包括:
基于Linux内核命名空间,创建隔离环境,其中,所述隔离环境与所述主机的文件系统挂载点隔离;
将编译目标源代码的主机工具集挂载在所述隔离环境中并在所述隔离环境中形成Linux系统目录结构,其中,所述隔离环境中的所述Linux系统目录结构与所述主机工具集在主机中的目录结构相同;
将所述目标源代码在主机中的顶层目录挂载在所述隔离环境中,其中,所述目标源代码在所述隔离环境中的顶层目录的绝对路径与所述目标源代码在主机中的顶层目录的绝对路径相同。
在本申请第一方面中,作为一种可选的实施方式中,
在所述将所述目标源代码在主机中的顶层目录挂载在所述隔离环境中之后,所述方法还包括:
响应用户针对所述目标源代码的编译请求,调用根目录修改命令将编译命令进程根目录修改为所述隔离环境的环境目录;
基于所述隔离环境中的所述Linux系统目录结构调用所述主机工具集;
基于所述隔离环境中的顶层目录的绝对路径读取所述目标源代码;
基于所述主机工具集对所述目标源代码进行编译。
在本申请第一方面中,作为一种可选的实施方式,所述将编译目标源代码的主机工具集挂载在隔离环境中并在所述隔离环境中形成Linux系统目录结构,包括:
通过所述主机的挂载命令将所述编译目标源代码的所述主机工具集挂载在所述隔离环境中。
在本申请第一方面中,作为一种可选的实施方式,所述将所述目标源代码在主机中的顶层目录挂载在所述隔离环境中,包括:
通过所述主机的挂载命令将所述目标源代码在主机中的顶层目录挂载在所述隔离环境中。
在本申请第一方面中,作为一种可选的实施方式,在响应用户针对所述目标源代码的编译请求,并基于所述隔离环境对所述目标源代码进行编译之前,所述方法还包括:
在所述隔离环境中挂载虚拟文件系统,所述虚拟文件系统包括proc文件系统、dev文件系统、tmp文件系统。
本申请第二方面公开一种隔离编译环境的构建装置,所述装置包括:
创建模块,用于基于Linux内核命名空间,创建隔离环境,其中,所述隔离环境与所述主机的文件系统挂载点隔离;
挂载模块,用于将编译目标源代码的主机工具集挂载在所述隔离环境中并在所述隔离环境中形成Linux系统目录结构,其中,所述隔离环境中的所述Linux系统目录结构与所述主机工具集在主机中的目录结构相同;所述挂载模块,还用于将所述目标源代码在主机中的顶层目录挂载在所述隔离环境中,其中,所述目标源代码在所述隔离环境中的顶层目录的绝对路径与所述目标源代码在主机中的顶层目录的绝对路径相同。
在本申请第二方面中,作为一种可选的实施方式,所述装置还包括:
目录修改模块,用于响应用户针对所述目标源代码的编译请求并调用根目录修改命令将编译命令进程根目录修改为所述隔离环境的环境目录;
编译模块,用于基于所述隔离环境中的所述Linux系统目录结构调用所述主机工具集;
所述编译模块,还用于基于所述隔离环境中的顶层目录的绝对路径读取所述目标源代码;
所述编译模块,还用于基于所述主机工具集对所述目标源代码进行编译。
在本申请第二方面,作为一种可选的方式,所述挂载模块,包括:
第一挂载子模块,用于通过所述主机的挂载命令将所述编译目标源代码的所述主机工具集挂载在所述隔离环境中并在所述隔离环境中形成Linux系统目录结构。
本申请第三方面公开一种隔离编译环境的构建装置,所述隔离编译环境的构建设备包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本申请第一方面公开的隔离编译环境的构建方法。
本申请第四方面公开一种存储介质,所述存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本申请第一方面的隔离编译环境的构建方法。
本申请实施例的有益效果为:本申请能够构建一个用于编译目标源代码的隔离环境,并且本申请与现有技术通过docker容器技术构建编译环境这一方式相比,不需要安装其他运行依赖软件,且可以避免安装依赖软件所导致的资源消耗大这类问题,进而具有构建速度快不影响编译耗时,占用资源小的优点。另一方面,本申请实施的隔离环境构建过程,用户无感知,例如,在编译时,用户通过环境变量对make命令进行重定向,即可在运行make时自动构建隔离环境而实现用户无感知。再一方面,本申请与现有技术通过docker容器技术构建编译环境这一方式相比,本申请的隔离环境与Makefile使用方法一致,无需学习额外的技术知识,因此具有操作简单的优点。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本申请实施例公开一种隔离编译环境的构建方法的流程示意图;
图2是本申请实施例公开的一种隔离环境的架构示意;
图3是本申请实施例公开的一种步骤102的效果示意;
图4是本申请实施例公开种隔离编译环境的构建装置的结构示意图;
图5是本申请实施例公开种隔离编译环境的构建设备的结构示意图。
具体实施方式
实施例一
请参阅图1,图1是本申请实施例公开种隔离编译环境的构建方法的流程示意图。如图1所示,本申请实施例的方法包括以下步骤:
101、基于Linux内核命名空间,创建隔离环境,其中,隔离环境与主机的文件系统挂载点隔离;
102、将编译目标源代码的主机工具集挂载在隔离环境中并在隔离环境中形成Linux系统目录结构,其中,隔离环境中的Linux系统目录结构与主机工具集在主机中的目录结构相同;
103、将目标源代码在主机中的顶层目录挂载在隔离环境中,其中,目标源代码在隔离环境中的顶层目录的绝对路径与目标源代码在主机中的顶层目录的绝对路径相同。
在本申请实施例中,关于Linux内核命名空间请参照现有技术的详细说明,本申请实施例对此不作赘述。另一方面,如图2,所示,本申请实施例的隔离环境是指用于完成目标源代码编译的虚拟系统环境,其与主机中的原有系统的环境共享主机的系统资源,但是两者相互隔绝。
在本申请实施例中,隔离环境与主机的文件系统挂载点隔离是指隔离环境的的根目录与主机的根目录隔离。
在本申请实施例中,对于步骤101,由于隔离环境与主机的文件系统挂载点隔离,因此在隔离环境中进行编译,能够使得用于编译的工具只能在隔离环境内部使用、输出文件,达到沙盒化隔离的效果。
在本申请实施例中,对于步骤102,将编译目标源代码的主机工具集挂载在隔离环境中是指将编译目标源代码的主机工具集挂载在隔离环境的根目录下,另一方面,目标源代码的主机工具集挂载在隔离环境的路径根目录不相同,而文件目录结构相同,例如,如图3所示,主机工具通常在bin文件目录、或etc文件目录等文件目录下,其中,bin文件目录、或etc文件目录形成了整体文件目录结构,相应地,在挂载后,隔离环境也有bin文件目录、或etc文件等文件目录,即主机工具集在隔离环境的根目录和主机中的根目录不相同,但是主机工具集在Linux系统目录结构与主机的目录结构相同,这样一来,就能够在隔离环境中模拟主机目录结构,无需重新改造的编译目录结构,即无需适配控制编译的脚本、命令中关于路径。
在本申请实施例中,对于步骤103,将目标源代码在隔离环境中的顶层目录的绝对路径与目标源代码在主机中的顶层目录的绝对路径相同,能够使得在隔离环境构建后,编译命令、脚本工具无需改变,用户使用无感知,假设目标源代码在主机中的顶层目录的绝对路径的为”/home/projA/”,其挂载后在主机中映射为”/环境目录/home/projA/”。相应地,创建隔离环境调用根目录修改命令后,目标源代码在隔离环境中的顶层目录的绝对路径的也为“/home/projA/”由上可知,本申请实施例能够构建一个用于编译目标源代码的隔离环境,并且本申请实施例与现有技术通过docker容器技术构建编译环境这一方式相比,不需要安装其他运行依赖软件,且可以避免安装依赖软件所导致的资源消耗大这类问题,进而具有构建速度快不影响编译耗时,占用资源小的优点。另一方面,本申请实施的隔离环境构建过程,用户无感知,例如,在编译时,用户通过环境变量对make命令进行重定向,即可在运行make时自动构建隔离环境而实现用户无感知。再一方面,本申请实施例与现有技术通过docker容器技术构建编译环境这一方式相比,本申请实施例的隔离环境与Makefile使用方法一致,无需学习额外的技术知识,因此具有操作简单的优点。
在本申请实施例中,作为一种可选的实施方式,在步骤103:将目标源代码在主机中的顶层目录挂载在隔离环境中之后,本申请实施例的方法还包括以下步骤:
响应用户针对目标源代码的编译请求,调用根目录修改命令将编译命令进程根目录修改为隔离环境的环境目录;
基于隔离环境中的Linux系统目录结构调用主机工具集;
基于隔离环境中的顶层目录的绝对路径读取目标源代码;
基于主机工具集对目标源代码进行编译。
在本可选的实施方式中,根目录修改命令是指Linux系统中的“Chroot”命令。
在本申请实施例中,作为一种可选的实施方式,步骤102:将编译目标源代码的主机工具集挂载在隔离环境中并在隔离环境中形成Linux系统目录结构,包括:
通过主机的挂载命令将编译目标源代码的主机工具集挂载在隔离环境中并在隔离环境中形成Linux系统目录结构。
在本可选的实施方式中,主机的挂载命令是指Linux系统的“mount bind”命令。
在本申请实施例中,作为一种可选的实施方式,步骤103:将目标源代码在主机中的顶层目录挂载在隔离环境中,包括以下子步骤:
通过主机的挂载命令将目标源代码在主机中的顶层目录挂载在隔离环境中。
在本申请实施例中,作为一种可选的实施方式,在步骤105:响应用户针对目标源代码的编译请求,并基于隔离环境对目标源代码进行编译之前,本申请实施例的方法还包括步骤:
在隔离环境中挂载虚拟文件系统,虚拟文件系统包括proc文件系统、dev文件系统、tmp文件系统。在本可选的实施方式中,通过挂载虚拟文件系统,能够为隔离环境提供系统信息及必要的支持。
在本申请实施例中,作为一种可选的实施方式,步骤105:响应用户针对目标源代码的编译请求,并基于隔离环境对目标源代码进行编译,包括以下子步骤:
通过主机中的编译工具调用路径调用隔离环境中的编译工具对目标源代码进行编译,其中,编译工具调用路径存储在主机的环境变量中。
实施例二
请参阅图4,图4是本申请实施例公开的一种隔离编译环境的构建装置的结构示意图。如图4所示,本申请实施例的装置包括以下功能模块:
创建模块201,用于基于Linux内核命名空间,创建隔离环境,其中,隔离环境与主机的文件系统挂载点隔离;
挂载模块202,用于将编译目标源代码的主机工具集挂载在隔离环境中并在隔离环境中形成Linux系统目录结构,其中,隔离环境中的Linux系统目录结构与主机工具集在主机中的目录结构相同;
挂载模块202,还用于将目标源代码在主机中的顶层目录挂载在隔离环境中,其中,目标源代码在隔离环境中的顶层目录的绝对路径与目标源代码在主机中的顶层目录的绝对路径相同。
在本申请时候实施例中,作为一种可选的实施方式,本申请实施例的装置还包括以下功能模块:
目录修改模块203,用于响应用户针对目标源代码的编译请求并调用根目录修改命令将编译命令进程根目录修改为隔离环境的环境目录;
编译模块204,用于基于隔离环境中的Linux系统目录结构调用主机工具集;
其中,编译模块204,还用于基于隔离环境中的顶层目录的绝对路径读取目标源代码、基于主机工具集对目标源代码进行编译。
在本申请实施例中,作为一种可选的方式,挂载模块203,包括:
第一挂载子模块,用于通过主机的挂载命令将编译目标源代码的主机工具集挂载在隔离环境中。
在本申请实施例中,作为一种可选的方式,本申请实施例的挂载模块203,还包括以下子模块:
第二挂载子模块,用于通过主机的挂载命令将目标源代码在主机中的顶层目录挂载在隔离环境中。
通过执行基于Linux内核命名空间的构建方法,本申请实施例能够构建一个用于编译目标源代码的隔离环境,并且本申请实施例与现有技术通过docker容器技术构建编译环境这一方式相比,不需要安装其他运行依赖软件,且可以避免安装依赖软件所导致的资源消耗大这类问题,进而具有构建速度快不影响编译耗时,占用资源小的优点。另一方面,本申请实施的隔离环境构建过程,用户无感知,例如,在编译时,用户通过环境变量对make命令进行重定向,即可在运行make时自动构建隔离环境而实现用户无感知。再一方面,本申请实施例与现有技术通过docker容器技术构建编译环境这一方式相比,本申请实施例的隔离环境与Makefile使用方法一致,无需学习额外的技术知识,因此具有操作简单的优点。
需要说明的是,关于本申请实施例的其他说明,请参阅本申请实施例一的相关说明,本申请实施例对此不作赘述。
实施例三
请参阅图5,图5是本申请实施例公开的一种隔离编译环境的构建设备的结构示意图。如图5所示,本申请实施例的隔离编译环境的构建设备包括:
存储有可执行程序代码的存储器302;
与存储器耦合的处理器301;
处理器301调用存储器302中存储的可执行程序代码,执行本申请实施例一公开的隔离编译环境的构建方法。
通过执行基于Linux内核命名空间的构建方法,本申请实施例能够构建一个用于编译目标源代码的隔离环境,并且本申请实施例与现有技术通过docker容器技术构建编译环境这一方式相比,不需要安装其他运行依赖软件,且可以避免安装依赖软件所导致的资源消耗大这类问题,进而具有构建速度快不影响编译耗时,占用资源小的优点。另一方面,本申请实施的隔离环境构建过程,用户无感知,例如,在编译时,用户通过环境变量对make命令进行重定向,即可在运行make时自动构建隔离环境而实现用户无感知。再一方面,本申请实施例与现有技术通过docker容器技术构建编译环境这一方式相比,本申请实施例的隔离环境与Makefile使用方法一致,无需学习额外的技术知识,因此具有操作简单的优点。
实施例四
本申请实施例公开一种存储介质,存储介质存储有计算机指令,计算机指令被调用时,用于执行本申请实施例一的隔离编译环境的构建方法。
通过执行基于Linux内核命名空间的构建方法,本申请实施例能够构建一个用于编译目标源代码的隔离环境,并且本申请实施例与现有技术通过docker容器技术构建编译环境这一方式相比,不需要安装其他运行依赖软件,且可以避免安装依赖软件所导致的资源消耗大这类问题,进而具有构建速度快不影响编译耗时,占用资源小的优点。另一方面,本申请实施的隔离环境构建过程,用户无感知,例如,在编译时,用户通过环境变量对make命令进行重定向,即可在运行make时自动构建隔离环境而实现用户无感知。再一方面,本申请实施例与现有技术通过docker容器技术构建编译环境这一方式相比,本申请实施例的隔离环境与Makefile使用方法一致,无需学习额外的技术知识,因此具有操作简单的优点。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种隔离编译环境的构建方法,其特征在于,所述方法包括:
基于Linux内核命名空间,创建隔离环境,其中,所述隔离环境与所述主机的文件系统挂载点隔离;
将编译目标源代码的主机工具集挂载在所述隔离环境中并在所述隔离环境中形成Linux系统目录结构,其中,所述隔离环境中的所述Linux系统目录结构与所述主机工具集在主机中的目录结构相同;
将所述目标源代码在主机中的顶层目录挂载在所述隔离环境中,其中,所述目标源代码在所述隔离环境中的顶层目录的绝对路径与所述目标源代码在主机中的顶层目录的绝对路径相同。
2.如权利要求1所述的方法,其特征在于,在所述将所述目标源代码在主机中的顶层目录挂载在所述隔离环境中之后,所述方法还包括:
响应用户针对所述目标源代码的编译请求,调用根目录修改命令将编译命令进程根目录修改为所述隔离环境的环境目录;
基于所述隔离环境中的所述Linux系统目录结构调用所述主机工具集;
基于所述隔离环境中的顶层目录的绝对路径读取所述目标源代码;
基于所述主机工具集对所述目标源代码进行编译。
3.如权利要求1所述的方法,其特征在于,所述将编译目标源代码的主机工具集挂载在隔离环境中并在所述隔离环境中形成Linux系统目录结构,包括:
通过所述主机的挂载命令将所述编译目标源代码的所述主机工具集挂载在所述隔离环境中并在所述隔离环境中形成Linux系统目录结构。
4.如权利要求1所述的方法,其特征在于,所述将所述目标源代码在主机中的顶层目录挂载在所述隔离环境中,包括:
通过所述主机的挂载命令将所述目标源代码在主机中的顶层目录挂载在所述隔离环境中。
5.如权利要求1所述的方法,其特征在于,在响应用户针对所述目标源代码的编译请求,并基于所述隔离环境对所述目标源代码进行编译之前,所述方法还包括:
在所述隔离环境中挂载虚拟文件系统,所述虚拟文件系统包括proc文件系统、dev文件系统、tmp文件系统。
6.一种隔离编译环境的构建装置,其特征在于,所述装置包括:
创建模块,用于基于Linux内核命名空间,创建隔离环境,其中,所述隔离环境与所述主机的文件系统挂载点隔离;
挂载模块,用于将编译目标源代码的主机工具集挂载在所述隔离环境中并在所述隔离环境中形成Linux系统目录结构,其中,所述隔离环境中的所述Linux系统目录结构与所述主机工具集在主机中的目录结构相同;
所述挂载模块,还用于将所述目标源代码在主机中的顶层目录挂载在所述隔离环境中,其中,所述目标源代码在所述隔离环境中的顶层目录的绝对路径与所述目标源代码在主机中的顶层目录的绝对路径相同。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
目录修改模块,用于响应用户针对所述目标源代码的编译请求并调用根目录修改命令将编译命令进程根目录修改为所述隔离环境的环境目录;
编译模块,用于基于所述隔离环境中的所述Linux系统目录结构调用所述主机工具集;
所述编译模块,还用于基于所述隔离环境中的顶层目录的绝对路径读取所述目标源代码;
所述编译模块,还用于基于所述主机工具集对所述目标源代码进行编译。
8.如权利要求6所述的装置,其特征在于,所述挂载模块,包括:
第一挂载子模块,用于通过所述主机的挂载命令将所述编译目标源代码的所述主机工具集挂载在所述隔离环境中并在所述隔离环境中形成Linux系统目录结构。
9.一种隔离编译环境的构建设备,其特征在于,所述隔离编译环境的构建设备包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-5任一项所述的隔离编译环境的构建方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机指令,所述计算机指令被调用时,用于执行如权利要求1-5任一项所述的隔离编译环境的构建方法。
CN202111406684.1A 2021-11-24 2021-11-24 隔离编译环境的构建方法、装置、设备及存储介质 Pending CN114047925A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111406684.1A CN114047925A (zh) 2021-11-24 2021-11-24 隔离编译环境的构建方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111406684.1A CN114047925A (zh) 2021-11-24 2021-11-24 隔离编译环境的构建方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114047925A true CN114047925A (zh) 2022-02-15

Family

ID=80210858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111406684.1A Pending CN114047925A (zh) 2021-11-24 2021-11-24 隔离编译环境的构建方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114047925A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115203754A (zh) * 2022-09-14 2022-10-18 统信软件技术有限公司 场景模式管理装置、初始化方法以及场景模式切换方法
CN115629772A (zh) * 2022-09-05 2023-01-20 摩尔线程智能科技(北京)有限责任公司 Kubernetes软件安装方法及装置、电子设备
CN116049896A (zh) * 2023-03-29 2023-05-02 中孚安全技术有限公司 一种linux系统下实现数据隔离的方法、系统、设备及介质
CN116956331A (zh) * 2023-09-18 2023-10-27 中孚安全技术有限公司 应用于Linux的文件系统加密隔离方法、系统、设备及介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115629772A (zh) * 2022-09-05 2023-01-20 摩尔线程智能科技(北京)有限责任公司 Kubernetes软件安装方法及装置、电子设备
CN115629772B (zh) * 2022-09-05 2023-09-19 摩尔线程智能科技(北京)有限责任公司 Kubernetes软件安装方法及装置、电子设备
CN115203754A (zh) * 2022-09-14 2022-10-18 统信软件技术有限公司 场景模式管理装置、初始化方法以及场景模式切换方法
CN115203754B (zh) * 2022-09-14 2022-12-02 统信软件技术有限公司 场景模式管理装置、初始化方法以及场景模式切换方法
CN116049896A (zh) * 2023-03-29 2023-05-02 中孚安全技术有限公司 一种linux系统下实现数据隔离的方法、系统、设备及介质
CN116956331A (zh) * 2023-09-18 2023-10-27 中孚安全技术有限公司 应用于Linux的文件系统加密隔离方法、系统、设备及介质
CN116956331B (zh) * 2023-09-18 2023-12-19 中孚安全技术有限公司 应用于Linux的文件系统加密隔离方法、系统、设备及介质

Similar Documents

Publication Publication Date Title
CN114047925A (zh) 隔离编译环境的构建方法、装置、设备及存储介质
KR101606212B1 (ko) 하이퍼바이저 파일 시스템
US6490723B1 (en) Method and system for installing files in a computing system
US20180316559A1 (en) Managing virtual network functions
CN111475227B (zh) 业务插件加载实现方法、装置和终端设备
CN108089913A (zh) 一种超融合系统的虚拟机部署方法
US11327750B1 (en) Domain-driven application breakout
CN102650952A (zh) 基于mvc框架的建模工具命令调用方法及系统
JP2018522296A (ja) 仮想マシン作成方法及び装置
US11593103B1 (en) Anti-pattern detection in extraction and deployment of a microservice
JP7048663B2 (ja) コード実行方法、装置、レンダリングデバイス、記憶媒体、及びプログラム
CN111338925A (zh) 小程序测试方法及装置、系统、电子设备和存储介质
CN110727429A (zh) 一种前端页面的生成方法、装置及设备
CN112181592A (zh) 一种私有云环境下轻量化部署分布式系统的方法
CN115291946A (zh) 鸿蒙系统移植方法、装置、电子设备及可读介质
CN113296891B (zh) 基于平台的多场景知识图谱处理方法及装置
CN112804375B (zh) 一种单网卡多ip的配置方法
US11604662B2 (en) System and method for accelerating modernization of user interfaces in a computing environment
WO2022097020A1 (en) Updated shared library reloading without stopping execution of an application
CN111897551B (zh) 一种云环境下快速克隆软件环境的平台及方法
CN112235132A (zh) 动态配置服务的方法、装置、介质以及服务器
US9606775B2 (en) Developing rich internet application
CN112162822A (zh) 一种镜像构建方法、装置、设备及可读存储介质
CN110599112B (zh) 一种网络页面开发、维护方法和装置
CN115469807A (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