Software customization method and system in a LINUX operating system ISO image

Through the automated LINUX operating system ISO image customization method, the high cost problem caused by manual analysis in the existing technology is solved, the automated customization and standardized generation of ISO images are realized, and the reliability and availability of the customization results are ensured.

CN120578371BActive Publication Date: 2025-10-17北京长擎量子技术有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511074586.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-01
Publication Date
2025-10-17
Estimated Expiration
2045-08-01

AI Technical Summary

Technical Problem

In the existing technology, the customization process of Linux operating system ISO images relies on manual analysis of requirements and dependencies, resulting in high customization costs and high technical requirements for R&D personnel, making it difficult to achieve automation and standardization.

Method used

Provided are a method and system for customizing software in a LINUX operating system ISO image. This system receives user requirements through a pre-analysis module, recursively parses and builds a dependency tree, runs the dependency tree, identifies missing and conflicting components, establishes a dependency environment through a build module, and performs functional verification through a test module, ultimately generating a customized ISO image.

Benefits of technology

The ISO image customization process is automated, which reduces customization costs and technical barriers, ensures that customization results meet user needs, and improves the reliability and availability of customization results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120578371B_ABST
    Figure CN120578371B_ABST
Patent Text Reader

Abstract

The present disclosure relates to the technical field of LINUX operating system, and discloses a software customization method and system in a LINUX operating system ISO image, which comprises the following steps: recursively analyzing a construction dependency tree and a running dependency tree of a target component through a pre-analysis module, identifying missing components and / or conflict components, creating an isolation task for the conflict components, and generating a customized work task set; deploying a dependency environment of a component to be constructed through a construction module, executing the isolation task and constructing an independent directory for the conflict components, and generating a temporary product warehouse; executing a test on the target component in the temporary product warehouse through a test module; and constructing a customized ISO and distributing it to a product warehouse through a distribution module. The present disclosure replaces manual analysis of requirements and processing of dependency relationships in an automatic manner in the software customization system, reduces the dependence on high-skilled R&D personnel, standardizes complex customization processes, and reduces R&D and implementation costs.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of LINUX operating system, in particular to a LINUX operating system ISO image software customization method and system. BACKGROUND

[0002] With the increasing demand for personalized operating systems in enterprises and industries, customization of Linux operating system ISO images has become a necessity. For example, large enterprises need to preinstall proprietary software to reduce operational risks, and industrial industries need to trim modules to achieve lightweight adaptation to embedded scenarios.

[0003] In related technologies, operating system manufacturers usually provide general-purpose images and corresponding repositories. When customizing systems, they often rely on manual analysis of requirements and troubleshooting of software dependencies by R&D personnel to prepare customized operating systems for customers. This results in high customization costs and high technical requirements for R&D personnel. Therefore, how to simplify the ISO image customization process through automation, reduce customization costs, and lower the technical threshold for R&D personnel has become a problem that needs to be solved. SUMMARY

[0004] Therefore, the present disclosure provides a LINUX operating system ISO image software customization method and system to solve the problem of how to simplify the ISO image customization process through automation, reduce customization costs, and lower the technical threshold for R&D personnel.

[0005] In one aspect, the present disclosure provides a LINUX operating system ISO image software customization method applied to a software customization system, which includes a pre-analysis module, a construction module, a test module, and a distribution module. The method includes: receiving a requirement list input by a user through the pre-analysis module, pre-analyzing components in the requirement list, and generating a customization task set; the pre-analysis process includes: recursively analyzing the construction dependency tree and the running dependency tree of the target component in the requirement list, identifying missing components and / or conflict components in the construction dependency tree and the running dependency tree, and creating an isolation task for the conflict component; wherein the customization task set at least includes: components to be constructed, conflict components, or isolation tasks, the components to be constructed include: target components and missing components; based on the customization task set, the construction module builds a construction platform corresponding to the target ISO, deploys the dependency environment of the components to be constructed, executes the isolation task and constructs an independent directory for the conflict components, and generates a temporary product repository; the test module generates test cases based on the requirement list, and executes tests on the target components in the temporary product repository; and the distribution module generates configuration files and extension repositories of the customized ISO based on the target components that pass the tests, constructs the customized ISO, and distributes it to the product repository.

[0006] The other aspect of the present disclosure further provides a software customization system, which comprises a pre-analysis module, a construction module, a test module and a distribution module, wherein: the pre-analysis module is configured to receive a requirement list input by a user, perform pre-analysis processing on components in the requirement list, and generate a customization task set; the pre-analysis processing comprises: recursively analyzing a construction dependency tree and a running dependency tree of a target component in the requirement list, identifying missing components and / or conflict components in the construction dependency tree and the running dependency tree, and creating an isolation task for the conflict components; wherein the customization task set at least comprises: components to be constructed, conflict components or isolation tasks, the components to be constructed comprising: the target component and the missing components; the construction module is configured to build a construction platform corresponding to a target ISO based on the customization task set, deploy a dependent environment of the components to be constructed, execute the isolation tasks and construct an independent directory for the conflict components, and generate a temporary product warehouse; the test module is configured to generate test cases based on the requirement list, and perform tests on the target components in the temporary product warehouse; and the distribution module is configured to generate a configuration file and an extension warehouse of a customized ISO based on the target components that pass the tests, construct the customized ISO and distribute it to a product warehouse.

[0007] The other aspect of the present disclosure further provides a computer device, which comprises a memory and a processor, the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the computer instructions to perform the software customization method in the LINUX operating system ISO image.

[0008] The other aspect of the present disclosure further provides a computer readable storage medium, which stores computer instructions, and the computer instructions are used to make a computer implement the software customization method in the LINUX operating system ISO image.

[0009] The other aspect of the present disclosure further provides a computer program product, which comprises computer instructions, and the computer instructions are used to make a computer execute the software customization method in the LINUX operating system ISO image.

[0010] The software customization method and system in the LINUX operating system ISO image according to the above-mentioned embodiments of the present disclosure replace manual analysis of requirements and processing of dependency relationships in an automated manner in the software customization system, reduce the dependence on high-skilled R&D personnel, standardize complex customization processes, and reduce R&D and implementation costs.

[0011] In addition, through the modular cooperation of the pre-analysis module, the construction module, the test module and the distribution module, full-link coverage is achieved from dependency analysis, component construction, function verification to image generation, ensuring that the customization result meets the user's requirements and can be directly delivered for use, and improving the reliability and usability of the customization result. BRIEF DESCRIPTION OF DRAWINGS

[0012] In order to more clearly illustrate the technical solutions in the specific embodiments or the related art of the present disclosure, the drawings needed to be used in the specific embodiments or the related art description will be briefly introduced. Obviously, the drawings in the following description are some embodiments of the present disclosure, and other drawings can be obtained by those skilled in the art without creative labor.

