In the realm of software management, Snap and the Snap Store offer remarkable efficiencies and ease of use. To set the stage, Snap, also known as SnapD for its command-line interface (CLI), is a universal package manager that enables users to install software and manage packages across various Linux distributions. On the other hand, the Snap Store, also referred to as the Snap GUI, provides a graphical interface for exploring and managing Snap packages. For those adept at using Fedora Linux, the following guide will demonstrate how to install Snap and Snapcraft’s Snap Store along with some tips to get you started using Snaps on Fedora Linux, whether you’re operating on a desktop or a headless server.
To delineate between the two, here are the key differences:
- Snap/SnapD (CLI):
- Utilizes the command line, ideal for server environments and experienced users.
- Offers scripting automation and more control over installations.
- Snap Store (Snap GUI):
- Provides a graphical interface, catering to desktop users.
- Offers a user-friendly experience for searching and installing Snap packages.
Snap is known for its robustness, simplicity, and ability to keep applications isolated from the system, reducing potential conflicts and security risks. This has made it an attractive option for both developers and system administrators. Moreover, Snap’s automatic update feature ensures that applications are always up-to-date without manual intervention, hence establishing a trust factor among its users. The Snap Store, by providing an intuitive interface for browsing and installing applications, has further streamlined the user experience.
Armed with this understanding of Snap and the Snap Store, you are well-prepared to delve into the technical aspects. The ensuing guide will walk you through the step-by-step process of installing and effectively using these tools on Fedora Linux. With a blend of expert knowledge and practical application, you will be empowered to efficiently manage applications and secure your system. Let’s move forward and unlock the full potential of what Snap and the Snap Store have to offer on Fedora Linux.
Table of Contents
Section 1: Install Snapd (CLI)
Step 1: Update Fedora Linux System:
Before diving into the installation of Snapd, it’s essential to ensure that your Fedora Linux system is up-to-date. This helps in avoiding conflicts and ensures compatibility. Execute the following command to update all existing packages:
sudo dnf upgrade --refresh
Step 2: Install Required Packages:
Snap relies on certain packages for optimal functionality. Run the following command to install the required packages:
sudo dnf install fuse squashfuse -y
Step 3: Install Snap (snapd) on Fedora Linux
Snap, often referred to as Snapcraft or Snapd, can be installed from the Fedora appstream. If you’re aiming for a command-line experience, install the snapd
package. Use the following command to start the installation:
sudo dnf install snapd
After installing Snap, it is crucial to reboot your system. This ensures that Snap can generate the necessary paths without any hindrances. Skipping this step could result in errors later on. You can reboot using the terminal with the command below:
sudo reboot
Once your system is back up, enable the Snapd service to start on boot:
sudo systemctl enable snapd --now
Snap has different confinement levels for packages, and some packages use the classic confinement. To enable classic snap support, create a symbolic link:
sudo ln -s /var/lib/snapd/snap /snap
For a smoother experience with Snap, it’s advised to install the core snap, which includes essential runtime libraries:
sudo snap install core
Finally, ensure that the Snapd service is running by checking its status:
systemctl status snapd
Example:
You have now successfully installed Snapd on your Fedora Linux system. With Snapd at your disposal, you can efficiently manage applications through the command line, irrespective of your environment. Let’s move on to the next section to further explore Snap’s capabilities.
Section 2: Basic Snapd (CLI) Command Examples
Install a Package
Now that Snapd is successfully installed on your Fedora system, let’s explore some basic commands to manage packages. We will start by installing an application using Snap. While Snap offers a vast repository of packages, for the purpose of this guide, we will use Discord as an example. Discord is a popular communication platform, and installing it will demonstrate the simplicity of using Snap for package management.
Execute the following command to install Discord:
sudo snap install discord
This will present a list of all Snap packages installed on your system, which can be useful for maintenance and monitoring purposes.
Update Packages
Regularly updating your packages is crucial for security and performance. Snap makes it easy to update installed packages. For instance, to update Discord or any other Snap packages, use the refresh
command:
sudo snap refresh
Snap will look for updates for all installed packages and apply them. This is an essential command to keep your system’s packages up-to-date with the latest features and security patches.
Remove Packages
There may be instances when you no longer require a particular package on your system. Snapd provides an easy way to remove packages. For example, if you wish to uninstall Discord, use the remove
command:
sudo snap remove discord
This command informs Snapd to uninstall the Discord package from your system.
Search for Packages
Before installing a new package, you might want to search the Snap repository for the availability of a particular application. Use the search
command:
sudo snap search <package-name>
Replace <package-name>
with the name of the package you are looking for. For instance, to search for Spotify:
sudo snap search spotify
Step 6: Check Snap Version
Knowing the version of Snap installed on your system can be beneficial for troubleshooting and ensuring compatibility. To check the version of Snapd, run:
snap version
This command will display the version of Snapd along with additional information regarding the Snap ecosystem on your system.
With this fundamental understanding of Snap commands, you are equipped to efficiently manage packages on your Fedora system using Snapd. As a universally compatible package manager, Snapd is an excellent tool for maintaining a secure and streamlined system. These command examples serve as a foundation, and mastering them will be highly advantageous in your endeavors as a system administrator or developer.
Section 3: Install Snap-Store (Snap GUI) on Fedora Linux
Step 1: Install Snap-Store
While the command-line interface of Snapd is powerful, some users may prefer a graphical user interface (GUI) to manage packages. The Snap Store offers just that – an intuitive GUI for Snapd. This step is optional and is mainly useful for desktop users who prefer visual navigation.
To install the Snap Store, you need to use the Snap install command, similar to installing any other Snap package. Here’s how you can install the Snap Store:
sudo snap install snap-store
This command prompts Snapd to fetch the Snap Store package from the Snap repository and install it on your Fedora system.
Step 2: Launch the Snap Store
With the Snap Store installed, it’s time to launch it. There are a couple of ways to open the Snap Store, depending on your preference.
For terminal-savvy users, you can launch the Snap Store directly from your terminal by running the following command:
snap run snap-store
This command starts the Snap Store application from the terminal, opening the GUI on your desktop.
Alternatively, if you prefer using the GUI entirely, navigate through your system menu. The exact path may vary depending on your desktop environment, but it’s generally in the ‘Applications’ section. On a GNOME desktop, for example, you can find it via:
Activities > Show Applications > Snap Store
Note: If the Snap Store icon does not appear, reboot your system.
Example of Snap Store on Fedora Linux:
Upon launching the Snap Store for the first time, and during subsequent cache updates, there might be a slight delay – typically a minute or two – as the application fetches the latest packages from Snapcraft’s server. Once this initial synchronization is complete, you can effortlessly search for and install packages using the graphical user interface.
Example of Snapcraft’s Snap-Store once open on Fedora Linux:
Example of Installing GIMP with Snap Store on Fedora Linux:

