How To Install Snap

How To Install Snap

Reading time1 min
#Linux#OpenSource#Software#Snap#Snapcraft#PackageManagement

How to Install Snap on Your Linux System: A Simple Step-by-Step Guide

If you’re a Linux user who’s new to Snap packages, you might be wondering what they are and how to get started. Snap is a powerful package management system developed by Canonical that allows you to easily install, update, and manage applications in a universal format across many Linux distributions. Unlike traditional package management, Snaps are containerized applications that bundle everything they need to run.

In this post, we’ll walk through how to install Snap on your Linux system in a practical way — with clear commands and explanations so you can get started hassle-free.


Why Should You Install Snap?

Before diving into the installation steps, here’s why Snap is worth your attention:

  • Universal compatibility: Works on Ubuntu, Debian, Fedora, Arch Linux and more
  • Automatic updates: Snaps refresh in the background for easy maintenance
  • Sandboxed apps: Improved security by isolating apps from each other and your system
  • Wide app availability: Popular apps like Spotify, VSCode, Slack, and more are distributed as Snaps

Step 1: Check if Snap is Already Installed

Many Linux distributions like Ubuntu come with Snap pre-installed these days. To check if your system already has snapd (the Snap daemon), open a terminal and type:

snap version
  • If you get output showing versions of snap and snapd, then you’re all set! Skip to Step 4.
  • If the command is not found or it shows an error, proceed to Step 2.

Step 2: Install Snapd on Debian/Ubuntu-Based Systems

For Debian and Ubuntu users (including derivatives like Linux Mint or Pop!_OS), install snapd through apt:

sudo apt update
sudo apt install snapd -y

Once done, enable and start the snapd service:

sudo systemctl enable --now snapd.socket

Step 3: Installing Snapd on Other Popular Distros

Here’s how to install snapd on other common distros:

Fedora

sudo dnf install snapd -y
sudo systemctl enable --now snapd.socket

To enable classic snap support:

sudo ln -s /var/lib/snapd/snap /snap

Arch Linux / Manjaro

sudo pacman -S snapd
sudo systemctl enable --now snapd.socket

And again create the symbolic link for classic snaps:

sudo ln -s /var/lib/snapd/snap /snap

OpenSUSE

sudo zypper install snapd 
sudo systemctl enable --now snapd 
sudo systemctl start snapd.service 

Step 4: Test Your Snap Installation

After installing snapd and starting its service successfully, verify everything:

snap version

You should see output similar to this:

snap    2.XX.X+gitXXX.xxxx.fcXX.x86_64
snapd   2.XX.X+gitXXX.xxxx.fcXX.x86_64
series  16
ubuntu  20.04
kernel  5.X.X-XXX-generic

Step 5: Install Your First Snap Package!

Let’s try installing a popular app via Snap — for example, the hello-world test app.

Run this command:

sudo snap install hello-world 

Once installed, launch it by typing:

hello-world 

If everything is working properly, it will print a simple confirmation message.


Troubleshooting Tips

  • If you get stuck at enabling or starting the snap daemon services (systemctl errors), try rebooting your machine first or check journal logs with:

    sudo journalctl -u snapd.service 
    
  • On some systems (especially older ones), kernel support for squashfs may be missing; ensure your kernel supports it.

  • For manual installs or alternative routes (like on WSL) check official documentation here: Snapcraft Docs


Wrap Up

Installing Snap is straightforward once you know the commands for your specific distro. With Snaps ready on your system, exploring a vast ecosystem of universal Linux apps becomes easier than ever. Whether you want developer tools like Visual Studio Code or fun apps like Spotify, snaps put them just one command away.

Have you tried snaps yet? What’s your favorite app installed via Snap? Let me know in the comments below!


Happy snapping! 🚀


If you'd like me to add images/screenshots or dive deeper into particular distros or use cases just let me know!