[0013] Figure 1a An exemplary schematic diagram of the architecture of a software customization system to which a software customization method in a LINUX operating system ISO image according to an embodiment of the present disclosure is applied is shown.

[0014] Figure 1b A flowchart of a software customization method in a LINUX operating system ISO image according to an embodiment of the present disclosure is shown.

[0015] Figure 2 A pre-analysis module flowchart of a software customization method in a LINUX operating system ISO image according to an embodiment of the present disclosure is shown.

[0016] Figure 3 A structural schematic diagram of a software customization system according to an embodiment of the present disclosure is shown.

[0017] Figure 4 A structural schematic diagram of another software customization system according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0018] With the increasing demand for personalization of operating systems by enterprises and industries, customization of LINUX operating system ISO images has become a necessity. For different business scenarios, the operating system needs to complete corresponding customization and modification: for example, large enterprises need to preinstall specific software groups to reduce the operation threshold and management risk, and in this process, compatibility adaptation and problem handling of preinstalled third-party components are needed to ensure stable operation of business software; the industrial industry needs to tailor specific modules of the operating system to achieve lightweight on the premise of retaining core functions, in order to adapt to embedded running environments.

[0019] Based on such component customization needs, through an automated pipeline, dependency analysis (including build dependency and run dependency), component compilation and building, full-function testing and verification are completed, and finally a customized operating system ISO image is generated and published to the product repository, which can effectively reduce the technical threshold and simplify the problem domain - part of the work in the customer's complex scenario is handled in advance, reducing the workload of professionals and the cost of research and development and implementation, while avoiding human operation risks and improving system stability.

[0020] Currently, operating system vendors provide comprehensive general-purpose images and corresponding repositories, and customization work relies on manual analysis of requirements and dependency checking by R&D personnel, and then customized systems are prepared. This mode requires high technical requirements for R&D personnel, which is equivalent to equating customization work to product development, resulting in high customization costs; if no customization is performed, customers need to handle software deployment and adaptation themselves, which will increase learning and implementation costs, and finally fall into a dilemma.

[0021] To solve the above problems, a LINUX operating system ISO image software customization method is provided in various embodiments of the present disclosure, which is applied to a software customization system, the software customization system includes a pre-analysis module, a construction module, a test module and a distribution module, and the method includes: receiving a requirement list input by a user through the pre-analysis module, pre-analyzing components in the requirement list, and generating a customization task set; the pre-analysis processing includes: recursively analyzing the construction dependency tree and the running dependency tree of the target component in the requirement list, identifying missing components and / or conflict components in the construction dependency tree and the running dependency tree, and creating an isolation task for the conflict component; wherein the customization task set at least includes: a component to be constructed, a conflict component or an isolation task, the component to be constructed includes: a target component and a missing component; through the construction module, based on the customization task set, a construction platform corresponding to the target ISO is built, a dependent environment of the component to be constructed is deployed, the isolation task is executed and an independent directory is constructed for the conflict component, and a temporary product repository is generated; through the test module, test cases are generated based on the requirement list, and tests are performed on the target components in the temporary product repository; through the distribution module, based on the target components that pass the test, configuration files and extension repositories of the customized ISO are generated, the customized ISO is constructed and distributed to the product repository.

[0022] To make the purpose, technical solutions and advantages of the embodiments of the present disclosure clearer, the technical solutions in the embodiments of the present disclosure will be described clearly and completely below with reference to the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative labor are within the scope of protection of the present disclosure.

[0023] Please refer to Figure 1a , Figure 1a An exemplary schematic diagram of the architecture of a software customization system to which a LINUX operating system ISO image software customization method according to an embodiment of the present disclosure is applied is shown. As shown in Figure 1a , the software customization system 100 includes a pre-analysis module 11, a construction module 12, a test module 13 and a distribution module 14.

[0024] In the embodiment, the software customization system 100 can be a technical carrier for implementing software customization in a LINUX operating system ISO image, specifically an overall system composed of multiple internal modules working in cooperation, and can be specifically used for receiving ISO image component customization requirements of a user, completing full-process automatic processing from requirement analysis to final customization ISO image generation and distribution through division and cooperation of the internal modules, and finally outputting a customized ISO image meeting the requirements of the user.

[0025] The pre-analysis module 11 can be a requirement analysis and task generation unit of the software customization system 100, the construction module 12 can be a component compilation and environment preparation unit of the software customization system 100, the test module 13 can be a function verification unit of the software customization system 100, and the distribution module 14 can be an image generation and delivery unit of the software customization system 100.

[0026] Further reference is made to Figure 1b , Figure 1b A flowchart of a LINUX operating system ISO image software customization method provided by the embodiment of the present disclosure is shown, and the flow of the method can include the following steps:

[0027] In step S101, a requirement list input by a user is received through a pre-analysis module, and a target component in the requirement list is pre-analyzed to generate a customization task set; the pre-analysis includes: recursively analyzing a construction dependency tree and a running dependency tree of the target component in the requirement list, identifying missing components and / or conflict components in the construction dependency tree and the running dependency tree, and creating an isolation task for the conflict components.

[0028] In the embodiment, the requirement list of the user is received through the pre-analysis module, and the requirement list is a component list required by the user to be customized into a target ISO of the Linux operating system, and can include but is not limited to software components required by the user to be pre-installed, trimmed or integrated.

[0029] The target component in the requirement list is pre-analyzed through the pre-analysis module to solve the completeness problem of the construction dependency tree and the running dependency tree of the target component.

[0030] Here, the requirement list of the user includes components already existing in a standard software warehouse corresponding to the target ISO and components not existing. The existing components are excluded from the requirement list, and this part does not need to be customized. The non-existing components are taken as target components, i.e., direct carriers of the customization requirements of the user.

[0031] The target ISO can refer to a general operating system ISO image released by a manufacturer, and is a basic image for customization. The user wants to customize on the basis of the target ISO to finally generate a customized ISO.

[0032] Further, the build dependency tree of the target component refers to the hierarchical relationship of other components that the target component depends on during compilation and installation. The dependencies in the build dependency tree are necessary conditions for the target component to be built from source code or a package into a runnable state.

[0033] The runtime dependency tree of the target component refers to the hierarchical relationship of other components that the target component depends on during actual operation. The dependencies in the runtime dependency tree are necessary conditions for the target component to be normally started and functionally executed from a runnable state.

[0034] As an example, the target component depends on component B, component B depends on component C, and component C depends on components D and E. The dependency tree can include the target component, component B, component C, and components D and E.