Section 4: Managing Snap and Snap-Store on Fedora Linux
Troubleshooting Snap Installations with SELinux on Fedora
SELinux (Security-Enhanced Linux) is a security module for the Linux kernel that provides a mechanism for supporting access control security policies. While SELinux enhances security, it can sometimes interfere with Snap installations and operations. Here, we’ll address common issues that can occur when using Snap on a Fedora system with SELinux enabled, and provide solutions.
Analyzing SELinux Denials
When experiencing issues with Snap installations or operations, it’s essential to analyze SELinux denial messages. This will give you an understanding of what policies are being violated.
To do this, use the following command:
sudo ausearch -m AVC --start recent
This command searches for AVC (Access Vector Cache) messages that denote denied operations.
Adjust SELinux Policies
Sometimes you may need to adjust SELinux policies to permit Snap operations.
Option 1: Switch SELinux to Permissive Mode
You can temporarily switch SELinux to permissive mode to allow operations, while still logging violations. This helps in cases where you’re confident that the operation is safe. To do this, use:
sudo setenforce 0
To revert SELinux back to enforcing mode:
sudo setenforce 1
Option 2: Create Custom SELinux Policy Modules
If you find that a specific Snap operation is consistently being denied by SELinux, you can create a custom policy module to allow that operation:
First, collect the denial messages:
sudo ausearch -m AVC --start recent > /tmp/avc.log
Use audit2allow
to generate a custom policy module:
sudo audit2allow -M my_snap_policy < /tmp/avc.log
Install the custom policy module:
sudo semodule -i my_snap_policy.pp
Review and Maintain Policies
It’s important to regularly review the SELinux policies and logs to ensure your system remains secure, especially if you make custom adjustments. The sealert
command can be helpful for reviewing logs and suggestions:
sudo sealert -a /var/log/audit/audit.log
Make sure to keep your system and SELinux policies updated to mitigate any security risks.
Uninstalling Snap and Snap-Store from Fedora Linux
Uninstalling Snap from your Fedora system is a streamlined process. Executing a single command will not only remove Snap but also uninstall all the packages that were installed through it.
sudo dnf remove snapd
This command effectively uninstalls Snap along with any additional packages and dependencies. For instance, if you had installed the Snap Store and didn’t remove it beforehand, this command takes care of that as well. Essentially, it’s a clean sweep, removing Snap and everything associated with it in one go.
Example:
The image above illustrates that there is no need to individually uninstall each package before removing Snapd; the command conveniently handles everything for you. This is particularly useful for maintaining a clean system without leaving behind any orphaned files or configurations.
Step 2: Verifying the Removal
Post uninstallation, it is prudent to ensure that Snap and its associated packages have been completely removed from your system. You can do this by attempting to list the snaps or by checking if the Snap service is still running. Any errors or non-responses would indicate a successful removal.
snap list
systemctl status snapd
Following these removal steps, you can be assured of thorough removal of Snap and Snap-Store from your Fedora Linux system, leaving it uncluttered and streamlined for future installations and configurations. This maintains the integrity of your system and ensures that you have full control over the applications and services running on it.
Conclusion
Our comprehensive guide has walked you through the process of setting up and managing Snap and the Snap Store on a Fedora Linux system. We delved into the initial Snap (snapd) installation, explored essential command-line operations, and discussed the installation of the Snap Store for those who prefer a graphical user interface.
Furthermore, we discussed managing your Snap setup effectively and demonstrated how to uninstall Snap from your Fedora system properly. The versatility of Snap in handling software installations and updates makes it an invaluable tool in the Linux ecosystem.
Given the wide range of applications available through Snap, we strongly recommend exploring it further to maximize the use of your Fedora Linux system. Remember, practice makes perfect – the more you use these commands and explore the Snap system, the more comfortable you’ll become in navigating its functionalities.
Additional Links and Resources
For further knowledge and expertise, here are a few recommended resources:
- Snapcraft.io: The official website of Snapcraft, where you can explore everything Snap has to offer.
- Snapcraft Forum: Engage with the Snapcraft community, discuss problems, share solutions, and get the latest updates.
- Snapcraft Documentation: The official documentation from Snapcraft. It’s an excellent resource for getting in-depth information about all things related to Snap.
- Snapcraft Blog: Stay updated with the latest news, updates, and articles related to Snapcraft and its ecosystem.