snap(1)                                                                                   General Commands Manual                                                                                  snap(1)

NAME
       snap - Tool to interact with snaps

SYNOPSIS
       snap [OPTIONS]

DESCRIPTION
       Install, configure, refresh and remove snap packages. Snaps are enabling secure distribution of the latest apps and utilities for cloud, servers, desktops and the internet of things.

       This is the CLI for snapd, a background service that takes care of snaps on the system. Start with 'snap list' to see installed snaps.

OPTIONS
   Application Options
COMMANDS
   abort
       Abort a pending change

       The abort command attempts to abort a change that still has pending tasks.

       Usage: snap [OPTIONS] abort [abort-OPTIONS]

       --last Select last change of given type (install, refresh, remove, try, auto-refresh etc.)

   ack
       Add an assertion to the system

       The ack command tries to add an assertion to the system assertion database.

       The assertion may also be a newer revision of a pre-existing assertion that it will replace.

       To succeed the assertion must be valid, its signature verified with a known public key and the assertion consistent with and its prerequisite in the database.

   alias
       Set up a manual alias

       The alias command aliases the given snap application to the given alias.

       Once this manual alias is setup the respective application command can be invoked just using the alias.

       Usage: snap [OPTIONS] alias [alias-OPTIONS]

       --no-wait
              Do not wait for the operation to finish but just print the change id.

   aliases
       List aliases in the system

       The aliases command lists all aliases available in the system and their status.

       $ snap aliases <snap>

       Lists only the aliases defined by the specified snap.

       An  alias noted as undefined means it was explicitly enabled or disabled but is not defined in the current revision of the snap, possibly temporarily (e.g.  because of a revert). This can cleared
       with 'snap alias --reset'.

   buy
       Buy a snap

       The buy command buys a snap from the store.

   changes
       List system changes

       The changes command displays a summary of system changes performed recently.

       Usage: snap [OPTIONS] changes [changes-OPTIONS]

       --abs-time
              Display absolute times (in RFC 3339 format). Otherwise, display relative times up to 60 days, then YYYY-MM-DD.

   connect
       Connect a plug to a slot

       The connect command connects a plug to a slot.  It may be called in the following ways:

       $ snap connect <snap>:<plug> <snap>:<slot>

       Connects the provided plug to the given slot.

       $ snap connect <snap>:<plug> <snap>

       Connects the specific plug to the only slot in the provided snap that matches the connected interface. If more than one potential slot exists, the command fails.

       $ snap connect <snap>:<plug>

       Connects the provided plug to the slot in the core snap with a name matching the plug name.

       Usage: snap [OPTIONS] connect [connect-OPTIONS]

       --no-wait
              Do not wait for the operation to finish but just print the change id.

   disable
       Disable a snap in the system

       The disable command disables a snap. The binaries and services of the snap will no longer be available, but all the data is still available and the snap can easily be enabled again.

       Usage: snap [OPTIONS] disable [disable-OPTIONS]

       --no-wait
              Do not wait for the operation to finish but just print the change id.

   disconnect
       Disconnect a plug from a slot

       The disconnect command disconnects a plug from a slot.  It may be called in the following ways:

       $ snap disconnect <snap>:<plug> <snap>:<slot>

       Disconnects the specific plug from the specific slot.

       $ snap disconnect <snap>:<slot or plug>

       Disconnects everything from the provided plug or slot.  The snap name may be omitted for the core snap.

       Usage: snap [OPTIONS] disconnect [disconnect-OPTIONS]

       --no-wait
              Do not wait for the operation to finish but just print the change id.

   download
       Download the given snap

       The download command downloads the given snap and its supporting assertions to the current directory with .snap and .assert file extensions, respectively.

       Usage: snap [OPTIONS] download [download-OPTIONS]

       --channel
              Use this channel instead of stable

       --edge Install from the edge channel

       --beta Install from the beta channel

       --candidate
              Install from the candidate channel

       --stable
              Install from the stable channel

       --revision
              Download the given revision of a snap, to which you must have developer access

   enable
       Enable a snap in the system

       The enable command enables a snap that was previously disabled.

       Usage: snap [OPTIONS] enable [enable-OPTIONS]

       --no-wait
              Do not wait for the operation to finish but just print the change id.

   find
       Find packages to install

       The find command queries the store for available packages in the stable channel.

       With the --private flag, which requires the user to be logged-in to the store (see 'snap help login'), it instead searches for private snaps that the user has developer access to, either directly
       or through the store's collaboration feature.

       Usage: snap [OPTIONS] find [find-OPTIONS]

       Aliases: search

       --private
              Search private snaps

       --narrow
              Only search for snaps in “stable”

       --section [="show-all-sections-please"] <default: "no-section-specified">
              Restrict the search to a given section

   get
       Print configuration options

       The get command prints configuration options for the provided snap.

           $ snap get snap-name username
           frank

       If multiple option names are provided, a document is returned:

           $ snap get snap-name username password
           {
               "username": "frank",
               "password": "..."
           }

       Nested values may be retrieved via a dotted path:

           $ snap get snap-name author.name
           frank

       Usage: snap [OPTIONS] get [get-OPTIONS]

       -t     Strict typing with nulls and quoted strings

       -d     Always return document, even with single key

       -l     Always return list, even with single key

   help
       Show help about a command

       The help command displays information about snap commands.

       Usage: snap [OPTIONS] help [help-OPTIONS]

          info
              Show detailed information about snaps

              The info command shows detailed information about snaps.

              The  snaps  can  be  specified  by  name  or by path; names are looked for both in the store and in the installed snaps; paths can refer to a .snap file, or to a directory that contains an
              unpacked snap suitable for 'snap try' (an example of this would be the 'prime' directory snapcraft produces).

              Usage: snap [OPTIONS] info [info-OPTIONS]

       --abs-time
              Display absolute times (in RFC 3339 format). Otherwise, display relative times up to 60 days, then YYYY-MM-DD.

       --verbose
              Include more details on the snap (expanded notes, base, etc.)

   install
       Install a snap to the system

       The install command installs the named snaps in the system.

       With no further options, the snaps are installed tracking the stable channel, with strict security confinement.

       Revision choice via the --revision override requires the the user to have developer access to the snap, either directly or through the store's collaboration feature, and  to  be  logged  in  (see
       'snap help login').

       Note a later refresh will typically undo a revision override, taking the snap back to the current revision of the channel it's tracking.

       Usage: snap [OPTIONS] install [install-OPTIONS]

       --no-wait
              Do not wait for the operation to finish but just print the change id.

       --channel
              Use this channel instead of stable

       --edge Install from the edge channel

       --beta Install from the beta channel

       --candidate
              Install from the candidate channel

       --stable
              Install from the stable channel

       --devmode
              Put snap in development mode and disable security confinement

       --jailmode
              Put snap in enforced confinement mode

       --classic
              Put snap in classic mode and disable security confinement

       --revision
              Install the given revision of a snap, to which you must have developer access

       --dangerous
              Install the given snap file even if there are no pre-acknowledged signatures for it, meaning it was not verified and could be dangerous (--devmode implies this)

       --unaliased
              Install the given snap without enabling its automatic aliases

   interface
       List snap interfaces

       The interface command shows details of snap interfaces.

       If no interface name is provided, a list of interface names with at least one connection is shown, or a list of all interfaces if --all is provided.

       Usage: snap [OPTIONS] interface [interface-OPTIONS]

       --attrs
              Show interface attributes

       --all  Include unused interfaces

   interfaces
       List interfaces in the system

       The interfaces command lists interfaces available in the system.

       By default all slots and plugs, used and offered by all snaps, are displayed.

       $ snap interfaces <snap>:<slot or plug>

       Lists only the specified slot or plug.

       $ snap interfaces <snap>

       Lists the slots offered and plugs used by the specified snap.

       $ snap interfaces -i=<interface> [<snap>]

       Filters the complete output so only plugs and/or slots matching the provided details are listed.

       Usage: snap [OPTIONS] interfaces [interfaces-OPTIONS]

       -i     Constrain listing to specific interfaces

   known
       Show known assertions of the provided type

       The known command shows known assertions of the provided type.  If header=value pairs are provided after the assertion type, the assertions shown must also have the specified headers matching the
       provided values.

       Usage: snap [OPTIONS] known [known-OPTIONS]

       --remote

   list
       List installed snaps

       The list command displays a summary of snaps installed in the current system.

       Usage: snap [OPTIONS] list [list-OPTIONS]

       --all  Show all revisions

   login
       Authenticate to snapd and the store

       The login command authenticates the user to snapd and the snap store, and saves credentials into the ~/.snap/auth.json file. Further communication with snapd will then be made using those creden‐
       tials.

       It's  not necessary to log in to interact with snapd. Doing so, however, enables purchasing of snaps using 'snap buy', as well as some some developer-oriented features as detailed in the help for
       the find, install and refresh commands.

       An account can be set up at https://login.ubuntu.com

   logout
       Log out of snapd and the store

       The logout command logs the current user out of snapd and the store.

   logs
       Retrieve logs of services

       The logs command fetches logs of the given services and displays them in chronological order.

       Usage: snap [OPTIONS] logs [logs-OPTIONS]

       -n <default: "10">
              Show only the given number of lines, or 'all'.

       -f     Wait for new lines and print them as they come in.

   pack
       Pack the given directory as a snap

       The pack command packs the given snap-dir as a snap and writes the result to target-dir. If target-dir is omitted, the result is written to current directory. If both  source-dir  and  target-dir
       are omitted, the pack command packs the current directory.

       When  used  with  --check-skeleton,  pack only checks whether snap-dir contains valid snap metadata and raises an error otherwise. Application commands listed in snap metadata file, but appearing
       with incorrect permission bits result in an error. Commands that are missing from snap-dir are listed in diagnostic messages.

       Usage: snap [OPTIONS] pack [pack-OPTIONS]

       --check-skeleton
              Validate snap-dir metadata only

   prefer
       Prefer aliases from a snap and disable conflicts

       The prefer command enables all aliases of the given snap in preference to conflicting aliases of other snaps whose aliases will be disabled (or removed, for manual ones).

       Usage: snap [OPTIONS] prefer [prefer-OPTIONS]

       --no-wait
              Do not wait for the operation to finish but just print the change id.

   refresh
       Refresh a snap in the system

       The refresh command updates the specified snaps, or all snaps in the system if none are specified.

       With no further options, the snaps are refreshed to the current revision of the channel they're tracking, preserving their confinement options.

       Revision choice via the --revision override requires the the user to have developer access to the snap, either directly or through the store's collaboration feature, and  to  be  logged  in  (see
       'snap help login').

       Note a later refresh will typically undo a revision override.

       Usage: snap [OPTIONS] refresh [refresh-OPTIONS]

       --abs-time
              Display absolute times (in RFC 3339 format). Otherwise, display relative times up to 60 days, then YYYY-MM-DD.

       --no-wait
              Do not wait for the operation to finish but just print the change id.

       --channel
              Use this channel instead of stable

       --edge Install from the edge channel

       --beta Install from the beta channel

       --candidate
              Install from the candidate channel

       --stable
              Install from the stable channel

       --devmode
              Put snap in development mode and disable security confinement

       --jailmode
              Put snap in enforced confinement mode

       --classic
              Put snap in classic mode and disable security confinement

       --amend
              Allow refresh attempt on snap unknown to the store

       --revision
              Refresh to the given revision, to which you must have developer access

       --list Show available snaps for refresh but do not perform a refresh

       --time Show auto refresh information but do not perform a refresh

       --ignore-validation
              Ignore validation by other snaps blocking the refresh

   remove
       Remove a snap from the system

       The remove command removes the named snap from the system.

       By default all the snap revisions are removed, including their data and the common data directory. When a --revision option is passed only the specified revision is removed.

       Usage: snap [OPTIONS] remove [remove-OPTIONS]

       --no-wait
              Do not wait for the operation to finish but just print the change id.

       --revision
              Remove only the given revision

   restart
       Restart services

       The restart command restarts the given services.

       If the --reload option is given, for each service whose app has a reload command, a reload is performed instead of a restart.

       Usage: snap [OPTIONS] restart [restart-OPTIONS]

       --no-wait
              Do not wait for the operation to finish but just print the change id.

       --reload
              If the service has a reload command, use it instead of restarting.

   revert
       Reverts the given snap to the previous state

       The  revert  command  reverts  the given snap to its state before the latest refresh. This will reactivate the previous snap revision, and will use the original data that was associated with that
       revision, discarding any data changes that were done by the latest revision. As an exception, data which the snap explicitly chooses to share  across  revisions  is  not  touched  by  the  revert
       process.

       Usage: snap [OPTIONS] revert [revert-OPTIONS]

       --no-wait
              Do not wait for the operation to finish but just print the change id.

       --devmode
              Put snap in development mode and disable security confinement

       --jailmode
              Put snap in enforced confinement mode

       --classic
              Put snap in classic mode and disable security confinement

       --revision
              Revert to the given revision

   run
       Run the given snap command

       The run command executes the given snap command with the right confinement and environment.

       Usage: snap [OPTIONS] run [run-OPTIONS]

       --shell
              Run a shell instead of the command (useful for debugging)

       --strace [="with-strace"] <default: "no-strace">
              Run the command under strace (useful for debugging). Extra strace options can be specified as well here. Pass --raw to strace early snap helpers.

       --gdb  Run the command with gdb

   services
       Query the status of services

       The services command lists information about the services specified, or about the services in all currently installed snaps.

   set
       Change configuration options

       The set command changes the provided configuration options as requested.

           $ snap set snap-name username=frank password=$PASSWORD

       All configuration changes are persisted at once, and only after the snap's configuration hook returns successfully.

       Nested values may be modified via a dotted path:

           $ snap set author.name=frank

       Usage: snap [OPTIONS] set [set-OPTIONS]

       --no-wait
              Do not wait for the operation to finish but just print the change id.

   start
       Start services

       The start command starts, and optionally enables, the given services.

       Usage: snap [OPTIONS] start [start-OPTIONS]

       --no-wait
              Do not wait for the operation to finish but just print the change id.

       --enable
              As well as starting the service now, arrange for it to be started on boot.

   stop
       Stop services

       The stop command stops, and optionally disables, the given services.

       Usage: snap [OPTIONS] stop [stop-OPTIONS]

       --no-wait
              Do not wait for the operation to finish but just print the change id.

       --disable
              As well as stopping the service now, arrange for it to no longer be started on boot.

   switch
       Switches snap to a different channel

       The switch command switches the given snap to a different channel without doing a refresh.

       Usage: snap [OPTIONS] switch [switch-OPTIONS]

       --no-wait
              Do not wait for the operation to finish but just print the change id.

       --channel
              Use this channel instead of stable

       --edge Install from the edge channel

       --beta Install from the beta channel

       --candidate
              Install from the candidate channel

       --stable
              Install from the stable channel

   tasks
       List a change's tasks

       The tasks command displays a summary of tasks associated with an individual change.

       Usage: snap [OPTIONS] tasks [tasks-OPTIONS]

       Aliases: change

       --abs-time
              Display absolute times (in RFC 3339 format). Otherwise, display relative times up to 60 days, then YYYY-MM-DD.

       --last Select last change of given type (install, refresh, remove, try, auto-refresh etc.)

   try
       Test a snap in the system

       The  try  command  installs  an  unpacked snap into the system for testing purposes.  The unpacked snap content continues to be used even after installation, so non-metadata changes there go live
       instantly. Metadata changes such as those performed in snap.yaml will require reinstallation to go live.

       If snap-dir argument is omitted, the try command will attempt to infer it if either snapcraft.yaml file and prime directory or meta/snap.yaml file can be found relative to current working  direc‐
       tory.

       Usage: snap [OPTIONS] try [try-OPTIONS]

       --no-wait
              Do not wait for the operation to finish but just print the change id.

       --devmode
              Put snap in development mode and disable security confinement

       --jailmode
              Put snap in enforced confinement mode

       --classic
              Put snap in classic mode and disable security confinement

   unalias
       Unalias a manual alias or an entire snap

       The unalias command removes a single alias if the provided argument is a manual alias, or disables all aliases of a snap, including manual ones, if the argument is a snap name.

       Usage: snap [OPTIONS] unalias [unalias-OPTIONS]

       --no-wait
              Do not wait for the operation to finish but just print the change id.

   version
       Show version details

       The version command displays the versions of the running client, server, and operating system.

   wait
       Wait for configuration

       The wait command waits until a configration becomes true.

   watch
       Watch a change in progress

       The watch command waits for the given change-id to finish and shows progress (if available).

       Usage: snap [OPTIONS] watch [watch-OPTIONS]

       --last Select last change of given type (install, refresh, remove, try, auto-refresh etc.)

   whoami
       Print the email the user is logged in with

       The whoami command prints the email the user is logged in with.

                                                                                               19 July 2018                                                                                        snap(1)
