Software installation methods, systems, computing devices, and readable storage media
By integrating software sources with multiple kernel versions into the software installation image and dynamically adjusting the status of the software sources, the problem of not being able to select multiple kernel versions in existing technologies is solved, enabling the free selection of the appropriate kernel version for software installation and improving the versatility of the installation image.
Patent Information
- Application Number
- CN202210673052.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-14
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2042-06-14
AI Technical Summary
Existing technology cannot select multiple kernel versions in a single system installation image, making it impossible to install strongly related packages separately. The installation order affects the actual selection result, and modifications to packageList and excludedList may lead to errors.
The software installation image integrates software sources for multiple kernel versions, and dynamically adjusts the enabling status of the software sources by listening for user option change events, generating a second list for software installation.
This allows for the deployment of multiple kernel versions within a single software installation image, enabling users to freely choose the appropriate kernel version. This improves product versatility and avoids the situation where multiple products are created using the same kernel version.
Smart Images

Figure CN115185545B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer and Internet technology, and in particular to a software installation method, system, computing device, and readable storage medium. Background Technology
[0002] Currently, system installation does not support the selective installation of multiple kernel versions. Existing OpenAnolis community versions can deploy up to two kernel versions within a single system installation image to support the selective installation of two kernel versions. This approach first reads the kernel version and package names from the software repository, separating different packages according to kernel version. After the user selects a kernel version, the selected package name and kernel version are added to the `packageList` or removed from the `excludedList` to control the kernel version selection. However, this approach has at least three drawbacks: First, it cannot select and configure multiple kernel versions, and packages strongly related to the kernel cannot be installed separately. Second, the `packageList` and `excludedList` lists have other uses during installation, and modifying these lists may affect the actual selection result. Third, regarding the installation order, if packages installed earlier depend on a kernel, the system will default to installing the higher kernel version, thus affecting the actual selection result.
[0003] Therefore, a software installation method is needed to solve the problems existing in the current technical solutions. Summary of the Invention
[0004] Therefore, the present invention provides a software installation method, system, computing device, and readable storage medium to solve or at least alleviate the problems mentioned above.
[0005] According to a first aspect of the present invention, a software installation method is provided, the method comprising: integrating multiple kernel version software sources into a software installation image, and recording the multiple kernel version software sources in a first list corresponding to the installer in the software installation image, wherein each element in the first list corresponds to an option; after starting the installer, in response to the original selected first option in the software selection interface being changed to the selected second option, enabling the software source corresponding to the second option, and disabling the software sources corresponding to other options in all options in the first list, thereby generating a second list; and performing software installation based on the software sources corresponding to the enabled options in the second list.
[0006] Optionally, the software installation method according to the present invention further includes: continuously monitoring whether an option change event occurs in the software selection interface; if an option change event occurs, enabling or disabling the corresponding option based on the option change event.
[0007] Optionally, in the software installation method according to the present invention, the first element in the kernel list defined by the installer is the default option, and the method further includes: in response to selecting the default option in the software selection interface, performing software installation based on the software source corresponding to the option in the enabled state of the first list.
[0008] Optionally, the software installation method according to the present invention further includes: updating the second list to make the second list effective.
[0009] Optionally, the software installation method according to the present invention further includes: removing the relevant data of the original kernel version software source in the software installation image from the software installation image.
[0010] Optionally, the software installation method according to the present invention further includes processing other configurations for software installation, including at least one of keyboard selection, installation source selection, language selection, time and date, software selection, installation destination, network and hostname settings, KDUMP settings, and password settings.
[0011] Optionally, in the software installation method according to the present invention, the installer is Anaconda.
[0012] According to a second aspect of the present invention, a software installation system is provided, the system comprising: a deployment module adapted to integrate multiple kernel version software sources in a software installation image and record the multiple kernel version software sources in a first list corresponding to the installer in the software installation image, wherein each element in the first list corresponds to an option; and a selection installation module adapted to, after starting the installer, in response to the original selected first option in the software selection interface being changed to the selected second option, enable the software source corresponding to the second option and disable the software sources corresponding to other options in all options corresponding to the first list, generate a second list, and further adapted to perform software installation based on the software sources corresponding to the enabled options in the second list.
[0013] Optionally, the software installation system according to the present invention further includes: a monitoring module, adapted to continuously monitor whether an option change event occurs in the software selection interface, and if an option change event occurs, to enable or disable the corresponding option based on the option change event.
[0014] According to a third aspect of the present invention, a computing device is provided, comprising: at least one processor; and a memory storing program instructions, wherein the program instructions are configured to be executed by the at least one processor, the program instructions including instructions for performing the methods described above.
[0015] According to a fourth aspect of the present invention, a readable storage medium storing program instructions is provided, which, when read and executed by a computing device, causes the computing device to perform the method described above.
[0016] According to the technical solution of this invention, by integrating multiple kernel versions of software sources into a software installation image, multiple kernel versions can be deployed within a single software installation image, allowing users to freely choose the appropriate kernel version based on different usage scenarios. Different kernel versions of software can be installed through a single software installation image, improving the product versatility of the software installation image and avoiding the situation where multiple products are generated using the same kernel version.
[0017] The above description is merely an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of the present invention more apparent and understandable, specific embodiments of the present invention are described below. Attached Figure Description
[0018] To achieve the foregoing and related objectives, certain illustrative aspects are described herein in conjunction with the following description and accompanying drawings. These aspects indicate various ways in which the principles disclosed herein may be practiced, and all aspects and their equivalents are intended to fall within the scope of the claimed subject matter. The foregoing and other objectives, features, and advantages of this disclosure will become more apparent from the following detailed description, taken in conjunction with the accompanying drawings. Throughout this disclosure, the same reference numerals generally refer to the same parts or elements.
[0019] Figure 1 A block diagram of the physical components of a computing device 100 according to an embodiment of the present invention is shown;
[0020] Figure 2 A flowchart of a software installation method 200 according to an embodiment of the present invention is shown;
[0021] Figure 3 A flowchart of a software installation method 300 according to another embodiment of the present invention is shown;
[0022] Figure 4 A flowchart of a software installation method 400 according to another embodiment of the present invention is shown; and
[0023] Figure 5 A schematic diagram of a software installation system 500 according to an embodiment of the present invention is shown. Detailed Implementation
[0024] Exemplary embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
[0025] This invention provides a software installation method suitable for execution on computing devices, which enables the deployment of multiple kernel versions into a single software installation image, allowing users to freely choose to install any kernel version and meet the needs of different users in different usage scenarios.
[0026] The terminology involved in this invention will be explained below.
[0027] Anaconda is a system installer from the GNU project. During installation, it identifies and configures the target computer's hardware and creates an appropriate file system for the system architecture. Anaconda allows users to install operating system software on the target computer. Anaconda is the installation manager for Linux operating systems such as Red Hat, CentOS, and Fedora. It offers text-based, graphical, and other installation methods and supports scripts like Kickstart for automated installation. Anaconda can also upgrade existing installations of earlier versions of the same distribution. After installation, users can reboot into the installed system and continue with customization using the initial settings. Anaconda is a fairly complex installer. It supports installation from local and remote sources such as CDs and DVDs, images stored on hard drives, NFS, HTTP, and FTP. Installation scripts can be written using Kickstart to provide a completely unattended installation that can be replicated across dozens of machines. It can also run on headless machines using VNC. The partitioning program supports various advanced storage devices, including LVM, RAID, iSCSI, and multipathing. Anaconda provides advanced debugging features such as remote logging, access to a Python interactive debugger, and remote saving of exception dumps.
[0028] Kernel: Also known as the kernel, the Linux kernel is a clone of the Unix operating system, written from scratch by Linus Torvalds with the assistance of a team of cyber hackers. Its goal was to conform to the POSIX and Single UNIX standards. It possesses all the features expected of a modern, mature Unix system, including true multitasking, virtual memory, shared libraries, on-demand loading, shared copy-on-write executables, proper memory management, and multi-tiered networking including IPv4 and IPv6. Linux was originally developed for 32-bit x86-based PCs (386 or later), but today it also runs on a variety of other processor architectures, including 32-bit and 64-bit variants.
[0029] Figure 1 A block diagram of the physical components (i.e., hardware) of a computing device 100 is shown. In a basic configuration, the computing device 100 includes at least one processing unit 102 and a system memory 104. According to one aspect, depending on the configuration and type of the computing device, the processing unit 102 may be implemented as a processor. The system memory 104 includes, but is not limited to, volatile memory (e.g., random access memory), non-volatile memory (e.g., read-only memory), flash memory, or any combination of such memories. According to one aspect, the system memory 104 includes an operating system 105 and a program module 106, the program module 106 including a software installation module 120 configured to perform the software installation method of the present invention.
[0030] According to one aspect, operating system 105 is, for example, suitable for controlling the operation of computing device 100. Furthermore, examples are practiced in conjunction with graphics libraries, other operating systems, or any other applications, and are not limited to any particular application or system. Figure 1 The basic configuration is illustrated by the components within the dashed lines 108. According to one aspect, the computing device 100 has additional features or functions. For example, according to one aspect, the computing device 100 includes additional data storage devices (removable and / or non-removable), such as disks, optical discs, or magnetic tapes. This additional storage... Figure 1 The middle part is shown by removable storage device 109 and non-removable storage device 110.
[0031] As stated above, according to one aspect, a program module 106 is stored in system memory 104. According to one aspect, program module 106 may include one or more applications. The present invention does not limit the type of application; for example, applications may include: email and contact applications, word processing applications, spreadsheet applications, database applications, slideshow applications, drawing or computer-aided applications, web browser applications, etc.
[0032] According to one aspect, examples can be practiced on circuits including discrete electronic components, packaged or integrated electronic chips containing logic gates, circuits utilizing microprocessors, or on a single chip containing electronic components or a microprocessor. For example, it can be practiced via wherein... Figure 1 Each or many of the components shown can be implemented as an example by integrating a System-on-a-Chip (SOC) on a single integrated circuit. According to one aspect, such an SOC device may include one or more processing units, graphics units, communication units, system virtualization units, and various application functions, all integrated (or “burned in”) as a single integrated circuit onto a chip substrate. When operating via the SOC, the functions described herein can be operated via dedicated logic integrated on a single integrated circuit (chip) with other components of the computing device 100. Embodiments of the invention can also be implemented using other techniques capable of performing logical operations (e.g., AND, OR, and NOT), including but not limited to mechanical, optical, fluid, and quantum technologies. Additionally, embodiments of the invention can be implemented within a general-purpose computer or in any other circuit or system.
[0033] According to one aspect, computing device 100 may also have one or more input devices 112, such as a keyboard, mouse, pen, voice input device, touch input device, etc. It may also include output devices 114, such as a display, speaker, printer, etc. The foregoing devices are examples and other devices may also be used. Computing device 100 may include one or more communication connections 116 that allow communication with other computing devices 118. Examples of suitable communication connections 116 include, but are not limited to: RF transmitter, receiver and / or transceiver circuitry; Universal Serial Bus (USB), parallel and / or serial ports.
[0034] As used herein, the term computer-readable medium includes computer storage medium. Computer storage medium can include volatile and non-volatile, removable and non-removable media implemented using any method or technology for storing information (e.g., computer-readable instructions, data structures, or program modules). System memory 104, removable storage device 109, and non-removable storage device 110 are examples of computer storage media (i.e., memory storage). Computer storage media can include random access memory (RAM), read-only memory (ROM), electrically erasable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical storage, magnetic tape, magnetic tape, disk storage or other magnetic storage devices, or any other article of manufacture that can be used to store information and is accessible by computer device 100. According to one aspect, any such computer storage medium can be part of computing device 100. Computer storage media does not include carrier waves or other transmitted data signals.
[0035] According to one aspect, a communication medium is implemented by computer-readable instructions, data structures, program modules, or other data in a modulated data signal (e.g., a carrier wave or other transmission mechanism), and includes any information transmission medium. According to one aspect, the term "modulated data signal" describes a signal having one or more sets of characteristics or altered in a manner that encodes information in the signal. By way of example and not limitation, a communication medium includes wired media such as wired networks or direct wired connections, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.
[0036] In one embodiment of the present invention, a computing device 100 includes one or more processors and one or more readable storage media storing program instructions. When the program instructions are configured to be executed by one or more processors, the computing device causes the computing device to perform the software installation method of the present invention.
[0037] Figure 2 A flowchart of a software installation method 200 according to an embodiment of the present invention is shown. Method 200 is adapted to be executed in a computing device (e.g., the aforementioned computing device 100). The software may be an operating system, such as Linux, Debian, Ubuntu, Fedora, but is not limited thereto.
[0038] like Figure 2 As shown, method 200 begins with step S210.
[0039] In step S210, multiple kernel versions of software sources are integrated into the software installation image.
[0040] Subsequently, in step S220, the installer in the software installation image is launched.
[0041] Subsequently, in step S230, other configurations for the software installation are performed.
[0042] Subsequently, in step S240, multiple kernel version options are presented in the software selection interface, and it is determined whether the option selected by the user is the default option.
[0043] In response to the user selecting the default option, step S250 is executed to begin installing the software corresponding to the kernel version of the default option.
[0044] In response to the user selecting an option corresponding to another kernel version, step S260 is executed to begin installing the software corresponding to the kernel version selected by the user.
[0045] To more clearly describe the software installation method of the present invention, the following will be combined with... Figure 3 Provide a detailed description. Figure 3 A flowchart of a software installation method 300 according to another embodiment of the present invention is shown. Method 300 is adapted to be executed in a computing device (e.g., the aforementioned computing device 100). The software may be an operating system, such as Linux, Debian, Ubuntu, Fedora, but is not limited thereto.
[0046] like Figure 3 As shown, method 300 begins with step S310.
[0047] In step S310, multiple kernel version software sources are integrated into the software installation image, and these multiple kernel version software sources are recorded in the first list corresponding to the installer in the software installation image. The installer can be Anaconda.
[0048] According to one embodiment of the present invention, multiple kernel version software repositories are integrated into a software installation image. These repositories include different kernel versions and other strongly related software packages for each kernel version. The storage format of the multiple kernel version software repositories integrated into the software installation image is the same as the original basic software repositories in the software installation image: yum repositories storing multiple kernel versions and their strongly related software packages, with the directory name being kernel + version number.
[0049] According to one embodiment of the present invention, the default version of the kernel and its related software packages, i.e., the data related to the previously deployed kernel version software source, are removed from the software installation image. This separates the multiple kernel version software sources integrated into the software installation image from the original default installation software source, allowing the installer to select the kernel version by enabling or disabling different software sources. Optionally, the default version of the kernel and its related software packages, i.e., the data related to the previously deployed kernel version software source, are set separately as one version among multiple kernel version software sources. This removes the kernel version information from the original default location of the software installation image and sets it separately as one of multiple kernel versions, ensuring independent kernel installation during software installation.
[0050] According to an embodiment of the present invention, the first list is a list of software sources in the software installation image, used to record multiple kernel versions of software sources integrated in the software installation image. Each element in the first list corresponds to an option. When installing software through the software installation image, the installer in the software installation image determines the kernel version to be installed based on the contents of the first list and presents the options corresponding to these kernel versions to the user. For example, the first list includes multiple software sources such as AppStream, BaseOS, kernel-4.18, and kernel-5.10. During the software installation process, the options corresponding to the kernel versions included in the first list are presented to the user so that the user can select the software source of the kernel version to be installed.
[0051] Subsequently, in step S320, after the installation program is started, in response to the original first option in the software selection interface being changed to the second option, the software source corresponding to the second option is enabled, and the software sources corresponding to all options in the first list except the second option are disabled, and a second list is generated.
[0052] According to an embodiment of the present invention, in response to a user's selection of an option, the installer adjusts the state of software sources for different kernel versions in a first list. The state of the software source corresponding to the kernel version of the user-selected option is enabled, while the state of the software sources corresponding to the kernel versions of other options in the first list is disabled. The first selected option in the software selection interface can be the default option or the option previously selected by the user. If no software source is selected after starting the installer, the first option is the default option. If the user does not change the option but selects to directly install the default option in the software selection interface, the software installation is based on the software source corresponding to the default option, i.e., based on the software source corresponding to the enabled option in the first list. If the user changes the default option to option A after starting the installer, the software source corresponding to option A is enabled, and the software sources corresponding to other options besides option A are disabled. If the user then changes option A to option B, the software source corresponding to option B is enabled, and the software sources corresponding to other options besides option B are disabled. The default option is the first element in the kernel list defined by the installer. The software source list defined by the installer is a subset of the first list. For example, the first list includes software sources for kernel versions AppStream, BaseOS, kernel-4.18, and kernel-5.10, while the kernel list defined by the installer only refers to software sources for kernel versions 4.18 and 5.10.
[0053] After the installer starts, according to an embodiment of the present invention, the system will install other configurations during the software installation process, including but not limited to keyboard selection, installation source selection, language selection, time and date, software selection, installation destination, network and hostname settings, KDUMP settings, password settings, and all other configurations involved in the software installation process.
[0054] According to an embodiment of the present invention, the installer creates and inherits various subclasses of the `spoke` class through the `spoke` parent class to implement other configuration processing for software installation. Each `spoke` corresponds to a UI program as an operation interface for configuration items. One of the `spoke` options is software selection, which is one of the other configurations. It provides an operation interface for users to select the basic environment (e.g., "server with DDE", "minimal installation", "server", "workstation", "custom operating system", "virtualized host") and additional components (e.g., "legacy UNIX compatibility", "container management", "development tools", ".NET core development", "graphical management tools", "headless system management", "network server", "RPM development tools"), i.e., the software selection interface. The basic environment and additional components are components in the basic software source of the system installation image. The basic environment is a collection of components, and components are collections of software packages. The existing system installation process does not handle kernel selection. This invention adds kernel selection processing and the interface to the software selection `spoke`, allowing users to select software with multiple kernel versions through the interface. After the user selects a kernel version, the software with that kernel version will be installed.
[0055] Specifically, the UI for selecting the spoken version of the software is modified. A scrolling window is added to the original UI layout to house a Radiobutton control for selecting the kernel version of the software source. A listener function is set up to assign the kernel selection variable used to select the kernel version of the software source to the currently selected option. When an option change event is detected in the Radiobutton control, the kernel selection variable used to select the kernel version of the software source is assigned the current option (i.e., the second option) to replace the default option or the previous option (i.e., the first option). At the same time, the kernel version of the software source corresponding to the current option is enabled, and other kernel version software sources are disabled. This creates a new list of software sources based on the user's selection (i.e., the second list). The second list records the kernel version of the software source selected by the user, i.e., the kernel version software sources that are currently enabled.
[0056] After the second list is generated, it is not yet effective because the installer still retains the first list before the changes. The second list needs to be updated. When the user changes the selected option from the first to the second in the software selection interface, the update operation is added to the computing device's bus message queue, and the installer then updates the second list. Once the second list is updated, the installation of the software corresponding to the selected kernel version's software source begins. Optionally, the installer continuously monitors the software selection interface for option change events. If an option change event occurs, it enables or disables the corresponding option based on the event, enabling the changed selected option and disabling all other options, and then generating a new second list.
[0057] Subsequently, in step S330, software installation is performed based on the software sources corresponding to the options in the enabled state in the second list. Specifically, software installation is performed according to the software sources corresponding to the options in the enabled state recorded in the latest second list.
[0058] According to the technical solution of this invention, by integrating multiple kernel versions of software sources into a software installation image, multiple kernel versions can be deployed within a single software installation image, allowing users to freely choose the appropriate kernel version based on different usage scenarios. Different kernel versions of software can be installed through a single software installation image, improving the product versatility of the software installation image and avoiding the situation where multiple products are generated using the same kernel version.
[0059] To more clearly describe the software installation method of the present invention, more detailed instructions will be provided below. Figure 4 Please provide an explanation. Figure 4 A flowchart of a software installation method 400 according to another embodiment of the present invention is shown. Method 400 is adapted to be executed in a computing device (e.g., the aforementioned computing device 100). The software may be an operating system, such as Linux, Debian, Ubuntu, Fedora, but is not limited thereto.
[0060] like Figure 4 As shown, method 400 begins with step S401.
[0061] In step S401, multiple kernel versions of the software source are added to the software installation image.
[0062] Subsequently, in step S402, the software sources for multiple kernel versions are recorded in the first list corresponding to the installer in the software installation image.
[0063] Subsequently, in step S403, a UI interface is added to the UI program corresponding to the software selection "spoke".
[0064] Subsequently, in step S404, a listener is set up to monitor whether the software selection interface has changed.
[0065] Subsequently, in step S405, it is detected whether the option in the software selection interface is the default option.
[0066] Subsequently, in step S406, if the option in the software selection interface is the default option, the kernel selection variable used to select the software source for the kernel version is assigned the default option. Then, proceed to step S411 to complete the configuration.
[0067] Subsequently, in step S407, if the option in the software selection interface is not the default option, that is, if an option change event is detected in the software selection interface, the originally selected first option is changed to the selected second option, the software source corresponding to the second option is enabled, other software sources are disabled, and a second list is generated.
[0068] Subsequently, in step S408, the system continuously monitors whether any option change events occur on the software selection interface.
[0069] Subsequently, in step S409, if an option change event is detected in the software selection interface, the selected option after the change is enabled, the remaining options are disabled, and a new second list is generated. Then, proceed to step S410.
[0070] If no option change event is detected in the software selection interface, proceed to step S410 to update the second list (including the new second list).
[0071] Subsequently, in step S411, the configuration is completed.
[0072] This invention also provides a software installation system. Figure 5 A schematic diagram of a software installation system 500 according to an embodiment of the present invention is shown, such as... Figure 5 As shown, the software installation system 500 includes a deployment module 510 and an installation selection module 520. Optionally, the software installation system also includes a monitoring module 530.
[0073] The deployment module 510 in the software installation system 500 is adapted to integrate multiple kernel versions of software sources into the software installation image and record the multiple kernel versions of software sources in the first list corresponding to the installer in the software installation image, wherein each element in the first list corresponds to an option.
[0074] The selection installation module 520 in the software installation system 500 is adapted to, after starting the installation program, respond to the change of the originally selected first option in the software selection interface to the selected second option, enable the software source corresponding to the second option, and disable the software sources corresponding to other options in the options, generate a second list, and is also adapted to perform software installation based on the software sources corresponding to the enabled options in the second list.
[0075] Optionally, the software installation system 500 also includes a monitoring module 530, which is adapted to continuously monitor whether an option change event occurs in the software selection interface. If an option change event occurs, the corresponding option is enabled or disabled based on the option change event.
[0076] It should be noted that the working principles and processes of the deployment module 510, the installation module 520, and the monitoring module 530 are similar to those of the aforementioned software installation methods 200-400. For details, please refer to the descriptions of the software installation methods 200-400 above, which will not be repeated here.
[0077] According to the technical solution of this invention, by integrating multiple kernel versions of software sources into a software installation image, multiple kernel versions can be deployed within a single software installation image, allowing users to freely choose the appropriate kernel version based on different usage scenarios. Different kernel versions of software can be installed through a single software installation image, improving the product versatility of the software installation image and avoiding the situation where multiple products are generated using the same kernel version.
[0078] The various techniques described herein can be implemented in combination with hardware or software, or a combination thereof. Thus, the methods and apparatus of the present invention, or certain aspects or portions thereof, can take the form of program code (i.e., instructions) embedded in a tangible medium, such as a removable hard disk, USB flash drive, floppy disk, CD-ROM, or any other machine-readable storage medium, wherein when the program is loaded into and executed by a machine such as a computer, the machine becomes an apparatus for practicing the present invention.
[0079] When the program code is executed on a programmable computer, the mobile terminal generally includes a processor, a processor-readable storage medium (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device. The memory is configured to store program code; the processor is configured to execute the software installation method of the present invention according to instructions in the program code stored in the memory.
[0080] By way of example, and not limitation, readable media include readable storage media and communication media. Readable storage media stores information such as computer-readable instructions, data structures, program modules, or other data. Communication media generally embodies computer-readable instructions, data structures, program modules, or other data in the form of modulated data signals such as carrier waves or other transmission mechanisms, and includes any information delivery medium. Any combination of the above is also included within the scope of readable media.
[0081] In the specification provided herein, the algorithms and displays are not inherently related to any particular computer, virtual system, or other device. Various general-purpose systems can also be used with the examples of this invention. The required structure for constructing such systems is apparent from the above description. Furthermore, this invention is not directed to any particular programming language. It should be understood that the contents of the invention described herein can be implemented using various programming languages, and the above description of specific languages is for the purpose of disclosing the best mode of implementation of the invention.
[0082] Numerous specific details are set forth in the specification provided herein. However, it will be understood that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.
[0083] Similarly, it should be understood that, in order to streamline this disclosure and aid in understanding one or more of the various aspects of the invention, in the above description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof. However, this method of disclosure should not be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as reflected in the following claims, inventive aspects lie in fewer than all features of a single foregoing disclosed embodiment. Therefore, the claims following the detailed description are hereby expressly incorporated into this detailed description, wherein each claim itself is a separate embodiment of the invention.
[0084] Those skilled in the art will understand that modules, units, or components of the devices disclosed in the examples herein can be arranged in the devices described in this embodiment, or alternatively, can be located in one or more devices different from the devices in this example. The modules in the foregoing examples can be combined into a single module or, in addition, can be divided into multiple sub-modules.
[0085] Those skilled in the art will understand that modules in the device of the embodiments can be adaptively changed and placed in one or more devices different from that embodiment. Modules, units, or components in the embodiments can be combined into a single module, unit, or component, and further, they can be divided into multiple sub-modules, sub-units, or sub-components. Except where at least some of such features and / or processes or units are mutually exclusive, any combination can be used to combine all features disclosed in this specification (including the accompanying claims, abstract, and drawings) and all processes or units of any method or device so disclosed. Unless expressly stated otherwise, each feature disclosed in this specification (including the accompanying claims, abstract, and drawings) may be replaced by an alternative feature that serves the same, equivalent, or similar purpose.
[0086] Furthermore, those skilled in the art will understand that although some embodiments described herein include certain features but not others included in other embodiments, combinations of features from different embodiments are intended to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments can be used in any combination.
[0087] Furthermore, some of the embodiments described herein are methods or combinations of method elements that can be implemented by a processor of a computer system or by other means of performing the functions. Therefore, a processor having the necessary instructions for implementing the methods or method elements forms means for implementing the methods or method elements. Furthermore, the elements described herein in the apparatus embodiments are examples of means for implementing the functions performed by elements for the purposes of carrying out the invention.
[0088] As used herein, unless otherwise specified, the use of ordinal numbers such as “first,” “second,” “third,” etc., to describe ordinary objects merely indicates different instances of similar objects and is not intended to imply that the objects being described must have a given order in time, space, ordering, or any other manner.
[0089] Although the invention has been described with respect to a limited number of embodiments, those skilled in the art will understand from the foregoing description that other embodiments are conceivable within the scope of the invention described herein. Furthermore, it should be noted that the language used in this specification has been chosen primarily for readability and edibility purposes, and not for the purpose of interpreting or limiting the subject matter of the invention. Therefore, many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the appended claims. The disclosure of the invention is illustrative rather than restrictive, and the scope of the invention is defined by the appended claims.
Claims
1. A software installation method, the method comprising: The software installation image integrates software sources for multiple kernel versions, and records the software sources for multiple kernel versions in a first list corresponding to the installer in the software installation image, wherein each element in the first list corresponds to an option, and the installer is Anaconda; After the installer is started, in response to the original first option being selected in the software selection interface being changed to the second option, the software source corresponding to the second option is enabled, and the software sources corresponding to other options in the first list are disabled, and a second list is generated. The software is installed based on the software source corresponding to the option in the second list that is enabled.
2. The method according to claim 1, further comprising: The system continuously monitors whether an option change event occurs in the software selection interface. If such an event occurs, the system enables or disables the corresponding option based on the event.
3. The method according to claim 1 or 2, wherein, The first element in the kernel list defined by the installer is the default option, and the method further includes: In response to selecting the default option in the software selection interface, software installation is performed based on the software source corresponding to the option in the enabled state of the first list.
4. The method according to any one of claims 1 to 3, further comprising: Update the second list to make it effective.
5. The method according to any one of claims 1 to 4, further comprising: Remove the relevant data of the original kernel version software source from the software installation image.
6. The method according to any one of claims 1 to 5, further comprising: The software installation process handles other configurations, including at least one of the following: keyboard selection, installation source selection, language selection, time and date, software selection, installation destination, network and hostname settings, KDUMP settings, and password settings.
7. A software installation system, the system comprising: The deployment module is adapted to integrate multiple kernel versions of software sources into a software installation image and record the multiple kernel versions of software sources in a first list corresponding to the installer in the software installation image, wherein each element in the first list corresponds to an option, and the installer is Anaconda; The installation module is adapted to, after the installation program is started, respond to the change of the originally selected first option in the software selection interface to the selected second option, enable the software source corresponding to the second option, and disable the software sources corresponding to other options in the first list, generate a second list, and is also adapted to perform software installation based on the software sources corresponding to the enabled options in the second list.
8. The system according to claim 7, further comprising: The monitoring module is adapted to continuously monitor whether an option change event occurs in the software selection interface. If the option change event occurs, the module enables or disables the corresponding option based on the option change event.
9. A computing device, comprising: At least one processor; as well as A memory storing program instructions, wherein the program instructions are configured to be executed by the at least one processor, the program instructions including instructions for performing the method as claimed in any one of claims 1 to 6.
10. A readable storage medium storing program instructions that, when read and executed by a computing device, cause the computing device to perform the method as described in any one of claims 1 to 6.