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 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) -
snap info --verbose to get an even more detailed output. Note that you can pass multiple snap names to this command.
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
abort, has been added the
watch command that lets you observe progress of a change.
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.
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?