[0035] Further, the build dependency tree and the runtime dependency tree of the target component are recursively analyzed to identify missing components and / or conflicting components.

[0036] Here, a missing component refers to a component that is not supported or included in the standard software repository in the build dependency tree or the runtime dependency tree, and needs to be supplemented through subsequent construction or integration to ensure the completeness of the dependency tree. A conflicting component refers to a component that exists in the standard software repository but has a version beyond the compatible interval, which may cause the target component to fail to build or run abnormally.

[0037] Here, when a conflicting component is identified in the build dependency tree and the runtime dependency tree of the target component, an isolation task is constructed for the conflicting component to avoid version conflicts between the conflicting component and the standard repository component affecting the construction or operation of the target component through the construction of an independent directory, isolation of environment variables, and other means.

[0038] For example, the target component is a target database software of version 5.0, and the standard software repository has pre-installed a target database software of version 9.0. The two versions of the target database software have incompatible library files and configuration paths. Therefore, the target database software of version 9.0 is a conflicting component of the target component.

[0039] Here, an independent directory is created for the target database software of version 5.0 through the construction of an isolation task, the library files and configuration files that the target database software of version 5.0 depends on are limited within the independent directory, and the installation path of the target database software of version 5.0 is separated from the installation path of the target database software of version 9.0. Thus, the conflicting component (the target database software of version 9.0) and the target component (the target database software of version 5.0) are isolated from each other in the running environment, ensuring the normal operation of the target component.

[0040] The customized work task set at least includes: a to-be-built component, a conflict component, or an isolation task, and the to-be-built component includes a target component and a missing component.

[0041] Here, the customized work task set is an output result of the pre-analysis processing, and serves as an execution basis for subsequent modules such as a build module and a test module.

[0042] In step S102, a build module is used to build a build platform corresponding to the target ISO based on the customized work task set, to deploy a dependent environment of the to-be-built component, to execute an isolation task and build an independent directory for the conflict component, and to generate a temporary product warehouse.

[0043] In this embodiment, the build module receives the build component task in the customized work task set from the pre-analysis module. The build module converts the to-be-built component in the customized work task set into a testable binary package.

[0044] Specifically, the build module is used to build a build platform corresponding to the target ISO, which is used to execute component compilation and building. Here, the build platform refers to an operating system environment consistent with the underlying configuration of the target ISO.

[0045] Further, the build module is used to deploy a dependent environment of the to-be-built component, to ensure that the to-be-built component can be normally built.

[0046] The dependent environment can include, but is not limited to, an environment such as a basic library and a tool software required by the to-be-built component in the process of compilation and running.

[0047] Further, the build module is used to execute an isolation task and build an independent directory for the conflict component, to isolate the path, configuration and dependency of the conflict component and the target component, and to avoid version conflicts.

[0048] The build module is used to generate a binary Redhat Package Manager (rpm) package of the to-be-built component, to arrange the binary rpm package according to a specification, to generate a temporary product warehouse, and to provide a component package to be tested to a test module.

[0049] In step S103, the test module is used to generate a test case based on a requirement list, and to execute a test on the target component in the temporary product warehouse.

[0050] In this embodiment, the test module is used to execute a test on the component package of the target component by using the test case. If the test passes, the component package is sent to a distribution module. If the test fails, the component package is returned to the build module for reprocessing.

[0051] Step S104, based on the target components passed the test, the distribution module generates the configuration file of the customized ISO and the extension repository, builds the customized ISO and distributes it to the product repository.

[0052] In this embodiment, the distribution module integrates the target components passed the test into the deliverable customized ISO and distributes the customized ISO to the product repository. The product repository is an official repository for storing the final customized ISO.

[0053] Here, the customized ISO refers to the final ISO image product that meets the user's requirements for pre-installed software, customized modules, and integrates the target components and extension repository customized by the user.

[0054] The software customization method and system in the LINUX operating system ISO image of the above-embodiment of the present disclosure replace manual analysis of requirements and handling of dependencies through an automated manner in the software customization system, reduce the dependence on high-skilled R&D personnel, standardize complex customization processes, and reduce R&D and implementation costs. Through modular collaboration of pre-analysis, construction, testing, and distribution, full-link coverage is achieved from dependency analysis, component construction, function verification to image generation, ensuring that the customization result meets user requirements and can be directly delivered for use, improving the reliability and usability of the customization result. The distribution module generates a customized ISO that integrates target components and complete dependencies, which can be directly used by the user without additional handling of dependencies or compatibility issues, significantly reducing the customer's use threshold and management risk.

[0055] In one possible implementation of the above step S101, the components in the requirement list are pre-analyzed and processed to generate a set of customization work tasks, including:

[0056] Determine whether the components in the requirement list exist in the standard software repository corresponding to the target ISO, and if so, remove them from the requirement list;

[0057] The remaining components in the requirement list are used as target components, and the source type of the target components is analyzed;

[0058] If the source type is open source code, recursively analyze the construction dependency tree and the running dependency tree of the target component to identify missing components and conflict components;

[0059] If the source type is a third-party package or user-specified integrated software, recursively analyze the running dependency tree of the target component to identify missing components and conflict components;

[0060] Merge the target components, missing components, conflict components, and isolation tasks to generate a set of customization work tasks.

[0061] In the embodiment, the standard software repository corresponding to the target ISO is associated, and it is checked whether each component in the requirement list is supported by the repository; if the component already exists in the standard software repository, it is removed from the requirement list; only the components not supported by the standard software repository are reserved as target components.

[0062] Further, the source type of the target component is analyzed, and the source type can include open source code, third-party package or user-specified integrated software.

[0063] If the source type of the target component is open source code, the build dependency tree and the running dependency tree of the target component need to be recursively analyzed at the same time. During the analysis process, if it is found that there is a component in the dependency tree that is not contained in the standard software repository, it is marked as a missing component; if there is a version conflict of the dependent component with the existing version in the repository, it is marked as a conflict component.

[0064] If the source type of the target component is third-party package or user-specified integrated software, the running dependency tree of the target component needs to be recursively analyzed. During the analysis process, if it is found that there is a component in the running dependency tree that is not contained in the standard software repository, it is marked as a missing component; if there is a version conflict of the dependent component with the existing version in the repository, it is marked as a conflict component.

[0065] Here, if the source type of the target component is open source code, the target component needs to be converted into a binary component that can run in the target ISO through the process of compilation, linking, etc., and the build dependency tree is a necessary condition to support the above process, therefore, the build dependency tree of the open source code needs to be recursively analyzed. The third-party package or user-specified integrated software is already a binary component, and there is no need to recursively analyze the build dependency tree.

[0066] Through the above steps performed by the pre-analysis module, all missing components and conflict components of the target component are identified, and an isolation task corresponding to each conflict component is generated.

