snap Command in Linux

Introduction

In this lab, we will delve into the Linux snap command and its diverse range of practical applications. We'll start with an introduction to the Snap package manager, highlighting its core functionalities and demonstrating how to ascertain the installed version. Subsequently, we'll explore the installation and updating of Snap packages, along with effective management techniques using various Snap commands. This hands-on guide aims to equip you with a solid and actionable understanding of the Snap package management system and its utilization within your Ubuntu 22.04 Docker container, a crucial skill for any budding systemadmin.

Introduction to Snap Packages

This section provides a comprehensive overview of the Snap package manager, underscoring its salient attributes. Snap stands as a modern, cross-platform, and inherently secure package management solution, simplifying the installation, updating, and overall management of applications within your Linux environment. It's particularly useful for those looking for a robust systemadmin solution.

First, let's verify the version of Snap currently active on your system:

snap version

Example output:

snap    2.57.4
snapd   2.57.4
series  16
ubuntu  22.04
kernel  5.15.0-1023-aws

As the output illustrates, the Snap version present within your Ubuntu 22.04 Docker container is 2.57.4. Keeping this updated is a key responsibility of a systemadmin.

Snap packages distinguish themselves as self-sufficient entities, encapsulating all essential dependencies, libraries, and runtime components. This characteristic simplifies the processes of installation, updating, and management, as they operate in isolation from the underlying operating system. This isolation is a critical security feature.

To generate a list of all Snap packages currently residing on your system, execute the subsequent command:

sudo snap list

Example output:

Name       Version    Rev   Tracking       Publisher   Notes
core20     20220719   1518  latest/stable  canonical✓  core
gnome-3-38-2004  0+git.3036c14  20  latest/stable  canonical✓  -
gtk-common-themes  0.1-36-gc4e3006  1506  latest/stable  canonical✓  -
snap-store 42.3-48-g1b0d8d7  590  latest/stable  canonical✓  classic
snapd      2.57.4     8310  latest/stable  canonical✓  snapd

This command furnishes a detailed inventory of installed Snap packages, encompassing their respective names, versions, revisions, tracking channels, publishers, and supplementary notes. Understanding the output is crucial for effective systemadmin tasks.

With a foundational grasp of Snap packages now established, let's proceed to the next phase, where we'll acquire the knowledge to install and update these packages, fundamental skills for managing a Linux system as root.

Installing and Updating Snap Packages

This segment is dedicated to mastering the installation and updating procedures for Snap packages on your Ubuntu 22.04 Docker container. These tasks are essential responsibilities for any systemadmin.

To begin, let's install a Snap package. We will use the widely recognized "vlc" media player as a concrete example:

sudo snap install vlc

Example output:

vlc 3.0.17.3 from 'videolan' installed

This command orchestrates the installation of the most recent VLC media player version, delivered as a Snap package. Using `sudo` is often required, necessitating root privileges.

To initiate an update for a Snap package already present on your system, employ the following command:

sudo snap refresh vlc

Example output:

vlc refreshed

This command autonomously scans for and installs any available updates specifically tailored for the VLC Snap package. Regular refreshing is a good practice for a systemadmin.

Alternatively, you can execute a comprehensive update, encompassing all Snap packages installed concurrently:

sudo snap refresh

Example output:

All snaps up to date.

This command ensures that every Snap package on your system is upgraded to its respective latest version. This command should be part of regular maintenance routines.

To eradicate a Snap package from your system, invoke the subsequent command:

sudo snap remove vlc

Example output:

vlc removed

This command effectively uninstalls the VLC Snap package from your system. Careful consideration should be given before removing any software.

With a solid understanding of installation, updating, and removal procedures for Snap packages, we now transition to exploring more sophisticated Snap package management commands, empowering you as a systemadmin.

Managing Snap Packages with Snap Commands

In this culminating section, we will scrutinize a suite of advanced Snap package management commands, designed to enhance your proficiency in overseeing Snap packages effectively. This knowledge is vital for efficient systemadmin tasks on Linux.

To begin, let's compile a list of all Snap packages accessible within the Snap store:

sudo snap find

Example output:

Name                 Version  Publisher   Notes
vlc                  3.0.17.3 videolan    -
gimp                 2.10.30  snapcrafters -
libreoffice          7.3.5.2  libreoffice -
firefox              103.0.2  mozilla     -
code                 1.71.2   microsoft   classic

This command queries the Snap store and returns an enumeration of all available Snap packages. Understanding the output is critical for a systemadmin when planning software deployments.

You can refine your search for a specific Snap package by supplying a pertinent search term:

sudo snap find gimp

Example output:

Name        Version  Publisher   Notes
gimp        2.10.30  snapcrafters -

To procure more granular details concerning a particular Snap package, leverage the snap info command:

sudo snap info gimp

Example output:

name:      gimp
summary:   GNU Image Manipulation Program
publisher: snapcrafters
store-url: https://snapcraft.io/gimp
contact:   https://github.com/snapcrafters/gimp/issues
license:   GPL-3.0
description: |
  GIMP is the GNU Image Manipulation Program. It is a freely distributed program for such tasks as photo retouching, image composition and image authoring.

This command renders a comprehensive profile of the GIMP Snap package, encompassing its summary, publisher, contact coordinates, licensing stipulations, and a descriptive narrative. This is valuable for assessing software suitability for a systemadmin.

Finally, let's examine the realm of Snap package channels. Snap packages are accessible through distinct channels, notably stable, candidate, beta, and edge. The snap info command serves as a conduit to discern the available channels for a given Snap package:

sudo snap info gimp

Example output:

name:      gimp
summary:   GNU Image Manipulation Program
publisher: snapcrafters
store-url: https://snapcraft.io/gimp
contact:   https://github.com/snapcrafters/gimp/issues
license:   GPL-3.0
channels:
  stable:   2.10.30
  candidate: 2.10.30
  beta:      2.10.30
  edge:      2.10.30

This output elucidates that the GIMP Snap package is offered across the stable, candidate, beta, and edge channels, all sharing the identical version (2.10.30). Understanding these channels is crucial for a systemadmin when balancing stability and access to new features.

You've now acquired the skills to proficiently manage Snap packages through a repertoire of Snap commands. Congratulations on successfully navigating this Linux Snap package management lab! This knowledge is invaluable for any aspiring systemadmin.

Summary

This lab commenced with an introduction to the Snap package manager, underscoring its core capabilities, including the provision of self-contained applications bundled with all essential dependencies. We gained proficiency in verifying the installed Snap version and enumerating all currently installed Snap packages.

Subsequently, we meticulously explored the procedures for installing and updating Snap packages. We exemplified the installation of the VLC media player utilizing the Snap package manager, and subsequently elucidated the steps to update Snap packages to their respective latest versions. We also examined the application of Snap commands for diverse management tasks, such as package removal, refreshing, and searching, skills essential for effective systemadmin practices in the Linux environment.

400+ Linux Commands