- Posted on
- • Administration
Using AppStream on RHEL-based systems
- Author
-
-
- User
- Linux Bash
- Posts by this author
- Posts by this author
-
Understanding and Utilizing AppStream on RHEL-Based Systems
Red Hat Enterprise Linux 8 introduced a new concept in package management and software distribution called "Application Stream" or AppStream for short. This method enables users to have more flexibility in terms of software versions they install and manage on their systems. Although it originated with RHEL, understanding AppStream is also essential for users of other Linux distributions, especially those based on RHEL like CentOS and Fedora. In this blog post, we will explore how to use AppStream effectively on RHEL-based systems and discuss how to handle similar functionalities in systems using other package managers like apt (Debian/Ubuntu) and zypper (openSUSE).
What is AppStream?
AppStream is part of the larger concept of modular software management that came into the spotlight with RHEL 8. It allows users to install applications in multiple versions simultaneously and switch between them as needed without affecting the whole system’s stability and without needing third-party repositories. Each module in AppStream may contain all the necessary packages that are required to run an application or a set of related software tools, making dependency management simpler and more straightforward.
Using AppStream with dnf
On RHEL-based systems like CentOS or Fedora, you can interact with AppStream using the dnf
package manager. Here’s how you can manage software applications using AppStream:
Searching for Modules: To find available modules for a package, use the command:
dnf module list <package-name>
This will show you all the available versions and streams of the package.
Installing Modules: To install a module, specify the module’s name and stream:
dnf module install <module-name>:<stream>
For instance, to install nodejs version 12, you would use
dnf module install nodejs:12
.Switching Module Streams: If you wish to switch to a different version, first reset the module and then enable the desired stream:
dnf module reset <module-name> dnf module enable <module-name>:<stream> dnf install <module-name>
Removing Modules: To remove a module and all its packages, use:
dnf module remove <module-name>
AppStream-Like Features in Non-RHEL Systems
While AppStream is specific to RHEL 8 and its derivatives, similar functionality can be found in other Linux distributions using different package managers.
Debian and Ubuntu (apt): Debian-based distributions do not use AppStream in the same way. However, they handle multiple software versions through package suffixes or separate packages. You can use apt commands to install specific versions:
apt install <package>=<version>
To find available versions, you might use:
apt list -a <package>
openSUSE (zypper): Zypper does not have a direct equivalent to AppStream but handles multiple versions through vendor change and package locking features. Install specific versions using:
zypper install <package>-<version>
List available versions with:
zypper se -s <package>
Conclusion
AppStream significantly improves software management on RHEL-based systems by allowing multiple versions of applications to exist simultaneously without system conflicts. While other distributions have different mechanisms, the underlying principle of managing multiple software versions effectively remains a common goal. By mastering these tools, system administrators and users can ensure their environments are both flexible and stable.