[0067] The target component, the missing component, the conflict component and the isolation task are merged to generate a customized work task set, and are distributed to the build module and the test module.

[0068] Through the software customization method and system in the LINUX operating system ISO image of the above-mentioned embodiments of the present disclosure, by associating the standard software warehouse of the target ISO, automatically removing the supported components, only retaining the target components that need to be customized, avoiding repeated processing of the existing components, reducing the processing cost of subsequent modules, and improving the customization efficiency. By analyzing the source type of the target component and performing corresponding pre-analysis processing, unnecessary analysis steps are reduced, ensuring the comprehensiveness of dependency analysis and avoiding resource waste. By recursively analyzing the dependency tree, missing components and conflict components are automatically identified, avoiding compatibility problems in subsequent construction or running from the source. Compared with manual processing, which is easy to miss conflicts and lead to customization failure, this step exposes and plans the solution path in advance through automated analysis, significantly improving the stability of the customized ISO and reducing the rework cost.

[0069] In one possible implementation of the above step S101, if the source type is open source code, the build dependency tree and the running dependency tree of the target component are recursively analyzed to identify missing components and conflict components, including:

[0070] The build dependency tree of the target component is analyzed, and the build dependency components of the first level of the build dependency tree are extracted; if the build dependency component exists in the standard software warehouse, the version compatibility of the build dependency component is verified; if the build dependency component does not exist in the standard software warehouse, the build dependency component is determined to be a build missing component;

[0071] The build dependency components of the next level of the build missing component in the build dependency tree are extracted, and the build dependency components of the next level are recursively analyzed until each level of the build dependency component is verified to exist or is marked as a build missing component, and the running dependency tree of the target component is analyzed;

[0072] The running dependency components of the first level of the running dependency tree of the target component are extracted; if the running dependency component exists in the standard software warehouse, the version compatibility of the running dependency component is verified; if the running dependency component does not exist in the standard software warehouse, the running dependency component is determined to be a running missing component;

[0073] The running dependency components of the next level of the running missing component in the running dependency tree are extracted, and the running dependency components of the next level are recursively analyzed until each level of the running dependency component is verified to exist or is marked as a running missing component;

[0074] If the build dependency component exists in the standard software warehouse and the version of the build dependency component exceeds the version compatibility interval of the standard software warehouse, the build dependency component is determined to be a conflict component; if the running dependency component exists in the standard software warehouse and the version of the running dependency component exceeds the version compatibility interval of the standard software warehouse, the running dependency component is determined to be a conflict component;

[0075] Merge the build missing components and the run missing components as global missing components.

[0076] In the embodiment, the build dependency components of the first level of the build dependency tree are extracted, and it is checked whether the build dependency components exist in the standard software repository; if yes, it is verified whether the version of the build dependency components is within the compatible interval of the standard software repository; if not, the build dependency components are marked as build missing components.

[0077] The above operation is repeated for the next level of the build dependency components of the marked build missing components, and recursive analysis is performed until all levels of the build dependency components are verified or marked as build missing components.

[0078] The run dependency components of the first level of the run dependency tree are extracted, and it is checked whether the run dependency components exist in the standard software repository; if yes, it is verified whether the version of the run dependency components is within the compatible interval of the standard software repository; if not, the run dependency components are marked as run missing components.

[0079] The above operation is repeated for the next level of the run dependency components of the marked run missing components, and recursive analysis is performed until all levels of the run dependency components are verified or marked as run missing components.

[0080] Further, the build dependency components existing in the standard software repository but with versions beyond the compatible interval in the build dependency tree are marked as build conflict components, and the run dependency components existing in the standard software repository but with versions beyond the compatible interval in the run dependency tree are marked as run conflict components.

[0081] All the build missing components and the run missing components are merged as a list of global missing components to ensure that the dependencies of the target components in the whole process from compilation to running are covered.

[0082] Through the software customization method and system in the LINUX operating system ISO image of the above-mentioned embodiments of the disclosure, the build dependency tree and the run dependency tree are recursively analyzed, the dependencies of the target components in the whole process from compilation to running are comprehensively covered, the omission problem caused by too deep level of the dependency tree in manual analysis is avoided, it is ensured that there is no omission of the components required in the subsequent building and running links, and therefore the comprehensiveness and integrity of the dependency analysis are improved. The standardized recursive analysis logic is used to replace the tedious process of manually analyzing the dependency relationship layer by layer, the dependence on high-skilled researchers is reduced, and the labor cost and time cost are reduced.

[0083] In one possible implementation of the above step S101, if the source type is a third-party package or user-specified integrated software, the run dependency tree of the target component is recursively analyzed to identify missing components and conflict components, including:

[0084] extracting a running dependency component of a first level of a running dependency tree of the target component; verifying version compatibility of the running dependency component if the running dependency component exists in the standard software warehouse; determining the running dependency component as a missing component if the running dependency component does not exist in the standard software warehouse;

[0085] extracting a running dependency component of a next level of the missing component in the running dependency tree, and recursively analyzing the running dependency component of the next level until each level of the running dependency component is verified to exist or is marked as a missing component;

[0086] verifying version compatibility of the running dependency component if the running dependency component exists in the standard software warehouse and the version of the running dependency component is out of the version compatibility interval of the standard software warehouse, and determining the running dependency component as a conflict component.

[0087] In the embodiment, a dependency component of a first level of a running dependency tree is extracted, and it is checked whether the dependency component exists in the standard software warehouse; if yes, it is verified whether the version of the dependency component is within the compatible interval of the standard software warehouse; if not, the dependency component is marked as a missing component.

[0088] The above operation is repeated for a next level of the marked missing component, and recursive analysis is performed until all levels of the dependency component are verified or marked as missing components.

[0089] Further, a dependency component existing in the standard software warehouse but with a version out of the compatible interval in the running dependency tree is marked as a conflict component.

[0090] By the software customization method and system in the LINUX operating system ISO image of the above embodiments of the disclosure, the third-party package or the user-specified integrated software is already a directly executable binary component, and there is no need to process and build dependencies, only recursive analysis of the running dependency tree is needed, invalid analysis of the build dependencies is avoided, unnecessary process consumption and development cost are reduced, and the pertinence and efficiency of dependency analysis are improved.

[0091] In one possible implementation of the above step S102, based on the customization task set, a build platform corresponding to the target ISO is built by the build module, a dependency environment of the component to be built is deployed, an isolation task is performed and an independent directory is built for the conflict component, and a temporary finished product warehouse is generated, including:

[0092] The build platform is built based on the basic environment of the target ISO, so that the build environment of the build platform is consistent with the system configuration of the target ISO;

