Home

Snapd

Snapd is a background service and set of tools that manage snaps, a packaging format developed by Canonical for Linux distributions. It provides the runtime, tooling, and governance needed to install, refresh, and remove snap packages and to manage their confinement and interfaces. Snapd is designed to work across multiple distributions, with Ubuntu being its primary platform.

The snap ecosystem centers on the snapd daemon, which runs with root privileges and coordinates interactions

Key features of snapd include transactional updates with rollback, automatic and scheduled updates, and system-wide confinement.

Snaps can be updated automatically, with mechanisms to defer updates and to revert if problems arise. Snapd

with
the
Snap
Store
or
other
repositories.
Snap
commands
are
issued
via
the
snap
CLI,
which
communicates
with
snapd
over
D-Bus
to
perform
operations
such
as
install,
update,
revert,
or
refresh.
Snaps
are
delivered
as
read-only
images
that
include
all
dependencies,
enabling
consistent
application
behavior
across
different
systems.
Confinement
restricts
what
a
snap
can
access
through
AppArmor
or
SELinux
profiles
and
a
defined
set
of
interfaces,
which
can
be
connected
or
disconnected
to
grant
necessary
permissions.
There
is
also
an
optional
classic
confinement
mode
for
certain
applications
that
require
broader
access.
maintains
the
state
of
installed
snaps,
their
content,
and
their
interfaces
in
its
data
stores,
typically
under
/var/lib/snapd.
Although
closely
associated
with
Ubuntu,
snapd
is
available
on
many
Linux
distributions
and
competes
with
other
packaging
systems
such
as
Flatpak
and
AppImage
in
the
broader
software
deployment
landscape.