dwww Home | Manual pages | Find package

snap(8)                     System Manager's Manual                    snap(8)

NAME
       snap - Tool to interact with snaps

SYNOPSIS
       snap [OPTIONS]

DESCRIPTION
       The snap command lets you install, configure, refresh and remove snaps.
       Snaps are packages that work across many different Linux distributions,
       enabling  secure  delivery  and operation of the latest apps and utili-
       ties.

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.). A question mark at  the  end  of  the  type
              means to do nothing (instead of returning an error) if no change
              of the given type is found. Note the question  mark  could  need
              protecting from the shell.

   ack
       Add an assertion to the system

       The ack command tries to add an assertion to the system assertion data-
       base.

       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.

   changes
       List system changes

       The  changes command displays a summary of system changes performed re-
       cently.

       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.

   check-snapshot
       Check a snapshot

       The  check-snapshot command verifies the user, system and configuration
       data of the snaps included in the specified snapshot.

       The check operation runs the same data integrity verification  that  is
       performed when a snapshot is restored.

       By  default,  this command checks all the data in a snapshot.  Alterna-
       tively, you can specify the data of which snaps to check, or for  which
       users, or a combination of these.

       If a snap is included in a check-snapshot operation, excluding its sys-
       tem and configuration data from the check is  not  currently  possible.
       This restriction may be lifted in the future.

       Usage: snap [OPTIONS] check-snapshot [check-snapshot-OPTIONS]

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

       --users
              Check data of only specific  users  (comma-separated)  (default:
              all users)

   components
       List available and installed components for installed snaps

       The  components  command  displays a summary of the components that are
       installed and available for the set of currently installed snaps.

       Components for specific installed snaps can  be  queried  by  providing
       snap names as positional arguments.

   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 ex-
       ists, 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.

   connections
       List interface connections

       The connections command lists connections between plugs  and  slots  in
       the system.

       Unless <snap> is provided, the listing is for connected plugs and slots
       for all snaps in the system. In this mode, pass --all to also list  un-
       connected plugs and slots.

       $ snap connections <snap>

       Lists connected and unconnected plugs and slots for the specified snap.

       Usage: snap [OPTIONS] connections [connections-OPTIONS]

       --all  Show connected and unconnected plugs and slots

   create-cohort
       Create cohort keys for a set of snaps

       The  create-cohort command creates a set of cohort keys for a given set
       of snaps.

       A cohort is a view or snapshot of a snap's "channel  map"  at  a  given
       point  in time that fixes the set of revisions for the snap given other
       constraints (e.g. channel or architecture). The cohort is then  identi-
       fied by an opaque per-snap key that works across systems. Installations
       or refreshes of the snap using a given cohort key would use a fixed re-
       vision  for  up to 90 days, after which a new set of revisions would be
       fixed under that same cohort key and a new 90 days window started.

   debug
       Run debug commands

       The debug command contains a selection of additional sub-commands.

       Debug commands can be removed without notice and may not work  on  non-
       development systems.

   debug api
       Execute raw query to snapd API

       Execute a raw query to snapd API. Complex input can be read from stdin,
       while output is printed to stdout. See examples below:

       List all snaps: $ snap debug api /v2/snaps

       Find snaps with name foo: $ snap debug api '/v2/find?name=foo'

       Request refresh of snap 'some-snap': $ echo '{"action":  "refresh"}'  |
       snap debug api -X POST \
             -H 'Content-Type: application/json' /v2/snaps/some-snap

       Usage: snap [OPTIONS] debug api [api-OPTIONS]

       --snap-socket
              Use snap access socket

       -H, --header
              Set  header  (can  be  repeated multiple times), header kind and
              value are separated with ': '

       -X, --request
              HTTP method to use (defaults to GET)

       --fail Fail on request errors

   debug confinement
       Print the confinement mode the system operates in

       The confinement command will print the confinement mode  (strict,  par-
       tial or none) the system operates in.

   debug connectivity
       Check network connectivity status

       The connectivity command checks the network connectivity of snapd.

   debug execution
       Obtain information about execution aspects of snap toolchain commands

       Display  debugging  information  about aspects of snap toolchain execu-
       tion, such as reexecution, tools location etc.

   debug execution apparmor
       Show apparmor

   debug execution internal-tool
       Show internal tool execution info

   debug execution snap
       Show snap execution info

   debug migrate-home
       Migrate snaps' directory to ~/Snap.

       Migrate snaps' directory to ~/Snap.

       Usage: snap [OPTIONS] debug migrate-home [migrate-home-OPTIONS]

       --no-wait

   debug paths
       Print system paths

       The paths command prints the list of paths detected and used by snapd.

   debug sandbox-features
       Print sandbox features available on the system

       The sandbox command prints tags describing features of individual sand-
       box components used by snapd on a given system.

       Usage: snap [OPTIONS] debug sandbox-features [sandbox-features-OPTIONS]

       --required
              Ensure that given backend:feature is available

   debug seeding
       Obtain seeding and preseeding details

       Obtain seeding and preseeding details

       Usage: snap [OPTIONS] debug seeding [seeding-OPTIONS]

       --unicode <default: "auto">

   debug stacktraces
       Obtain stacktraces of all snapd goroutines

       Obtain stacktraces of all snapd goroutines.

   debug state
       Inspect a snapd state file.

       Inspect a snapd state file, bypassing snapd API.

       Usage: snap [OPTIONS] debug state [state-OPTIONS]

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

       --changes
              List all changes

       --task ID of the task to inspect

       --change
              ID of the change to inspect

       --check
              Check change consistency

       --connections
              List all connections

       --connection
              Show   details   of   the   matching   connections   (snap    or
              snap:plug,snap:slot or snap:plug-or-slot

       --is-seeded
              Output seeding status (true or false)

       --dot  Dot (graphviz) output

       --no-hold
              Omit tasks in 'Hold' state in the change output

   debug timings
       Get the timings of the tasks of a change

       The timings command displays details about the time each task runs.

       Usage: snap [OPTIONS] debug timings [timings-OPTIONS]

       --last Select last change of given type (install, refresh, remove, try,
              auto-refresh, etc.). A question mark at  the  end  of  the  type
              means to do nothing (instead of returning an error) if no change
              of the given type is found. Note the question  mark  could  need
              protecting from the shell.

       --ensure
              Show  timings  for a change related to the given Ensure activity
              (one of: auto-refresh, become-operational, refresh-catalogs, re-
              fresh-hints, seed)

       --all  Show  timings  for all executions of the given Ensure or startup
              activity, not just the latest

       --startup
              Show timings for the startup of given subsystem (one  of:  load-
              state, ifacemgr)

       --verbose
              Show more information

   debug validate-seed
       Validate snap seed

       Validate  correctness  of snap seed located in the directory containing
       seed.yaml file.

   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.

       When an automatic connection is manually disconnected, its disconnected
       state is retained after a snap refresh. The --forget flag can be  added
       to the disconnect command to reset this behaviour, and consequently re-
       enable an automatic reconnection after a snap refresh.

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

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

       --forget
              Forget remembered state about the given connection.

   download
       Download the given snap

       The download command downloads the given snap and its supporting asser-
       tions 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

       --basename
              Use  this basename for the snap and assertion files (defaults to
              <snap>_<revision>)

       --target-directory
              Download to this directory (defaults to the current directory)

       --cohort
              Download from the given cohort

   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.

   export-snapshot
       Export a snapshot

       Export a snapshot to the given filename.

   find
       Find packages to install

       The find command queries the store for available packages.

       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.

       A green check mark (given color and unicode support) after a  publisher
       name indicates that the publisher has been verified.

       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-speci-
       fied">
              Restrict the search to a given section.

       --color <default: "auto">
              Use a little bit of color to highlight some things.

       --unicode <default: "auto">
              Use a little bit of Unicode to improve legibility.

   forget
       Delete a snapshot

       The forget command deletes a snapshot. This operation can  not  be  un-
       done.

       A  snapshot  contains  archives  for the user, system and configuration
       data of each snap included in the snapshot.

       By default, this command forgets all the data in a snapshot.   Alterna-
       tively, you can specify the data of which snaps to forget.

       Usage: snap [OPTIONS] forget [forget-OPTIONS]

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

   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, the corresponding values are re-
       turned:

           $ snap get snap-name username password
           Key       Value
           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]

       --all  Show a short summary of all commands

   import-snapshot
       Import a snapshot

       Import an exported snapshot set to the system. The snapshot is imported
       with a new snapshot ID and can be restored using the restore command.

       Usage: snap [OPTIONS] import-snapshot [import-snapshot-OPTIONS]

       --abs-time

   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]

       --color <default: "auto">
              Use a little bit of color to highlight some things.

       --unicode <default: "auto">
              Use a little bit of Unicode to improve legibility.

       --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 snaps on the system

       The install command installs the named snaps on the system.

       To  install  multiple  instances of the same snap, append an underscore
       and a unique identifier (for each instance) to a snap's name.

       Parallel instances are installed with --unaliased passed implicitly  to
       avoid  conflicts  with existing installs. This behaviour can be altered
       by passing --prefer which will enable all aliases of the given snap  in
       preference  to  conflicting  aliases  of  other  snaps  whose automatic
       aliases will be disabled and manual aliases will be removed.

       With no further options, the snaps are installed  tracking  the  stable
       channel,  with strict security confinement. All available channels of a
       snap are listed in its 'snap info' output.

       When --revision is used, a later refresh will typically undo the  revi-
       sion  override,  taking  the  snap  back to the current revision of the
       channel it's tracking.

       Use --name to set the instance name when installing from snap file.

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

       --color <default: "auto">
              Use a little bit of color to highlight some things.

       --unicode <default: "auto">
              Use a little bit of Unicode to improve legibility.

       --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

       --dangerous
              Install  the  given  snap file even if there are no pre-acknowl-
              edged 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

       --prefer
              Enable  all aliases of the given snap in preference to conflict-
              ing aliases of other snaps

       --name Install the snap file under the given instance name

       --cohort
              Install the snap in the given cohort

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

       --transaction <default: "per-snap">
              Have one transaction per-snap or one for all the specified snaps

       --quota-group
              Add the snap to a quota group on install

   interface
       Show details of 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

   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 asser-
       tions shown must also have the specified headers matching the  provided
       values.

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

       --remote
              Query the store for the assertion, via snapd if possible

       --direct
              Query  the store for the assertion, without attempting to go via
              snapd

   list
       List installed snaps

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

       A  green check mark (given color and unicode support) after a publisher
       name indicates that the publisher has been verified.

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

       --all  Show all revisions

       --color <default: "auto">
              Use a little bit of color to highlight some things.

       --unicode <default: "auto">
              Use a little bit of Unicode to improve legibility.

   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 communi-
       cation with snapd will then be made using those credentials.

       It's not necessary to log in to interact with snapd. Doing so, however,
       enables  interactions without sudo, as well as some some developer-ori-
       ented features as detailed in the help for the find,  install  and  re-
       fresh 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 for services

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

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

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

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

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

   model
       Get the active model for this device

       The  model  command  returns the active model assertion information for
       this device.

       By default, only the essential model identification information is  in-
       cluded in the output, but this can be expanded to include all of an as-
       sertion's non-meta headers.

       The verbose output is presented in a structured, yaml-like format.

       Similarly, the active serial assertion can be used for the  output  in-
       stead of the model assertion.

       Usage: snap [OPTIONS] model [model-OPTIONS]

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

       --color <default: "auto">
              Use a little bit of color to highlight some things.

       --unicode <default: "auto">
              Use a little bit of Unicode to improve legibility.

       --serial
              Print the serial assertion instead of the model assertion.

       --verbose
              Print all specific assertion fields.

       --assertion
              Print the raw assertion.

   okay
       Acknowledge warnings

       The okay command acknowledges the warnings listed with 'snap warnings'.

       Once acknowledged a warning won't appear again unless it re-occurrs and
       sufficient time has passed.

   pack
       Pack the given directory as a snap

       The  pack command packs the given snap-dir as a snap and writes the re-
       sult 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.

       The default file name for a snap  can  be  derived  entirely  from  its
       snap.yaml, but in some situations it's simpler for a script to feed the
       filename in. In those cases, --filename can be given  to  override  the
       default.  If this filename is not absolute it will be taken as relative
       to target-dir.

       When used with --check-skeleton, pack only checks whether snap-dir con-
       tains  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

       --filename
              Output to this filename

       --compression
              Compression to use (e.g. xz or lzo)

   prefer
       Enable aliases from a snap, disabling any conflicting aliases

       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.

   prepare-image
       Prepare a device image

       The prepare-image command performs some of the steps necessary for cre-
       ating device images.

       For core images it is not invoked directly but usually  via  ubuntu-im-
       age.

       For preparing classic images it supports a --classic mode

       Usage: snap [OPTIONS] prepare-image [prepare-image-OPTIONS]

       --classic
              Enable classic mode to prepare a classic model image

       --preseed
              Preseed (UC20+ only)

       --preseed-sign-key
              Name  of the key to use to sign preseed assertion, otherwise use
              the default key

       --apparmor-features-dir
              Optional path to apparmor kernel features directory (UC20+ only)

       --sysfs-overlay
              Optional sysfs overlay to be used when running preseeding steps

       --arch Specify an architecture for snaps for --classic when  the  model
              does not

       --channel
              The channel to use

       --snap <snap>[=<channel>]
              Include  the  given  snap  from the store or a local file and/or
              specify the channel to track for the given snap

       --comp <snap>+<comp>
              Include the given component from the store or a local file

       --revisions
              Specify a seeds.manifest file referencing the exact revisions of
              the provided snaps which should be installed

       --write-revisions [="./seed.manifest"]
              Writes  a  manifest file containing references to the exact snap
              revisions used for the image. A path for  the  manifest  is  op-
              tional.

   quota
       Show quota group for a set of snaps

       The  quota command shows information about a quota group, including the
       set of snaps and any sub-groups it contains, as well  as  its  resource
       constraints and the current usage of those constrained resources.

   quotas
       Show quota groups

       The quotas command shows all quota groups.

   reboot
       Reboot into selected system and mode

       The reboot command reboots the system into a particular mode of the se-
       lected recovery system.

       When called without a system label and without  a  mode  it  will  just
       trigger a regular reboot.

       When  called without a label, the current system will be used for "run"
       mode. The default recovery system will be used for "recover", "factory-
       reset" and "install" modes.

       Note that the "run" mode is only available for the current system.

       Usage: snap [OPTIONS] reboot [reboot-OPTIONS]

       --run  Boot into run mode

       --install
              Boot into install mode

       --recover
              Boot into recover mode

       --factory-reset
              Boot into factory-reset mode

   recovery
       List available recovery systems

       The recovery command lists the available recovery systems.

       With  --show-keys  it displays recovery keys that can be used to unlock
       the encrypted partitions if  the  device-specific  automatic  unlocking
       does not work.

       Usage: snap [OPTIONS] recovery [recovery-OPTIONS]

       --color <default: "auto">
              Use a little bit of color to highlight some things.

       --unicode <default: "auto">
              Use a little bit of Unicode to improve legibility.

       --show-keys
              Show  recovery  keys  (if  available) to unlock encrypted parti-
              tions.

   refresh
       Refresh snaps 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 revi-
       sion of the channel they're tracking, preserving their confinement  op-
       tions.  All  available channels of a snap are listed in its 'snap info'
       output.

       When --revision is used, a later refresh will typically undo the  revi-
       sion override.

       Hold  (--hold)  is  used to postpone snap refresh updates for all snaps
       when no snaps are specified, or for the specified snaps.

       When no snaps are specified --hold is only effective on  auto-refreshes
       and  will not block either general refresh requests from 'snap refresh'
       or specific snap requests from 'snap refresh target-snap'.

       When snaps are specified --hold is effective  on  both  their  auto-re-
       freshes and general refresh requests from 'snap refresh'. However, spe-
       cific snap requests from 'snap refresh  target-snap'  remain  unblocked
       and will proceed.

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

       --color <default: "auto">
              Use a little bit of color to highlight some things.

       --unicode <default: "auto">
              Use a little bit of Unicode to improve legibility.

       --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

       --cohort
              Refresh the snap into the given cohort

       --leave-cohort
              Refresh the snap out of its cohort

       --list Show  the  new  versions of snaps that would be updated with the
              next refresh

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

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

       --transaction <default: "per-snap">
              Have one transaction per-snap or one for all the specified snaps

       --hold [="forever"]
              Hold refreshes for a specified duration (or forever, if no value
              is specified)

       --unhold
              Remove refresh hold

   remodel
       Remodel this device

       The  remodel  command changes the model assertion of the device, either
       to a new revision or a full new model.

       In the process it applies any implied changes to the  device:  new  re-
       quired snaps, new kernel or gadget etc.

       Snaps and assertions are downloaded from the store unless they are pro-
       vided as local files specified by --snap and  --assertion  options.  If
       using  these  options, it is expected that all the needed snaps and as-
       sertions are provided locally, otherwise the remodel will fail.

       Usage: snap [OPTIONS] remodel [remodel-OPTIONS]

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

       --snap Use one or more locally available snaps.

       --assertion
              Use one or more locally available assertion files.

       --offline
              Use  only  pre-installed  and  locally provided snaps and asser-
              tions. Providing any snaps or assertions locally implies  --off-
              line.

   remove
       Remove snaps from the system

       The remove command removes the named snap instance 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.

       Unless automatic snapshots are disabled, a snapshot of all data for the
       snap is saved upon removal, which is then available for future restora-
       tion  with snap restore. The --purge option disables automatically cre-
       ating snapshots.

       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

       --purge
              Remove the snap without saving a snapshot of its data

       --terminate
              Terminate  running  processes  associated with a snap before re-
              moval

   remove-quota
       Remove quota group

       The remove-quota command removes the given quota group.

       Currently, only quota groups with no sub-groups can be removed. In  or-
       der  to remove a quota group with sub-groups, the sub-groups must first
       be removed until there are no sub-groups for the group, then the  group
       itself can be removed.

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

       --no-wait

   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.

       --system
              The operation should only affect system services.

       --user The  operation  should only affect user services for the current
              user.

       --users
              If provided and set to 'all', the operation should  affect  ser-
              vices for all users.

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

   restore
       Restore a snapshot

       The restore command replaces the current user, system and configuration
       data  of included snaps, with the corresponding data from the specified
       snapshot.

       By default, this command restores all the data in a snapshot.  Alterna-
       tively,  you  can  specify  the  data of which snaps to restore, or for
       which users, or a combination of these.

       If a snap is included in a restore operation, excluding its system  and
       configuration data from the restore is not currently possible. This re-
       striction may be lifted in the future.

       Usage: snap [OPTIONS] restore [restore-OPTIONS]

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

       --users
              Restore  data of only specific users (comma-separated) (default:
              all users)

   revert
       Reverts the given snap to the previous state

       The revert command reverts the given snap to its state before the  lat-
       est  refresh. This will reactivate the previous snap revision, and will
       use the original data that was associated with that revision,  discard-
       ing  any  data changes that were done by the latest revision. As an ex-
       ception, data which the snap explicitly chooses to share  across  revi-
       sions 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 confine-
       ment and environment.

       Usage:  snap  [OPTIONS]  run [run-OPTIONS] <NAME-OF-SNAP>.<NAME-OF-APP>
       [<SNAP-APP-ARG>...]

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

       --debug-log
              Enable debug logging during early snap startup phases

       --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.

       --gdbserver [=":0"] <default: "no-gdbserver">
              Run the command with gdbserver

       --trace-exec
              Display exec calls timing data

   save
       Save a snapshot of the current data

       The save command creates a snapshot of the  current  user,  system  and
       configuration data for the given snaps.

       By  default,  this  command  saves the data of all snaps for all users.
       Alternatively, you can specify the data of which snaps to save, or  for
       which users, or a combination of these.

       If  a  snap  is  included in a save operation, excluding its system and
       configuration data from the snapshot is not  currently  possible.  This
       restriction may be lifted in the future.

       Usage: snap [OPTIONS] save [save-OPTIONS]

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

       --abs-time
              Display absolute times (in RFC 3339 format). Otherwise,  display
              short relative times.

       --users
              Snapshot data of only specific users (comma-separated) (default:
              all users)

   saved
       List currently stored snapshots

       The saved command displays a list of snapshots that have  been  created
       previously with the 'save' command.

       Usage: snap [OPTIONS] saved [saved-OPTIONS]

       --abs-time
              Display  absolute times (in RFC 3339 format). Otherwise, display
              short relative times.

       --id   Show only a specific snapshot.

   services
       Query the status of services

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

       If executed as root user, the 'Startup' column of any user service will
       be whether it's globally enabled (i.e systemctl  is-enabled).  To  view
       the actual 'Startup'|'Current' status of the user services for the root
       user itself, --user can be provided.

       If executed as a non-root user, the 'Startup'|'Current' status of  user
       services  will be the current status for the invoking user. To view the
       global enablement status of user services, --global can be provided.

       Usage: snap [OPTIONS] services [services-OPTIONS]

       -g, --global
              Show the global enable status for user services instead  of  the
              status for the current user.

       -u, --user
              Show  the  current  status  of  the user services instead of the
              global enable status.

   set
       Change configuration options

       The set command changes  the  provided  configuration  options  as  re-
       quested.

           $ 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 snap-name author.name=frank

       Configuration option may be unset with exclamation mark:
           $ snap set snap-name author!

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

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

       -t     Parse the value strictly as JSON document

       -s     Parse the value as a string

   set-quota
       Create or update a quota group.

       The  set-quota command updates or creates a quota group with the speci-
       fied set of snaps.

       A quota group sets resource limits on the set of snaps or snap services
       it  contains.  Snaps can be at most in one quota group but quota groups
       can be nested. Nested quota groups are subject to the restriction  that
       the  total  sum of each existing quota in sub-groups cannot exceed that
       of the parent group the nested groups are part of.

       All provided snaps are appended to the group; to remove a snap  from  a
       quota  group,  the  entire  group must be removed with remove-quota and
       recreated without the snap. To remove a sub-group from the quota group,
       the sub-group must be removed directly with the remove-quota command.

       To  set  limits  on  individual  services,  one or more services can be
       placed into a sub-group. The respective snap for each service must  be-
       long  to  the  sub-group's parent group. These sub-groups will have the
       same limitations as nested groups which means their  combined  resource
       usage  cannot exceed the resource limits set for the parent group. Sub-
       groups which contain services cannot have their own journal quotas set,
       and  instead automatically inherit any journal quota their parent quota
       group may have.

       The memory limit for a quota group can be increased but not  decreased.
       To  decrease  the memory limit for a quota group, the entire group must
       be removed with the remove-quota command and  recreated  with  a  lower
       limit.  Increasing  the memory limit for a quota group does not restart
       any services associated with snaps in the quota group.

       The CPU limit for a quota group can be both increased and decreased af-
       ter  being  set  on  a quota group. The CPU limit can be specified as a
       single percentage which means that the quota group is allowed an  over-
       all  percentage  of the CPU resources. Setting it to 50% means that the
       quota group is allowed to use up to 50% of all CPU cores in the allowed
       CPU set. Setting the percentage to 2x100% means that the quota group is
       allowed up to 100% on two cpu cores.

       The CPU set limit for a quota group can  be  modified  to  include  new
       cpus, or to remove existing cpus from the quota already set.

       The threads limit for a quota group can be increased but not decreased.
       To decrease the threads limit for a quota group, the entire group  must
       be  removed  with  the  remove-quota command and recreated with a lower
       limit.

       The journal limits can be increased and decreased after being set on  a
       group.  Setting a journal limit will cause the snaps in the group to be
       put into the same journal namespace. This will affect the behaviour  of
       the log command.

       New  quotas  can  be  set on existing quota groups, but existing quotas
       cannot be removed from a quota group, without removing  and  recreating
       the entire group.

       Adding  new snaps to a quota group will result in all non-disabled ser-
       vices in that snap being restarted.

       An existing sub group cannot be moved from one parent to another.

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

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

       --memory [=]
              Memory quota

       --cpu [=]
              CPU quota

       --cpu-set [=]
              CPU set quota

       --threads [=]
              Threads quota

       --journal-size [=]
              Journal size quota

       --journal-rate-limit [=]
              Journal rate limit as <message count>/<message period>

       --parent [=]
              Parent quota group

   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.

       --system
              The operation should only affect system services.

       --user The operation should only affect user services for  the  current
              user.

       --users
              If  provided  and set to 'all', the operation should affect ser-
              vices for all users.

       --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.

       --system
              The operation should only affect system services.

       --user The operation should only affect user services for  the  current
              user.

       --users
              If  provided  and set to 'all', the operation should affect ser-
              vices for all users.

       --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 with-
       out doing a refresh. All available channels of a snap are listed in its
       'snap info' output.

       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

       --cohort
              Switch the snap into the given cohort

       --leave-cohort
              Switch the snap out of its cohort

   tasks
       List a change's tasks

       The tasks command displays a summary of tasks associated with an  indi-
       vidual 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.).  A  question  mark  at the end of the type
              means to do nothing (instead of returning an error) if no change
              of  the  given  type is found. Note the question mark could need
              protecting from the shell.

   try
       Test an unpacked 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 reinstalla-
       tion 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 directory.

       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
       Remove a manual alias, or the aliases for 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.

   unset
       Remove configuration options

       The unset command removes the provided  configuration  options  as  re-
       quested.

            $ snap unset snap-name name address

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

       Nested values may be removed via a dotted path:

            $ snap unset snap-name user.name

       Usage: snap [OPTIONS] unset [unset-OPTIONS]

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

   validate
       List or apply validation sets

       The  validate command lists or applies validation sets that state which
       snaps are required or permitted to be  installed  together,  optionally
       constrained to fixed revisions.

       A  validation  set  can either be in monitoring mode, in which case its
       constraints aren't enforced, or in enforcing mode, in which case  snapd
       will not allow operations which would result in snaps breaking the val-
       idation set's constraints.

       Usage: snap [OPTIONS] validate [validate-OPTIONS]

       --monitor
              Monitor the given validations set

       --enforce
              Enforce the given validation set

       --forget
              Forget the given validation set

       --refresh
              Refresh or install snaps to satisfy enforced validation sets

       --color <default: "auto">
              Use a little bit of color to highlight some things.

       --unicode <default: "auto">
              Use a little bit of Unicode to improve legibility.

       --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 configuration becomes true.

   warnings
       List warnings

       The warnings command lists the warnings that have been reported to  the
       system.

       Once warnings have been listed with 'snap warnings', 'snap okay' may be
       used to silence them. A warning that's been silenced in this  way  will
       not  be listed again unless it happens again, _and_ a cooldown time has
       passed.

       Warnings expire automatically, and once expired they are forgotten.

       Usage: snap [OPTIONS] warnings [warnings-OPTIONS]

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

       --unicode <default: "auto">
              Use a little bit of Unicode to improve legibility.

       --all  Show all warnings

       --verbose
              Show more information

   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.).  A  question  mark  at the end of the type
              means to do nothing (instead of returning an error) if no change
              of  the  given  type is found. Note the question mark could need
              protecting from the shell.

   whoami
       Show the email the user is logged in with

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

NOTES
        1. Online documentation
           https://docs.snapcraft.io

BUGS
       Please report all bugs with https://bugs.launchpad.net/snapd/+filebug

                                15 January 2025                        snap(8)

Generated by dwww version 1.14 on Sun Apr 6 16:09:48 CEST 2025.