[0093] According to the dependency requirements of the component to be processed, corresponding build tools and basic library files are deployed to form a complete dependency environment;

[0094] Perform isolation tasks, configure independent installation directories and environment variables for the to-be-processed components marked as conflict components;

[0095] Compile the to-be-processed components, generate binary packages adapted to the target ISO, and regularize the binary packages and form a temporary product warehouse.

[0096] In the embodiment, by means of the building module, the operating system version, the kernel configuration and the standard library consistent with the target ISO are installed based on the basic environment of the target ISO, so that the underlying environment of the building platform is completely matched with the target ISO.

[0097] According to the dependency requirements of the to-be-processed components in the customized work task set, the corresponding building tools, development version basic libraries, configuration scripts and the like are automatically installed and deployed, so that the dependencies required in the compilation process are complete and the compilation conditions of the to-be-processed components are met.

[0098] For the conflict components marked by the pre-analysis module, independent installation directories are configured for the conflict components, and the paths and dependencies of the conflict components and the system default components are isolated through environment variables.

[0099] For the open source source code type to-be-processed components, the dependencies are compiled and linked using the deployed dependencies to generate binary rpm packages adapted to the target ISO; for third-party packages or user-specified software, the packages are encapsulated and adapted according to the specifications of the target ISO;

[0100] All generated binary packages are regularized and stored in a temporary warehouse directory to form a temporary product warehouse.

[0101] By means of the software customization method and system in the LINUX operating system ISO image of the above-mentioned embodiments of the disclosure, the building platform is built based on the basic environment of the target ISO, so that the underlying configuration (operating system version, kernel and standard library) is completely matched with the target ISO, the adaptability of the customized components to the target ISO is ensured through the standardized environment, and compatibility faults are reduced. Independent directories and environment variables are configured for the conflict components to isolate the conflict components from the system default components in terms of paths and dependencies, so that the interference of version conflicts on the building process is effectively avoided.

[0102] In one possible implementation of the above step S103, by means of the test module, test cases are generated based on the requirement list, and tests are performed on the target components in the temporary product warehouse, including:

[0103] Based on the functional customization requirements of the target components in the requirement list, test case scripts corresponding to the target components are generated;

[0104] The binary package of the target component and the binary package of the missing component are obtained from the temporary product warehouse, and the binary package of the target component and the binary package of the missing component are deployed to the test environment.

[0105] executing the test case script to test the binary package of the target component;

[0106] generating a test report containing the test result, if the test result is passed, pushing the binary package of the target component to the distribution module, if the test result is failed, returning the binary package of the target component to the build module for reprocessing.

[0107] In the embodiment, the targeted test case script is automatically generated according to the functional customization requirements of the target component in the requirement list;

[0108] From the temporary product warehouse generated by the build module, the binary package of the target component and all missing components is extracted, and is deployed to the test environment according to the consistent configuration of the target ISO, simulating the running conditions of the components in the actual use scenario;

[0109] running the test case script to automatically test the deployed target component, recording the functional performance in the test process, and generating a test report containing detailed results;

[0110] if the test is passed, the binary package of the target component and the missing component is pushed to the distribution module, and enters the final ISO image building link;

[0111] if the test is failed, the binary package is returned to the build module, and the problem description in the test report is attached, guiding the build module to recompile or adjust the configuration until the component passes the test.

[0112] Through the software customization method and system in the LINUX operating system ISO image of the above-mentioned embodiments of the disclosure, the whole process from test case generation, component deployment to result judgment is automated, replacing the tedious process of manual case writing and test execution, and reducing the dependence on professional testers. Based on the requirement list, the targeted test case is generated, the binary package of the target component and the missing component is automatically tested, the core functions of the user customization requirements are covered, and it is ensured that the final customized ISO image meets the actual scene requirements of the user, and the reliability is improved.

[0113] In one possible implementation of the above step S104, through the distribution module, based on the target component passing the test, a configuration file and an extension warehouse of the customized ISO are generated, the customized ISO is built and distributed to the product warehouse, including:

[0114] based on the binary package of the target component passing the test and the binary package of the missing component dependent on the target component, a customized configuration file adapted to the target ISO is generated;

[0115] integrating the binary package of the target component and the binary package of the missing component according to the warehouse specification to form an extension warehouse of the customized ISO;

[0116] Initialize the build environment consistent with the target ISO base environment, integrate the custom configuration file and the extended repository into the ISO build process, generate a custom ISO containing target components and missing components, and distribute the custom ISO to the product repository.

[0117] In this embodiment, a custom configuration file is generated to adapt to the target ISO according to the binary package characteristics of the target components and missing components, and the integration method of the components in the ISO image is specified to ensure that the components can be automatically deployed in the ISO image according to user requirements.

[0118] The binary rpm package of the target component and the missing component is integrated according to the standard repository format to form an extended repository of the custom ISO.

[0119] Here, the extended repository is used as a supplement to the target ISO base repository to ensure that the custom components and their dependencies can be directly obtained during ISO image installation or running, avoiding the problem that the components cannot be called due to non-standard repository format.

[0120] Initialize the build environment consistent with the target ISO base environment, generate a custom ISO image containing user customized components and complete dependencies, and ensure that the image can be directly used for installation and the component functions are normal.

[0121] Upload the generated custom ISO image to the product repository to complete the final delivery storage.

[0122] Through the software customization method and system in the LINUX operating system ISO image of the above-mentioned embodiments of the present disclosure, the generated custom ISO image is uploaded to the product repository to complete the final delivery storage, which is convenient for subsequent user download, deployment or further distribution, and realizes the whole process closed loop from demand to finished product.

[0123] In one specific embodiment, please refer to Figure 2 , Figure 2 a flowchart of a pre-analysis module of a software customization method in a LINUX operating system ISO image provided by an embodiment of the present disclosure is shown, as shown in Figure 2 the flowchart includes the following steps:

[0124] Step S201, receiving a user input requirement list.

[0125] Step S202, whether the components in the requirement list exist in the repository; if yes, go to step S204, if no, go to step S203.

[0126] Step S203, analyzing the source type of the target component; if the source type is open source code, go to step S205; if the source type is third-party package or user specified integrated software, go to step S206.

[0127] Step S204: Delete the component from the requirement list.

[0128] Step S205, parse and build the dependency tree; when there are conflicting components, go to step S208; when there are missing components, go to step S203; when the target component is marked as a buildable component, go to step S206.

