Install Snapd and use Snap on Debian 12 / Debian 11

Welcome to walkthrough guide on how to install snapd and use snap on Debian 12 | Debian 11 Linux system. Canonical created Snap, a software packaging and distribution mechanism for operating systems based on the Linux kernel. Snaps and snapd, the utility for installing them, work with a variety of Linux distributions and enable upstream software engineers to deliver their software directly to customers. Snaps are isolated apps that run in a sandbox and have mediated access to the host system. Snap was first released for cloud applications, but it was eventually converted to operate with IoT devices and desktop apps as well.

Snap Packaging format

A snap is a SquashFS file that contains content as well as metadata that tells the system how to manage it. The SquashFS file for the snap is installed read-only at the following location after installation:

/snap/<snap name>/<revision>/

The Setup Files

The snap’s behavior is controlled by the following files:

  • meta/snap.yaml: Basic snap details.
  • meta/hooks/: Hooks called on specific events.
  • meta/gui/icon.{svg,png}: Icon for the snap.
  • meta/gui/*.desktop: Desktop files for the snap.

Each snap package contains a meta/snap.yaml file that includes the snap’s basic metadata.

  1. The snapcraft command reads snapcraft.yaml, which gives instructions for creating a snap package.
  2. Snapd reads snap.yaml, which is found inside every snap package.

The following is an example snap.yaml that provides an application to run:

name: simple
version: 1.0
apps:
    hello:
        command: bin/hello --world

Install Snapd on Debian 12 | Debian 11

Here is the process of installing Snap on Debian 12 | Debian 11.

1. System Update

On Linux, you are required to run system updates before doing any installation:

sudo apt update -y && sudo apt upgrade -y

2. Install Snapd on Debian 12 / Debian 11

Run the following command to install Snapd on Debian 12 | Debian 11:

sudo apt install snapd -y

Install the core snap after installing snapd successfully to get the most recent snapd:

sudo snap install core

3. Start and enable Snapd Service

Let’s see if it runs correctly and without errors after the installation is finished:

$ sudo systemctl start snapd
$ sudo systemctl enable snapd
$ sudo systemctl status snapd
 snapd.service - Snap Daemon
     Loaded: loaded (/lib/systemd/system/snapd.service; enabled; preset: enabled)
     Active: active (running) since Sat 2025-01-25 23:45:28 EAT; 1min 8s ago
TriggeredBy:  snapd.socket
   Main PID: 7456 (snapd)
      Tasks: 9 (limit: 7034)
     Memory: 38.5M
        CPU: 1.093s
     CGroup: /system.slice/snapd.service
             └─7456 /usr/lib/snapd/snapd

Jan 25 23:45:27 debian snapd[7456]: AppArmor status: apparmor is enabled but some kernel features are missing: dbus, network
Jan 25 23:45:27 debian snapd[7456]: overlord.go:271: Acquiring state lock file
Jan 25 23:45:27 debian snapd[7456]: overlord.go:276: Acquired state lock file
Jan 25 23:45:27 debian snapd[7456]: patch.go:64: Patching system state level 6 to sublevel 1...
Jan 25 23:45:27 debian snapd[7456]: patch.go:64: Patching system state level 6 to sublevel 2...
Jan 25 23:45:27 debian snapd[7456]: patch.go:64: Patching system state level 6 to sublevel 3...
Jan 25 23:45:27 debian snapd[7456]: daemon.go:247: started snapd/2.61.4 (series 16; classic; devmode) debian/12 (amd64) linux/6.1.0-30-amd64.
Jan 25 23:45:27 debian snapd[7456]: daemon.go:340: adjusting startup timeout by 35s (pessimistic estimate of 30s plus 5s per snap)
Jan 25 23:45:27 debian snapd[7456]: backends.go:58: AppArmor status: apparmor is enabled but some kernel features are missing: dbus, network
Jan 25 23:45:28 debian systemd[1]: Started snapd.service - Snap Daemon.

Now, test the snap installation:

$ sudo snap install hello-world
hello-world 6.4 from Canonical✓ installed

Run Hello-World snap package:

$ hello-world
Hello World!

Install Snap Store on Debian 12 | Debian 11

On Linux, Snap Store is a graphical desktop program for finding, installing, and managing snaps.

$ sudo snap install snap-store
snap-store (2/stable) 0+git.7a3a49a6 from Canonical✓ installed

You can search and install any application you want in snap-store. Here is the snap-store screen shot:

Snap Package Management

The following are the uses of Snap in package management.

Searching Packages

With snapd installed, you can search for certain packages in your system.

Run the following command to search for packages or snaps. i.e media players:

$ snap find "media player"
Name                       Version                 Publisher         Notes    Summary
vlc                        3.0.20-1-g2617de71b6    videolan✓         -        The ultimate media player
foobar2000                 2.24.1                  mmtrt             -        foobar2000 is an advanced freeware audio player.
telemetrytv                24.7.1                  telemetrytv3      -        TelemetryTV Player
haruna                     0.11.3                  kde✓              -        Open source media player built with Qt/QML and libmpv
orion-desktop              3.0.0                   keshavnrj✪        -        Complete torrent client and streamer for Linux Desktop
red-app                    9.0                     keshavnrj✪        -        Complete Youtube Desktop Applications
ultimate-media-downloader  5.5                     keshavnrj✪        -        Online video & audio downloader for Linux, 1450+ websites support
utube                      2.1                     keshavnrj✪        -        Play/Save Media from Youtube securely
clapper                    0.5.2                   soumyadghosh✪     -        Simple and modern GNOME media player
tizonia                    0.22.0                  tizonia           -        Cloud music from the Linux terminal
eisenradio                 2.4.2                   rene-horn         -        Internetradio Recorder Database with Browser based Media player
carbon-player              1.1.0                   spatocode         -        Beautiful and elegant media player
smplayer                   24.5.0.10289            rvm               -        A great media player
syncplay                   1.6.5                   syncplay          classic  Client/server to synchronize media playback on many computers
mpv                        0.38.0                  sameersharma2006  -        A free, open source, and cross-platform media player
mpc-hc                     0.1                     the-mentor        -        Media Player Classic - Home Cinema (MPC-HC)
strimio-desktop            3.0.10                  strimio           -        Strimio is a free media player for macOS, Windows, and Linux, that enables you to play and organize your live streams like neve
celluloid                  0.27                    sameersharma2006  -        Simple GTK+ Frontend to MPV.
symphytum                  2.6                     joshirio          -        Easy-to-use personal database software
gridplayer                 0.5.2                   vzhd1701          -        Play multiple videos side-by-side
home-media-server          6.3.0                   hms               -        Digital Media Server (UPnP, DLNA, HTTP)
redplayer                  3.1.6                   edsonk            -        Player de gerenciamento de conteúdo de tv.
easyrpg-player             0.7.0                   lserramari        -        EasyRPG Player allows to play games created with RPG Maker 2000 and 2003
panda-video-converter      2024.12.1               rishabh3354       -        Panda Video Converter For Linux Distros
violin-player              3.1.1                   foxish-mess       -        A fast, lightweight, and minimalistic desktop music player.
audio-recorder             3.0.5+rev1432+pkg-7b07  brlin             -        A free audio-recorder for Linux (EXTREMELY BUGGY)
freac                      1.1.7                   enzo1982          -        Audio converter and CD ripper
deezer-unofficial-player   1.1.8                   pqpminetto        -        Deezer Player Unofficial
weasis                     4.5.1                   nicolas-roduit    -        A free/libre/open medical DICOM viewer
mpc-be                     0.1                     the-mentor        -        MPC-BE
mpv-nilsboy                0.32.0-master           ubuntu-rox        -        a free, open source, and cross-platform media player.
eye-infinite-player        0.1.0                   eyein-devteam     -        Eye-Infinite Player
movian                     5.0.566                 andoma            -        Media player
reveldigital               2.12.67                 mtinnes           -        Digital Signage for your Linux powered devices from Revel Digital!
iptv-smarters-expert       7.4.4                   liftoff           -        Stream flawlessly with IPTV Expert's high-quality service!
kaffeine-player            2.0.14                  mchehab           -        A media player by KDE with digital TV support
minidlna-jdstrand          1.3.3-series16-1        jdstrand          -        server software with the aim of being fully compliant with DLNA/UPnP clients.
mpv-const                  0.28.2                  lolsmth           -        a free, open source, and cross-platform media player.
peerflix                   v0.39.0+git1.df28e20    pmagill           -        Streaming torrent client for Node.js
gphoto2                    latest                  eberkund          -        The gphoto2 command-line tool for accessing and controlling digital cameras.

Install Packages

You can use snap to install any available package of your choice:

$ sudo snap install vlc
vlc 3.0.20-1-g2617de71b6 from VideoLAN✓ installed

Check Details of Installed Package

The snap info tool makes it simple to learn more about a particular snap:

$ snap info vlc
name:      vlc
summary:   The ultimate media player
publisher: VideoLAN✓
store-url: https://snapcraft.io/vlc
contact:   https://www.videolan.org/support/
license:   unset
description: |
  VLC is the VideoLAN project's media player.
  
  Completely open source and privacy-friendly, it plays every multimedia file and streams.
  
  It notably plays MKV, MP4, MPEG, MPEG-2, MPEG-4, DivX, MOV, WMV, QuickTime, WebM, FLAC, MP3,
  Ogg/Vorbis files, BluRays, DVDs, VCDs, podcasts, and multimedia streams from various network
  sources. It supports subtitles, closed captions and is translated in numerous languages.
commands:
  - vlc
snap-id:      RT9mcUhVsRYrDLG8qnvGiy26NKvv6Qkd
tracking:     latest/stable
refresh-date: today at 00:02 EAT
channels:
  latest/stable:    3.0.20-1-g2617de71b6        2024-03-26 (3777) 336MB -
  latest/candidate: 3.0.20-1-g2617de71b6        2024-03-26 (3777) 336MB -
  latest/beta:      3.0.21-1-74-g47e6c1b726     2024-09-30 (4252) 336MB -
  latest/edge:      4.0.0-dev-28288-g586bf64e5f 2024-03-28 (4070) 703MB -
installed:          3.0.20-1-g2617de71b6                   (3777) 336MB -s

List installed packages

To see a list of snaps installed on your system, type snap list:

$ snap list
Name               Version               Rev    Tracking       Publisher   Notes
bare               1.0                   5      latest/stable  canonical✓  base
core               16-2.61.4-20240607    17200  latest/stable  canonical✓  core
core18             20240920              2846   latest/stable  canonical✓  base
core22             20241119              1722   latest/stable  canonical✓  base
gnome-42-2204      0+git.38ea591         202    latest/stable  canonical✓  -
gtk-common-themes  0.1-81-g442e511       1535   latest/stable  canonical✓  -
hello-world        6.4                   29     latest/stable  canonical✓  -
snap-store         0+git.7a3a49a6        1248   2/stable       canonical✓  -
vlc                3.0.20-1-g2617de71b6  3777   latest/stable  videolan✓   -

Update packages

Snaps are automatically updated. To check for updates manually, run the following command:

sudo snap refresh vlc

Uninstall a package

Use the remove command to remove a snap from your system, together with its internal user, system, and configuration data:

$ sudo snap remove vlc
vlc removed

Use the –purge parameter to remove a snap without generating a snapshot:

$ sudo snap remove vlc --purge
vlc removed

Conclusion

Our guide on how to install snapd and utilize snap on Debian 12 | Debian 11 is now complete. Snap automatically updates snaps at predetermined intervals. As a result, you always have the most recent version of an application running on your machine. Snap makes it simpler for developers to distribute software to users directly. We hope you found this tutorial to be helpful.

Also check these guides on our site:

Your IT Journey Starts Here!

Ready to level up your IT skills? Our new eLearning platform is coming soon to help you master the latest technologies.

Be the first to know when we launch! Join our waitlist now.

Join our Linux and open source community. Subscribe to our newsletter for tips, tricks, and collaboration opportunities!

Recent Post

Leave a Comment

Your email address will not be published. Required fields are marked *

Related Post

Debian 12(Bookworm) is the latest stable release of Debian that comes with a lot more software than its predecessor bullseye. […]

Virtualization allows for a better and efficient compute resources utilization. One of the most used open source virtualization solutions available […]

In this article we show you how to create a private and virtual network bridge on Proxmox with NAT configured […]

Let's Connect

Unleash the full potential of your business with CloudSpinx. Our expert solutions specialists are standing by to answer your questions and tailor a plan that perfectly aligns with your unique needs.
You will get a response from our solutions specialist within 12 hours
We understand emergencies can be stressful. For immediate assistance, chat with us now

Contact CloudSpinx today!

Download CloudSpinx Profile

Discover the full spectrum of our expertise and services by downloading our detailed Company Profile. Simply enter your first name, last name, and email address.