David Callé
on 12 December 2016
snapd 2.18: the snap command strikes back
Last Thursday, December 8, the snapd team was happy to announce a new release of snapd (2.18), the daemon that enables systems to work with snaps and provides the snap
command. It’s time we take a look at what makes this release stand out.
A brief tour of new snap commands (and the improved snap find)
On Ubuntu Core systems or any snap-enabled Linux distribution, the snap
command is your gateway to installing standalone and secure apps. With this new release, automatically installed on all systems tracking the stable release channel of Ubuntu Core, new features have arrived to make your snap management workflow as delightful as possible.
snap info
The new snap info
command shows detailed information about a snap. Whether it is in the store, installed on your system or even a local .snap file. It gives you an overview of everything snapd know about it: the release channel you are tracking (edge, beta, candidate or stable), its confinement status, the installed revision and ones available in other channels. This is your new go-to command to get insight about the status of a snap.
Here is the output of snap info
for an installed snap:
$ snap info nats-server
name: nats-server
summary: "High-Performance server for NATS"
publisher: nats-io
tracking: stable
installed: 0.9.4 (1) -
channels:
stable: 0.9.4 (1) -
candidate: 0.9.4 (1) -
beta: 0.9.4 (1) -
edge: 0.9.4 (1) -
And here is the same for a snap in the store:
$ snap info spreedme
name: spreedme
summary: "Spreed.ME audio/video calls and conferences feature for the Nextcloud Snap"
publisher: nextcloud
channels:
stable: 0.29.2snap1 (18) -
candidate: 0.29.2snap1 (18) -
beta: 0.29.2snap1 (10) -
edge: 0.28.1snap1 (1) -
Try snap info --verbose
to get an even more detailed output. Note that you can pass multiple snap names to this command.
snap find
The snap find
command has been expanded to help you discover new interesting snaps from the command line. When ran without a query, snap find now shows a set of featured snaps.
$ snap find
Name Version Developer Notes Summary
docker 1.11.2-9 canonical - The docker app deployment mechanism
lxd 2.6.2 canonical - LXD - the container lighervisor
mongo32 3.2.7 niemeyer - MongoDB document-oriented database
rocketchat-server 0.47.0 rocketchat - Group chat server for 100s, installed in seconds.
When ran with the --section=
option, it filters results based on the section of the store you are browsing. With this release, six sections are available: featured, database, internet-of-things, media, messaging and ops.
$ snap find --section=internet-of-things
Name Version Developer Notes Summary
openhab 2.0.0.b4-5-offline canonical - openhab 2.0 smart home server, offline versions
nextcloud 10.0.1snap4 nextcloud - Nextcloud Server
Observe system changes
You also have a whole battery of commands to observe and control system changes as they happen. To the existing changes
, change
, abort
, has been added the watch
command that lets you observe progress of a change.
snap try
Until now, the snap try
command allowed you to snap a directory containing an unpackaged snap. It gets even easier, as you can simply run snap try
in your snapcraft project, for snapd to retrieve the correct directory and install your in-progress snap for testing.
Have a look at the complete snap command reference for more.
Interfaces
A new release of snapd also means new interfaces for you to expand your snaps capabilities, such as “raw-usb” allowing you to directly access connected USB devices, or “avahi-observe” that lets you browse for mDNS/DNS-SD services on the network using Avahi. Have a look at the list of available interfaces, to see what your snaps can interface with.
Other changes and bug fixes can be found in the changelog for the snapd 2.18 release.
Just the beginning
With snapd 2.19 already in the candidate channel and a new fortnightly release cadence in place, you can expect a fresh batch of updates and improvements every two weeks! Make sure you sign up to the snapcraft mailing-list to stay up-to-date with Ubuntu Core changes and get help with your projects.
If you are looking to get started with snaps and Ubuntu Core, an easy way is to follow the snapping tutorials available… as a snap!
On any Ubuntu Desktop 16.04 LTS, open a terminal and run:
sudo snap install snap-codelabs
xdg-open http://localhost:8123
Once you know your way around (the first snap tutorial takes 20 minutes), why not try joining the #seasonalsnap competition?