[0129] Here, the build dependency tree of the target component is parsed, and the build dependency components of the first level of the build dependency tree are extracted; if the build dependency component exists in the standard software warehouse, the version compatibility of the build dependency component is verified, and if there is a version conflict between the build dependency component and the standard software warehouse, the process proceeds to step S208; if the build dependency component does not exist in the standard software warehouse, the build dependency component is determined to be a build missing component, and the process proceeds to step S203; in step S203, the build dependency components of the next level in the build dependency tree of the build missing component are extracted, and the build dependency components of the next level are recursively analyzed until the build dependency components of each level are verified to exist or are marked as build missing components, the target component is marked as a buildable component, and the process proceeds to step S206 to parse the runtime dependency tree of the target component.

[0130] Step S206, parse the runtime dependency tree; if there are any missing runtime components, proceed to step S203; if there are no missing runtime components, proceed to step S207.

[0131] Here, the runtime dependency tree of the target component is parsed, and the runtime dependency components of the first level of the runtime dependency tree are extracted; if the runtime dependency component exists in the standard software warehouse, the version compatibility of the runtime dependency component is verified, and the process goes to step S207; if the runtime dependency component does not exist in the standard software warehouse, the runtime dependency component is determined to be a runtime missing component, and the process goes to step S203; in step S203, the runtime dependency components of the next level in the runtime dependency tree of the runtime missing component are extracted, and the runtime dependency components of the next level are recursively analyzed until the runtime dependency components of each level are verified to exist or are marked as runtime missing components, and the target component is marked as not having a runtime missing component, and the process goes to step S207.

[0132] Step S207, determine whether there is a version conflict in the running dependent component; if yes, go to step S208; if not, go to step S209.

[0133] Step S208 : treating the build-dependent component and / or the run-dependent component with version conflict as a conflicting component, creating an isolation task for the conflicting component, and separating it into an independent component or dependency directory.

[0134] Step S209: Generate a customized work task set.

[0135] In an embodiment, another software customization system 300 is provided, which corresponds to the software customization method in the LINUX operating system ISO image in the above embodiment. As shown in Figure 3 The system includes a pre-analysis module 301, a construction module 302, a test module 303, and a distribution module 304, and each function module is described in detail as follows:

[0136] The pre-analysis module 301 is configured to receive a user-input requirement list, pre-analyze components in the requirement list, and generate a customization task set;

[0137] The pre-analysis module 301 is specifically configured to recursively analyze a construction dependency tree and a running dependency tree of a target component in the requirement list, identify missing components and / or conflict components in the construction dependency tree and the running dependency tree, and create an isolation task for the conflict components; wherein the customization task set at least includes a component to be constructed, a conflict component, or an isolation task, and the component to be constructed includes the target component and the missing component.

[0138] The construction module 302 is configured to build a construction platform corresponding to the target ISO based on the customization task set, deploy a dependent environment of the component to be constructed, execute the isolation task and build an independent directory for the conflict component, and generate a temporary product warehouse.

[0139] The test module 303 is configured to generate a test case based on the requirement list and execute a test on the target component in the temporary product warehouse.

[0140] The distribution module 304 is configured to generate a configuration file and an extension warehouse of the customized ISO based on the target component that passes the test, build the customized ISO, and distribute it to a product warehouse.

[0141] In an embodiment, the pre-analysis module 301 is specifically configured to determine whether the components in the requirement list exist in a standard software warehouse corresponding to the target ISO, and if so, remove them from the requirement list.

[0142] The remaining components in the requirement list are taken as target components, and the source types of the target components are analyzed.

[0143] If the source type is an open source code, the construction dependency tree and the running dependency tree of the target component are recursively analyzed to identify missing components and conflict components.

[0144] If the source type is a third-party package or user-specified integrated software, the running dependency tree of the target component is recursively analyzed to identify missing components and conflict components.

[0145] The target components, the missing components, the conflict components, and the isolation task are merged to generate the customization task set.

[0146] In an embodiment, the pre-analysis module 301 is specifically configured to parse a build dependency tree of the target component, extract a build dependency component at a first level of the build dependency tree, verify version compatibility of the build dependency component if the build dependency component exists in the standard software repository, and determine that the build dependency component is a build missing component if the build dependency component does not exist in the standard software repository.

[0147] extract a build dependency component at a next level of the build dependency tree of the build missing component, and recursively analyze the build dependency component at the next level until each level of the build dependency component is verified to exist or is marked as a build missing component, and parse a runtime dependency tree of the target component.

[0148] extract a runtime dependency component at a first level of the runtime dependency tree of the target component, verify version compatibility of the runtime dependency component if the runtime dependency component exists in the standard software repository, and determine that the runtime dependency component is a runtime missing component if the runtime dependency component does not exist in the standard software repository.

[0149] extract a runtime dependency component at a next level of the runtime dependency tree of the runtime missing component, and recursively analyze the runtime dependency component at the next level until each level of the runtime dependency component is verified to exist or is marked as a runtime missing component.

[0150] determine that the build dependency component is a conflict component if the build dependency component exists in the standard software repository and a version of the build dependency component exceeds a version compatibility interval of the standard software repository, and determine that the runtime dependency component is a conflict component if the runtime dependency component exists in the standard software repository and a version of the runtime dependency component exceeds the version compatibility interval of the standard software repository.

[0151] merge the build missing component and the runtime missing component as a global missing component.

[0152] In an embodiment, the pre-analysis module 301 is specifically configured to extract a runtime dependency component at a first level of a runtime dependency tree of the target component, verify version compatibility of the runtime dependency component if the runtime dependency component exists in the standard software repository, and determine that the runtime dependency component is a missing component if the runtime dependency component does not exist in the standard software repository.

[0153] extract a runtime dependency component at a next level of the runtime dependency tree of the missing component, and recursively analyze the runtime dependency component at the next level until each level of the runtime dependency component is verified to exist or is marked as a missing component.

[0154] determine that the runtime dependency component is a conflict component if the runtime dependency component exists in the standard software repository and a version of the runtime dependency component exceeds a version compatibility interval of the standard software repository.

[0155] In an embodiment, the building module 302 is specifically configured to build a building platform based on a target ISO-based basic environment, so that the building environment of the building platform is consistent with the system configuration of the target ISO.

[0156] According to the dependency requirements of the to-be-processed components, corresponding building tools and basic library files are deployed to form a complete dependency environment.

[0157] An isolation task is performed, and a separate installation directory and environment variable are configured for the to-be-processed component marked as a conflict component.

[0158] The to-be-processed component is compiled and built to generate a binary package adapted to the target ISO, the binary package is regularized, and a temporary product warehouse is formed.

[0159] In an embodiment, the testing module 303 is specifically configured to generate a test case script corresponding to a target component based on a functional customization requirement of the target component in a requirement list.

[0160] The binary package of the target component and the binary package of a missing component are obtained from the temporary product warehouse, and the binary package of the target component and the binary package of the missing component are deployed to a test environment.

