By default, AlmaLinux does not come with Snap or Snap Store installed as this is a feature that was built by developed by Canonical as a faster and easier way to get the latest versions of software installed on Ubuntu systems, and Snap packages are installed from a central SNAP server operated by Canonical.
Snap can be installed and, for the most part, work with most packages on AlmaLinux-based systems that are currently actively supported. There are a few conflicts with specific packages. The issue with Snaps VS DNF package manager is that Snaps are self-contained, which results in an increased .snap due to having all its dependencies included along with various degrees of slight performance degradation compared to a natively installed application. In contrast, DNF is much lighter than its snap counterpart because it does not need to bundle dependencies.
In the following tutorial, you will learn how to install Snapd on AlmaLinux 9 with the terminal and GUI methods with basic tips on how to launch or install/remove packages with Snapcraft.
Table of Contents
First, update your system to ensure all existing packages are up to date.
sudo dnf upgrade --refresh -y
Import EPEL Repository
The first task is to install the (EPEL) repository, which stands for (Extra Packages for Enterprise Linux). For newer users of AlmaLinux and similar distributions based on RHEL, EPEL contains the most commonly used software packages for Enterprise Linux.
First, enable the CRB.
sudo dnf config-manager --set-enabled crb
Next, install EPEL using the following (dnf) terminal command.
sudo dnf install \ https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \ https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm
Install Required Packages
Before you proceed with the installation, run the following command to install the following packages.
sudo dnf install fuse squashfuse -y
Install Snapcraft – Snapd Terminal
Snapcraft, also known as Snap or Snapd, is available to be installed from AlmaLinux appstream for users that wish to only install the terminal version of Snapcraft with the package named snapd.
Begin the Snap installation, and run the following command.
sudo dnf install snapd -y
Next, before you continue any further, it is highly advised to reboot your system. Failure to do this will result in errors occurring in the following steps. The reason why this is done to so Snap can properly generate paths.
You can quickly reboot while in the terminal by using the following command.
Now enable Snapd service as follows.
sudo systemctl enable snapd --now
Next, some packages come in classic, so you must create a symlink to enable classic snap support.
sudo ln -s /var/lib/snapd/snap /snap
When installing Snap for the first time, it is advised to install the core files to avoid conflicting issues:
sudo snap install core
Next, verify the Snapd service is running by using the systemctl command:
systemctl status snapd
Install a Package
Now that Snap is installed, you can quickly test installing a package, which can be anything; however, for the tutorial, the Discord application will be the example.
sudo snap install discord
For the future, to update Discord and any other packages installed by Snap, run the following command:
sudo snap refresh
If you no longer need to have Discord installed, remove it using the Snap remove command.
sudo snap remove discord
Install Snap-Store – Snap GUI
After installing Snapd on your AlmaLinux system, Desktop users have the option to install the Snapcraft store, which uses a graphical UI that can be more appealing and make it easier to search for packages. This is entirely optional, but if you want to install it, run the following command:
sudo snap install snap-store
With the install complete, you can run Snap Store in a few different ways.
First, while you are in your terminal, you can use the following command:
snap run snap-store
Most desktop users would use the following path to open.
Activities > Show Applications > Snap Store.
Once open the first time and on cache updates, it may take a minute or two for the latest packages to be pulled from Snapcrafts server. Once done, you can begin searching and installing packages from Snap using the GUI.
How to Remove Snapcraft – Snapd & Snap-Store
Removing Snap from your system is an easy process. This will also remove all packages during the installation.
sudo dnf remove snapd -y
This will remove Snap and any additional packages installed and dependencies. For example, if you installed Snap Store and did not remove it prior, this package and any others installed by Snap in full.
As you can see above, you do not need to go through and remove each package before removing Snapd, and it will do it for you.
Comments and Conclusion
Overall, using Snap packages seems to split users down the middle. Most sysadmins and power users will not touch Snaps; however, more desktop and casual users enjoy the ease of installing and having updated packages and don’t mind the bloat in space. Given how big SSD hard drives are these days, the difference is pretty minor unless you have limited resources such as a production server. Still, being in a separate container, Snaps can run slower in performance than an application installed natively through DNF.