openSUSE’s Agama: A New and Innovative Linux Installer

Learn about openSUSE’s Agama, a new Linux installer that offers reusability, integration, and advanced user interfaces.

openSUSE is a popular Linux distribution that offers a stable and reliable operating system for desktops, servers, and cloud environments. openSUSE is also known for its innovative and cutting-edge projects, such as the YaST control center, the OBS build service, and the Kubic container platform.

One of the latest projects from openSUSE is Agama, a new Linux installer that aims to overcome some of the limitations of YaST and to serve as a flexible and powerful tool for installing and configuring openSUSE and other Linux-based systems.

In this article, we will explore what Agama is, how it works, and what benefits it brings to the Linux community.

What is Agama?

Agama is a service-based Linux installer that was born in the core of the YaST team. It is designed to offer reusability, integration with third-party tools, and the possibility of building advanced user interfaces over it.

Agama consists of two main components:

  • A service that runs on the system to be installed and exposes a REST API for manipulating the installation settings and performing actions.
  • A web interface that communicates with the service and provides a graphical user interface for the installation process.

The web interface can be accessed from any device that has a web browser and can connect to the system to be installed. This means that you can install your system from your smartphone, tablet, or laptop without needing physical access to it.

Agama also supports auto-installation, which means that you can provide a configuration file or a script that defines how you want your system to be installed and configured. Agama will then perform the installation automatically without any user intervention.

READ ALSO: 10 Chrome Extensions You Need to Try in 2023 to Achieve More in Less Time

Why a new installer? Isn’t YaST good enough?

YaST is a powerful and versatile tool that has been serving as the main installer for openSUSE for many years. However, YaST also has some drawbacks that limit its usability and functionality in some scenarios. Some of these drawbacks are:

  • YaST is tightly coupled with openSUSE and its specific features. This makes it hard to reuse or adapt YaST for other distributions or systems.
  • YaST is based on a monolithic architecture that makes it difficult to extend or modify its components. For example, adding a new module or plugin to YaST requires modifying its source code and recompiling it.
  • YaST uses a graphical user interface (GUI) that is based on ncurses, a library that provides text-based widgets for terminals. This GUI is not very user-friendly or attractive compared to modern web-based interfaces.
  • YaST does not support remote installation or auto-installation very well. For remote installation, you need to use VNC or SSH to access the system to be installed. For auto-installation, you need to use AutoYaST, a separate tool that uses XML files to define the installation settings.

Agama was created to address these issues and to provide a more flexible and modern alternative to YaST. Agama does not aim to replace YaST completely, but rather to complement it and to offer new possibilities for installing and configuring Linux systems.

How does Agama work?

Agama works by using a modular and declarative approach to define the installation settings and actions. The installation settings are stored in a JSON file that describes the system configuration, such as the disk layout, the network settings, the software selection, and the user accounts.

The installation actions are defined in YAML files that specify what commands or scripts to execute at different stages of the installation process. For example, you can run custom commands before or after partitioning the disk, installing the software packages, or booting into the new system.

Agama Installer, Image credits: openSUSE From linuxiac

Agama uses a schema to validate and evaluate the installation settings and actions. The schema defines what values are allowed for each setting or action and how they are processed. The schema also allows dynamic profiles, which means that you can use variables or expressions to generate different values depending on certain conditions.

Agama provides a command-line tool called agama that allows you to interact with the service and perform various tasks. For example, you can use agama to:

  • Show or modify the current installation settings.
  • Validate or evaluate an installation profile.
  • Generate an installation profile from the current system configuration.
  • Start or stop the installation process.
  • Query or control the installation status.

What are the benefits of Agama?

Agama offers several benefits over traditional Linux installers, such as:

  • Reusability: You can reuse the same installation profile or script for multiple systems or different distributions. You can also share your profiles or scripts with others or use existing ones from online repositories.
  • Integration: You can integrate Agama with other tools or frameworks that support REST APIs or YAML files. For example, you can use Salt or Ansible to manage your installation profiles or scripts.
  • Flexibility: You can customize every aspect of your installation process by using custom commands or scripts. You can also extend Agama’s functionality by adding new modules or plugins.
  • User experience: You can choose between different user interfaces for your installation process. You can use the web interface for a graphical and interactive experience, or you can use the command-line tool for a more automated and headless experience.

openSUSE’s Agama is a new and innovative Linux installer that offers reusability, integration, and advanced user interfaces. It is designed to overcome some of the limitations of YaST and to serve as a flexible and powerful tool for installing and configuring openSUSE and other Linux-based systems.

If you are interested in trying out Agama, you can download one of the live ISO images from the openSUSE Build Service that include different openSUSE distributions or SUSE ALP (Adaptable Linux Platform), a new project from SUSE that aims to create a lean core system based on containers and virtual machines.

You can also check out the GitHub repository for more information about Agama’s architecture, features, documentation, and development.

SOURCE:

SPONSORED:

What’s your Reaction?
+1
19.8k
+1
11.7k
+1
3.3k
+1
4.6k
+1
992
+1
781
+1
2.3k