[0161] The test case script is executed to test the binary package of the target component.

[0162] A test report containing a test result is generated, if the test result is passed, the binary package of the target component is pushed to the distribution module, and if the test result is not passed, the binary package of the target component is returned to the building module for reprocessing.

[0163] In an embodiment, the distribution module 304 is specifically configured to generate a customization configuration file adapted to a target ISO based on a binary package of a target component passed by testing and a binary package of a missing component dependent on the target component.

[0164] The binary package of the target component and the binary package of the missing component are integrated according to warehouse specifications to form an extension warehouse of a customized ISO.

[0165] A building environment consistent with a target ISO basic environment is initialized, the customization configuration file and the extension warehouse are integrated into an ISO building process to generate a customized ISO containing the target component and the missing component, and the customized ISO is distributed to a product warehouse.

[0166] It should be noted that the software customization system provided in the above embodiments is used to implement the software customization method of the corresponding LINUX operating system ISO image, and the above-mentioned division of the program modules is only used as an example, and in actual application, the above-mentioned processing can be completed by different program modules according to needs, that is, the internal structure of the above-mentioned system is divided into different program modules to complete all or part of the above-mentioned processing. In addition, the system provided in the above embodiments and the corresponding Figure 1b Embodiments of the method shown belong to the same concept, and the specific implementation process is described in the method embodiments, which will not be repeated here.

[0167] The embodiments of the present disclosure also provide a computer device having the above-mentioned Figure 1a software customization system.

[0168] Please refer to Figure 4 , Figure 4 The structure of another software customization system provided by the embodiments of the present disclosure is shown in the structure diagram, as Figure 4 The computer device includes one or more processors 10, a memory 20, and an interface for connecting various components, including a high-speed interface and a low-speed interface. Various components are communicatively connected to each other by using different buses, and can be installed on a common motherboard or in other ways as needed. The processor can process instructions executed in the computer device, including instructions stored in the memory or memory to display GUI on an external input / output device (such as a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, each providing part of the necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 4 In the above-mentioned computer device, the processor 10 is taken as an example.

[0169] The processor 10 can be a central processor, a network processor, or a combination thereof. The processor 10 can further include a hardware chip. The hardware chip can be an application specific integrated circuit, a programmable logic device, or a combination thereof. The programmable logic device can be a complex programmable logic device, a field programmable logic gate array, a general array logic, or any combination thereof.

[0170] The memory 20 stores instructions executable by the at least one processor 10, so that the at least one processor 10 executes the method shown in the above-mentioned embodiments.

[0171] The memory 20 can include a program storage area and a data storage area. The program storage area can store an operating system, application programs required for at least one function, and the like. The data storage area can store data created according to usage of the computer device, and the like. In addition, the memory 20 can include a high-speed random access memory, and can also include a non-transitory memory such as at least one of a magnetic disk storage device, a flash memory device, or other non-transitory solid state memory device. In some alternative embodiments, the memory 20 can optionally include a memory that is remotely located with respect to the processor 10, and these remotely located memories can be connected to the computer device through a network. Examples of the network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0172] The memory 20 can include a volatile memory, such as a random access memory, and can also include a non-volatile memory, such as a flash memory, a hard disk, or a solid state disk. The memory 20 can also include a combination of the above-mentioned types of memories.

[0173] The computer device also includes an input device 30 and an output device 40. The processor 10, the memory 20, the input device 30, and the output device 40 can be connected through a bus or other means, Figure 4 The connection through the bus is taken as an example.

[0174] The input device 30 can receive input digital or character information, and generate key signal input related to user settings and function control of the computer device, such as a touch screen, a keypad, a mouse, a trackpad, a touchpad, a pointing stick, one or more mouse buttons, a trackball, a joystick, and the like. The output device 40 can include a display device, an auxiliary lighting device (e.g., an LED), a tactile feedback device (e.g., a vibration motor), and the like. The display device includes, but is not limited to, a liquid crystal display, a light emitting diode, a display, and a plasma display. In some alternative embodiments, the display device can be a touch screen.

[0175] The computer device also includes a communication interface for communication of the computer device with other devices or communication networks.

[0176] The embodiments of the present disclosure further provide a computer readable storage medium, and the method according to the embodiments of the present disclosure can be implemented in hardware, firmware, or recorded in a storage medium, or be implemented as computer code originally stored in a remote storage medium or a non-transitory machine readable storage medium and downloaded through a network and stored in a local storage medium, so that the method described herein can be processed by such software on a storage medium using a general purpose computer, a special purpose processor, or programmable or special hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only memory, a random access memory, a flash memory, a hard disk or a solid state disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that the computer, processor, microprocessor controller or programmable hardware includes a storage component that can store or receive software or computer code, when the software or computer code is accessed and executed by the computer, processor or hardware, the method shown in the above embodiments is implemented.

[0177] Part of the present disclosure can be applied as a computer program product, for example, computer program instructions, when executed by a computer, through the operation of the computer, the method and / or technical solutions according to the present disclosure can be called or provided. Those skilled in the art should understand that the form of computer program instructions in computer readable medium includes but is not limited to source file, executable file, installation package file, etc., and accordingly, the way of computer program instructions executed by computer includes but is not limited to: the computer directly executes the instructions, or the computer compiles the instructions and then executes the corresponding compiled program, or the computer reads and executes the instructions, or the computer reads and installs the instructions and then executes the corresponding installed program. Here, the computer readable medium can be any available computer readable storage medium or communication medium accessible to the computer.

[0178] Although the embodiments of the present disclosure are described in conjunction with the accompanying drawings, various modifications and changes can be made by those skilled in the art without departing from the spirit and scope of the present disclosure, and such modifications and changes fall within the scope defined by the appended claims.

Claims

1. A method for customizing software in a LINUX operating system ISO image, characterized in that: Applied to a software customization system, the software customization system includes a pre-analysis module, a construction module, a testing module, and a distribution module, and the method includes: The pre-analysis module receives a requirement list input by a user, performs pre-analysis processing on the components in the requirement list, and generates a customized work task set; the pre-analysis processing includes: recursively parsing the build dependency tree and the run dependency tree of the target component in the requirement list, identifying missing components and / or conflicting components in the build dependency tree and the run dependency tree, and creating isolation tasks for the conflicting components; wherein the customized work task set includes at least: components to be built, conflicting components or isolation tasks, and the components to be built include: target components and missing components; Through the construction module, based on the customized work task set, a construction platform corresponding to the target ISO is built, the dependent environment of the components to be built is deployed, isolation tasks are performed and independent directories are built for conflicting components, and a temporary finished product warehouse is generated; Generate test cases based on the requirements list through the test module and perform tests on target components in the temporary finished product warehouse; Through the distribution module, based on the target components that have passed the test, the configuration file and extension warehouse of the customized ISO are generated, the customized ISO is built and distributed to the product warehouse.

2. The method according to claim 1, characterized in that The components in the requirement list are pre-analyzed to generate a customized work task set, including: Determine whether the components in the requirement list exist in the standard software warehouse corresponding to the target ISO, and if so, remove them from the requirement list; Taking the remaining components in the requirement list as target components, and analyzing the source types of the target components; If the source type is open source code, recursively parse the build dependency tree and run dependency tree of the target component to identify missing components and conflicting components; If the source type is a third-party package or user-specified integrated software, recursively parse the runtime dependency tree of the target component to identify the missing components and the conflicting components; Merge target components, missing components, conflicting components, and isolated tasks to generate a customized set of work tasks.

3. The method according to claim 2, characterized in that If the source type is open source code, recursively parsing the target component's build dependency tree and run dependency tree to identify missing components and conflicting components includes: Parsing the build dependency tree of the target component and extracting the first-level build dependency component of the build dependency tree; if the build dependency component exists in the standard software repository, verifying the version compatibility of the build dependency component; if the build dependency component does not exist in the standard software repository, determining that the build dependency component is a build missing component; Extracting the build dependency components of the next level in the build dependency tree of the missing build component, recursively analyzing the build dependency components of the next level until the build dependency components of each level are verified to exist or are marked as missing build components, and parsing the runtime dependency tree of the target component; Extracting the first-level runtime dependency component of the runtime dependency tree of the target component; if the runtime dependency component exists in the standard software warehouse, verifying the version compatibility of the runtime dependency component; if the runtime dependency component does not exist in the standard software warehouse, determining that the runtime dependency component is a runtime missing component; Extracting the runtime dependency components of the next level of the runtime missing component in the runtime dependency tree, and recursively analyzing the runtime dependency components of the next level until the runtime dependency components of each level are verified to exist or are marked as runtime missing components; If a build-dependent component exists in the standard software warehouse and the version of the build-dependent component exceeds the version compatibility range of the standard software warehouse, the build-dependent component is determined to be a conflicting component; if a run-dependent component exists in the standard software warehouse and the version of the run-dependent component exceeds the version compatibility range of the standard software warehouse, the run-dependent component is determined to be a conflicting component; Merge building missing components and running missing components as global missing components.

4. The method according to claim 2, characterized in that If the source type is a third-party package or user-specified integrated software, recursively parsing the runtime dependency tree of the target component to identify the missing components and the conflicting components includes: Extracting the first-level runtime dependency component of the runtime dependency tree of the target component; if the runtime dependency component exists in the standard software warehouse, verifying the version compatibility of the runtime dependency component; if the runtime dependency component does not exist in the standard software warehouse, determining that the runtime dependency component is a missing component; Extracting the runtime dependency components of the next level of the missing component in the runtime dependency tree, and recursively analyzing the runtime dependency components of the next level until the runtime dependency components of each level are verified to exist or are marked as missing components; If the execution-dependent component exists in the standard software warehouse and the version of the execution-dependent component exceeds the version compatibility range of the standard software warehouse, it is determined that the execution-dependent component is a conflicting component.

5. The method according to claim 1, wherein The construction module is used to build a construction platform corresponding to the target ISO based on the customized work task set, deploy the dependency environment of the components to be built, perform isolation tasks and build independent directories for conflicting components, and generate a temporary finished product warehouse, including: Build a build platform based on the target ISO's basic environment, ensuring that the build environment of the build platform is consistent with the system configuration of the target ISO; Deploy corresponding build tools and basic library files based on the dependency requirements of the components to be processed to form a complete dependency environment; Perform isolation tasks to configure independent installation directories and environment variables for components marked as conflicting components to be processed; Compile and build the components to be processed, generate binary packages that are adapted to the target ISO, organize the binary packages and form a temporary finished product warehouse.

6. The method according to claim 5, characterized in that The step of generating test cases based on the requirement list by the test module and performing tests on target components in the temporary finished product warehouse includes: Generate test case scripts corresponding to target components based on the functional customization requirements of target components in the requirements list; Obtain the binary package of the target component and the binary package of the missing component from the temporary finished product warehouse, and deploy the binary package of the target component and the binary package of the missing component to the test environment; Execute the test case script to test the binary package of the target component; Generate a test report containing the test results. If the test result is passed, push the binary package of the target component to the distribution module. If the test result is failed, return the binary package of the target component to the construction module for reprocessing.

7. The method according to claim 6, characterized in that The distribution module generates a configuration file and an extension repository for a customized ISO based on the target components that have passed the test, builds the customized ISO, and distributes it to the product repository, including: Generate a customized configuration file adapted to the target ISO based on the binary package of the target component that passed the test and the binary package of the missing component that the target component depends on; Integrate the binary package of the target component and the binary package of the missing component according to the warehouse specification to form an extended warehouse of the customized ISO; Initialize a build environment consistent with the target ISO base environment, integrate the customized configuration file and the extension warehouse into the ISO build process, generate a customized ISO containing the target component and the missing component, and distribute the customized ISO to the product warehouse.

8. A software customization system, characterized in that: The software customization system includes: a pre-analysis module, a construction module, a testing module and a distribution module, wherein: The pre-analysis module is configured to receive a requirement list input by a user, perform pre-analysis processing on the components in the requirement list, and generate a customized work task set; the pre-analysis processing includes: recursively parsing the build dependency tree and the run dependency tree of the target component in the requirement list, identifying missing components and / or conflicting components in the build dependency tree and the run dependency tree, and creating isolation tasks for the conflicting components; wherein the customized work task set includes at least: components to be built, conflicting components, or isolation tasks, and the components to be built include: target components and missing components; The construction module is used to build a construction platform corresponding to the target ISO based on the customized work task set, deploy the dependency environment of the components to be built, perform isolation tasks and build independent directories for conflicting components, and generate a temporary finished product warehouse; The testing module is configured to generate test cases based on the requirement list and execute tests on target components in the temporary finished product warehouse; The distribution module is used to generate a configuration file and an extension warehouse of a customized ISO based on the target components that have passed the test, build the customized ISO, and distribute it to the product warehouse.

9. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the software customization method in the LINUX operating system ISO image according to any one of claims 1 to 7 by executing the computer instructions.

10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the software customization method in the LINUX operating system ISO image according to any one of claims 1 to 7.

11. A computer program product, characterized in that The method comprises computer instructions, wherein the computer instructions are used to enable a computer to execute the software customization method in the LINUX operating system ISO image according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Linux operation system customization method and device

    CN108614701A

  • Software development method and device based on modularization

    CN111324333A