snap - 用于与 snap 包交互的工具
概要
snap [选项]
描述
snap 命令允许您安装、配置、刷新和删除 snap 包。snap 包是可以在许多不同的 Linux 发行版上运行的软件包,从而可以安全地交付和运行最新的应用程序和实用程序。
选项
应用程序选项
命令
abort
中止一个待处理的更改
abort 命令尝试中止一个仍然具有待处理任务的更改。
用法:snap [选项] abort [abort-选项]
--last 选择给定类型的最后一个更改(安装、刷新、删除、尝试、自动刷新等)。
在类型末尾的问号表示,如果未找到给定类型的更改,则不执行任何操作(而不是返回错误)。请注意,问号可能需要从 shell 中转义。
ack
向系统添加一个断言
ack 命令尝试将一个断言添加到系统断言数据库中。
该断言也可以是现有断言的更新版本,它将替换该断言。
为了成功,断言必须有效,其签名必须使用已知的公钥进行验证,并且断言必须与数据库中的其先决条件一致。
alias
设置手动别名
alias 命令将给定的 snap 应用程序别名为给定的别名。
设置此手动别名后,可以使用该别名来调用相应的应用程序命令。
用法:snap [选项] alias [alias-选项]
--no-wait
不要等待操作完成,而只是打印更改 ID。
aliases
列出系统中的别名
aliases 命令列出系统中所有可用的别名及其状态。
$ snap aliases <snap>
仅列出由指定 snap 定义的别名。
changes
列出系统更改
changes 命令显示最近执行的系统更改的摘要。
用法:snap [选项] changes [changes-选项]
--abs-time
显示绝对时间(RFC 3339 格式)。否则,显示相对时间,最多 60 天,然后显示 YYYY-MM-DD。
check-snapshot
检查快照
check-snapshot 命令验证指定快照中包含的 snap 的用户、系统和配置数据。
检查操作运行与快照还原时执行相同的数据完整性验证。
默认情况下,此命令检查快照中的所有数据。或者,您可以指定要检查的 snap 的数据,或要检查的用户,或这两者的组合。
如果一个 snap 包含在 check-snapshot 操作中,则目前不可能排除其系统和配置数据进行检查。此限制将来可能会解除。
用法:snap [选项] check-snapshot [check-snapshot-选项]
--no-wait
不等待操作完成,而只是打印变更 ID。
--users
仅检查特定用户的数据(逗号分隔)(默认值:所有用户)
components
列出已安装的 snap 的可用组件和已安装组件。
components 命令显示已安装 snap 的组件摘要,包括可用组件和已安装组件。
可以提供 snap 名称作为位置参数来查询特定已安装 snap 的组件。
connect
连接一个 plug 到一个 slot。
connect 命令用于连接一个 plug 到一个 slot。它可以按以下方式调用:
$ snap connect <snap>:<plug> <snap>:<slot>
将提供的 plug 连接到给定的 slot。
$ snap connect <snap>:<plug> <snap>
将特定的 plug 连接到提供的 snap 中唯一的匹配连接接口的 slot。如果存在多个潜在的 slot,则命令将失败。
$ snap connect <snap>:<plug>
将提供的 plug 连接到 core snap 中的一个 slot,该 slot 的名称与 plug 的名称匹配。
用法:snap [选项] connect [connect-选项]
--no-wait
不等待操作完成,而只是打印变更 ID。
connections
列出接口连接。
connections 命令列出系统中 plug 和 slot 之间的连接。
如果未提供 <snap>,则列出系统中所有 snap 的连接的 plug 和 slot。在这种模式下,传递 --all 以同时列出未连接的 plug 和 slot。
$ snap connections <snap>
列出指定 snap 的连接和未连接的 plug 和 slot。
用法:snap [选项] connections [connections-选项]
--all 显示连接和未连接的 plug 和 slot
create-cohort
为一组 snap 创建 cohort 密钥。
create-cohort 命令为给定的 snap 集合创建一组 cohort 密钥。
cohort 是 snap 的“通道映射”在给定时间点的视图或快照,它固定了 snap 的修订版本集,同时考虑了其他约束(例如通道或架构)。然后,cohort 通过一个不透明的、每个 snap 的密钥来标识,该密钥可在不同系统中使用。使用给定 cohort 密钥安装或刷新 snap 将在长达 90 天的时间内使用固定的修订版本,之后将为该相同的 cohort 密钥固定一组新的修订版本,并开始新的 90 天周期。
debug
运行调试命令。
debug 命令包含一组额外的子命令。
调试命令可以被删除,恕不另行通知,并且可能无法在非开发系统上工作。
debug api
执行 snapd API 的原始查询。
执行 snapd API 的原始查询。可以从 stdin 读取复杂的输入,并将输出打印到 stdout。请参见下面的示例:
列出所有 snap:$ snap debug api /v2/snaps
查找名称为 foo 的 snap:$ snap debug api '/v2/find?name=fooo'
请求刷新 snap 'some-snap':$ echo '{"action": "refresh"}' | snap debug api -X POST \
-H 'Content-Type: application/json' /v2/snaps/some-snap
用法:debug api [api-OPTIONS]
--snap-socket
使用 snap 访问套接字
-H, --header
设置头部 (可以重复多次),头部类型和值之间用 ': ' 分隔
-X, --request
要使用的 HTTP 方法 (默认为 GET)
--fail
如果请求出错则失败
debug confinement
打印系统运行的隔离模式
^ onfinement 命令将打印系统运行的隔离模式(严格、部分或无)。
debug connectivity
检查网络连接状态
^ onnectivity 命令检查 snapd 的网络连接。
debug execution
获取 snap 工具链命令的执行方面的信息
显示有关 snap 工具链执行方面的调试信息,例如重新执行、工具位置等。
debug execution apparmor
显示 apparmor
debug execution internal-tool
显示内部工具执行信息
debug execution snap
显示 snap 执行信息
debug features
获取完整的特性标签列表
显示 json 输出,其中包含 snapd 和 snap 中存在的完整特性标签列表。特性标签是一组描述 snapd 中重要代码路径的数据,包括任务、更改、接口、端点、snap 命令和确保辅助函数。
debug lsm
(内部)获取关于 LSM 的状态信息
(内部)获取关于 LSM 的状态信息
debug migrate-home
将 snap 的目录迁移到 ~/Snap。
将 snap 的目录迁移到 ~/Snap。
用法:debug migrate-home [migrate-home-OPTIONS]
--no-wait
debug paths
打印系统路径
^ aths 命令打印 snapd 检测和使用的路径列表。
debug refresh-app-awareness
(内部)列出 refresh-app-awareness 详细信息
(内部)列出 refresh-app-awareness 详细信息
用法:debug refresh-app-awareness [refresh-app-awareness-OPTIONS]
--unicode <默认值:auto>
debug sandbox-features
打印系统上可用的沙盒特性
^ andbox 命令打印描述 snapd 在给定系统上使用的各个沙盒组件的标签。
用法:debug sandbox-features [sandbox-features-OPTIONS]
--required
确保给定的后端:特性可用
debug seeding
获取种子和预种子详细信息
获取种子和预种子详细信息
用法:debug seeding [seeding-OPTIONS]
--unicode <默认值:auto>
debug stacktraces
获取所有 snapd goroutine 的堆栈跟踪
获取所有 snapd goroutine 的堆栈跟踪。
debug state
检查 snapd 状态文件。
通过 snapd API 绕过检查 snapd 状态文件。
用法:debug state [state-OPTIONS]
--abs-time
显示绝对时间(RFC 3339 格式)。否则,显示相对时间,最多 60 天,然后显示 YYYY-MM-DD。
--changes
列出所有更改
--task
要检查的任务的 ID
--change
要检查的更改的 ID
--check
检查更改的一致性
--connections
列出所有连接
--connection
显示匹配的连接的详细信息(snap 或 snap:plug,snap:slot 或 snap:plug-or-slot)
--is-seeded
输出种子状态(true 或 false)
--dot Dot(graphviz)输出
--no-hold
在更改输出中省略“Hold”状态的任务
debug timings
获取更改中任务的计时
^ imings 命令显示有关每个任务运行时间的详细信息。
用法:debug timings [timings-OPTIONS]
--last 选择给定类型的最后一个更改(install、refresh、remove、try、auto-refresh 等)。类型末尾的问号表示,如果没有找到给定类型的更改,则不返回错误(而是什么都不做)。请注意,问号可能需要从 shell 中转义。
--ensure
显示与给定“Ensure”活动相关的计时(可以是以下之一:auto-refresh、become-operational、refresh-catalogs、refresh-hints、seed)
--all 显示给定“Ensure”或启动活动的所有执行的计时,而不仅仅是最近一次
--startup
显示给定子系统的启动计时(可以是以下之一:load-state、ifacemgr)
--verbose
显示更多信息
debug validate-seed
验证 snap 种子
验证位于包含 seed.yaml 文件的目录中的 snap 种子的正确性。
disable
禁用系统中的 snap
^ isable 命令禁用一个 snap。snap 的二进制文件和服务将不再可用,但所有数据仍然可用,并且 snap 可以轻松地重新启用。
用法:snap [OPTIONS] disable [disable-OPTIONS]
--no-wait
不等待操作完成,而只是打印更改 ID。
disconnect
断开插件与插槽的连接
^ isconnect 命令断开插件与插槽的连接。它可以按以下方式调用:
$ snap disconnect <snap>:<plug> <snap>:<slot>
从指定的插槽断开指定的插件。
$ snap disconnect <snap>:<slot 或 plug>
从提供的插件或插槽断开所有内容。对于 core snap,可以省略 snap 名称。
当手动断开自动连接时,其断开状态会在 snap 刷新后保留。可以通过添加 --forget 标志到 disconnect 命令来重置此行为,从而在 snap 刷新后重新启用自动重新连接。
用法:snap [OPTIONS] disconnect [disconnect-OPTIONS]
--no-wait
不等待操作完成,而只是打印更改 ID。
--forget
忘记有关给定连接的已记住状态。
download
下载给定的 snap
^ ownload 命令将给定的 snap、组件及其支持的断言下载到当前目录,文件扩展名分别为 .snap、.comp 和 .assert。
用法:snap [OPTIONS] download [download-OPTIONS]
--channel
使用此频道代替 stable
--edge 从 edge 频道安装
--beta 从 beta 频道安装
--candidate 从候选频道安装
--stable 从稳定频道安装
--revision
下载给定版本的 snap。下载组件时,下载与给定 snap 版本关联的组件。
--basename
为快照、组件和断言文件使用此基本名称(默认为 <snap>_<revision>)
--target-directory
下载到此目录(默认为当前目录)
--only-components
仅下载给定的组件,而不是快照
--cohort
从给定的组中下载
enable
启用系统中的快照
enable 命令启用先前禁用的快照。
用法:snap [OPTIONS] enable [enable-OPTIONS]
--no-wait
不要等待操作完成,只需打印更改 ID。
export-snapshot
导出快照
将快照导出到给定的文件名。
find
查找要安装的包
find 命令查询商店以获取可用的包。
使用 --private 标志后,需要用户登录到商店(请参阅“snap help login”),它会搜索用户可以直接访问或通过商店的协作功能访问的私有快照。
发布者名称后方的绿色复选标记(如果支持颜色和 Unicode)表示该发布者已通过验证。
用法:snap [OPTIONS] find [find-OPTIONS]
别名:search
--private
搜索私有快照。
--narrow
仅搜索“稳定”快照。
--section [="show-all-sections-please"] <默认值:“no-section-specified”>
将搜索限制为给定的部分。
--color <默认值:“auto”>
使用一些颜色来突出显示某些内容。
--unicode <默认值:“auto”>
使用一些 Unicode 字符来提高可读性。
forget
删除快照
forget 命令删除快照。此操作无法撤销。
快照包含用户、系统和每个快照中包含的快照的配置数据的存档。
默认情况下,此命令会忘记快照中的所有数据。或者,您可以指定要忘记哪些快照的数据。
用法:snap [OPTIONS] forget [forget-OPTIONS]
--no-wait
不要等待操作完成,只需打印更改 ID。
get
打印配置选项
get 命令打印提供的快照的配置选项。
$ snap get snap-name username
frank
如果提供了多个选项名称,则返回相应的值:
$ snap get snap-name username password
Key Value
username frank
password ...
可以使用点符号路径检索嵌套值:
$ snap get snap-name author.name
frank
用法:snap [OPTIONS] get [get-OPTIONS]
-t 严格类型检查,包括 null 和带引号的字符串
-d 始终返回文档,即使只有一个键
-l 始终返回列表,即使只有一个键
help
显示命令帮助
help 命令显示关于 snap 命令的信息。
用法:snap [OPTIONS] help [help-OPTIONS]
--all 显示所有命令的简短摘要
import-snapshot
导入快照
将导出的快照集导入系统。快照将使用新的快照 ID 导入,可以使用 restore 命令进行还原。
用法:snap [选项] import-snapshot [import-snapshot-选项]
--abs-time
info
显示关于 snap 的详细信息
info 命令显示关于 snap 的详细信息。
snap 可以通过名称或路径指定;名称在商店和已安装的 snap 中查找;路径可以引用一个 .snap 文件,或者引用一个包含解压的 snap 的目录,该目录适用于“snap try”(snapcraft 生成的“prime”目录就是一个例子)。
用法:snap [选项] info [info-选项]
--color <默认值:“auto”>
使用一些颜色来突出显示某些内容。
--unicode <默认值:“auto”>
使用一些 Unicode 字符来提高可读性。
--abs-time
显示绝对时间(以 RFC 3339 格式)。否则,显示相对时间,最多为 60 天,然后显示为 YYYY-MM-DD。
--verbose
包含关于 snap 的更多详细信息(扩展的注释、基础等)。
install
在系统上安装 snap
install 命令在系统上安装指定的 snap。
要安装同一 snap 的多个实例,请在 snap 名称后附加一个下划线和一个唯一的标识符(每个实例)。
并行实例使用 --unaliased 选项进行安装,以避免与现有安装的冲突。可以通过传递 --prefer 选项来更改此行为,这将启用给定 snap 的所有别名,并优先于其他 snap 的冲突别名,这些 snap 的自动别名将被禁用,手动别名将被删除。
如果没有其他选项,则 snap 将被安装到跟踪稳定通道,并具有严格的安全隔离。snap 的所有可用通道都列在它的“snap info”输出中。
当使用 --revision 时,后续的刷新通常会撤消修订版本覆盖,并将 snap 恢复到其正在跟踪的通道的当前版本。
使用 --name 选项来设置从 snap 文件安装时的实例名称。
用法:snap [选项] install [install-选项]
--color <默认值:“auto”>
使用一些颜色来突出显示某些内容。
--unicode <默认值:“auto”>
使用一些 Unicode 字符来提高可读性。
--no-wait
不等待操作完成,而是仅打印更改 ID。
--channel
使用此通道而不是稳定通道
--edge
从 edge 通道安装
--beta
从 beta 通道安装
--candidate
从候选通道安装
--stable
从稳定通道安装
--devmode
将 snap 置于开发模式并禁用安全隔离
--jailmode
将 snap 置于强制隔离模式
--classic
将 snap 置于经典模式并禁用安全隔离
--revision
安装给定修订版本的 snap
--dangerous
即使对于没有已确认签名的给定 snap 文件(这意味着它未经验证,可能很危险),也进行安装(--devmode 选项会隐式启用此选项)
--unaliased
安装给定的 snap,而不启用其自动别名
--prefer
启用给定 snap 的所有别名,使其优先于其他 snap 的冲突别名
--name
在给定的实例名称下安装 snap 文件
--cohort
将 snap 安装到给定的 cohort 中
--ignore-validation
忽略其他 snap 阻止安装时的验证
--transaction <默认值: "per-snap">
为每个 snap 使用一个事务,或者为所有指定的 snap 使用一个事务
--quota-group
在安装时将 snap 添加到配额组
interface
显示 snap 接口的详细信息
interface 命令显示 snap 接口的详细信息。
如果没有提供接口名称,则会显示至少有一个连接的接口名称列表,或者如果提供了 --all 选项,则会显示所有接口的列表。
用法: snap [选项] interface [接口选项]
--attrs
显示接口属性
--all
包括未使用的接口
known
显示给定类型已知的断言
known 命令显示给定类型的已知断言。如果提供了断言类型之后的 header=value 对,则显示的断言也必须具有与提供的 value 匹配的指定的 header。
用法: snap [选项] known [known 选项]
--remote
通过 snapd 查询商店以获取断言,如果可能的话
--direct
直接查询商店以获取断言,而不尝试通过 snapd
list
列出已安装的 snap
list 命令显示系统中已安装 snap 的摘要。
发布者名称后有一个绿色复选标记(如果支持颜色和 Unicode),表示该发布者已通过验证。
用法: snap [选项] list [list 选项]
--all
显示所有修订版本
--color <默认值: "auto">
使用一些颜色来突出显示某些内容。
--unicode <默认值: "auto">
使用一些 Unicode 来提高可读性。
login
验证到 snapd 和商店
login 命令验证用户到 snapd 和 snap 商店,并将凭据保存到 ~/.snap/auth.json 文件中。然后,与 snapd 的进一步通信将使用这些凭据进行。
不必登录即可与 snapd 交互。但是,登录可以启用无需 sudo 的交互,以及一些面向开发者的功能,详细信息请参见 find、install 和 refresh 命令的帮助。
可以访问 https://login.ubuntu.com 设置帐户。
logout
从 snapd 和商店注销
logout 命令注销当前用户,使其与 snapd 和商店断开连接。
logs
检索服务的日志
logs 命令检索给定服务的日志,并按时间顺序显示。
用法: snap [选项] logs [logs 选项]
--abs-time
显示绝对时间(以 RFC 3339 格式)。否则,显示相对时间,最多 60 天,然后显示 YYYY-MM-DD。
-n <默认值: "10">
仅显示给定的行数,或 'all'。
-f
等待新行并按其出现的时间打印。
model
获取此设备的活动模型
model 命令返回此设备的活动模型断言信息。
默认情况下,输出中仅包含基本模型标识信息,但可以扩展为包含断言的所有非元数据头。
详细输出以结构化的 YAML 格式呈现。
类似地,可以使用活动的序列断言来代替模型断言进行输出。
用法:snap [选项] 模型 [模型选项]
--abs-time
显示绝对时间(RFC 3339 格式)。否则,显示相对时间,最多 60 天,然后显示 YYYY-MM-DD。
--color <默认值:“auto”>
使用一些颜色来突出显示某些内容。
--unicode <默认值:“auto”>
使用一些 Unicode 字符来提高可读性。
--serial
打印序列断言而不是模型断言。
--verbose
打印所有特定断言字段。
--assertion
打印原始断言。
okay
确认警告
okay 命令确认使用“snap warnings”列出的警告。
确认后,除非警告再次出现且经过了足够的时间,否则该警告将不再出现。
pack
将给定的目录打包为 snap
pack 命令将给定的 snap-dir 打包为 snap,并将结果写入 target-dir。如果省略了 target-dir,则结果将写入当前目录。如果同时省略了 source-dir 和 target-dir,则 pack 命令将打包当前目录。
snap 文件的默认文件名完全可以从其 snap.yaml 中推断出来,但在某些情况下,脚本直接提供文件名会更简单。在这种情况下,可以使用 --filename 来覆盖默认文件名。如果此文件名不是绝对路径,则它将被视为相对于 targetdir。
与 --check-skeleton 一起使用时,pack 仅检查 snap-dir 是否包含有效的 snap 元数据,否则会引发错误。在 snap 元数据文件中列出的应用程序命令,但权限位不正确,会引发错误。从 snap-dir 中丢失的命令将在诊断消息中列出。
用法:snap [选项] pack [pack 选项]
--check-skeleton
仅验证 snap-dir 元数据
--filename
输出到此文件名
--compression
使用的压缩算法(例如 xz 或 lzo)
prefer
启用 snap 中的别名,禁用任何冲突的别名
prefer 命令启用给定 snap 的所有别名,优先于其他 snap 的冲突别名,这些冲突别名的别名将被禁用(或删除,对于手动配置的别名)。
用法:snap [选项] prefer [prefer 选项]
--no-wait
不等待操作完成,而只是打印更改 ID。
prepare-image
准备设备镜像
prepare-image 命令执行创建设备镜像所需的一些步骤。
对于 core 镜像,它不会直接调用,而是通常通过 ubuntu-image 调用。
对于准备经典镜像,它支持 --classic 模式。
用法:snap [选项] prepare-image [prepare-image 选项]
--classic
启用经典模式以准备经典模型镜像
--preseed
预填充(仅适用于 UC20+)
--preseed-sign-key
用于对预种子声明进行签名的密钥名称,否则使用默认密钥
--apparmor-features-dir
可选的 AppArmor 内核功能目录路径(仅适用于 UC20+)
--sysfs-overlay
运行预种子步骤时要使用的可选 sysfs 叠加层
--arch
为模型中没有指定架构的快照指定架构,用于与 --classic 选项一起使用
--channel
要使用的通道
--snap <snap>[=<channel>]
从商店或本地文件包含给定的快照,和/或指定要跟踪给定快照的通道
--comp <snap>+<comp>
从商店或本地文件包含给定的组件
--revisions
指定一个 seeds.manifest 文件,其中引用了要安装的提供的快照的确切版本
--write-revisions [="./seed.manifest"]
写入一个 manifest 文件,其中包含对用于镜像的快照的确切版本的引用。 manifest 的路径是可选的。
--validation
控制是否应该忽略或强制执行验证。(默认:忽略)
--allow-snapd-kernel-mismatch
是否允许 snapd 快照和内核中的 snapd 版本之间存在不匹配
--assert <filename>
包含来自本地文件的断言
quota
显示一组快照的配额组
^ uota 命令显示有关配额组的信息,包括该组中的快照和任何子组,以及受约束的资源及其当前使用情况。
quotas
显示配额组
^ uotas 命令显示所有配额组。
reboot
重新启动到选定的系统和模式
^ eboot 命令将系统重新启动到所选恢复系统的特定模式。
如果没有系统标签,也没有模式,它将只是触发常规重新启动。
如果没有标签,将使用当前系统进行“run”模式。默认恢复系统将用于“recover”、“factory-reset”和“install”模式。
请注意,“run”模式仅适用于当前系统。
用法:snap [OPTIONS] reboot [reboot-OPTIONS]
--run
启动到 run 模式
--install
启动到 install 模式
--recover
启动到 recover 模式
--factory-reset
启动到 factory-reset 模式
recovery
列出可用的恢复系统
^ ecovery 命令列出可用的恢复系统。
使用 --show-keys,它会显示可用于解锁加密分区的恢复密钥,如果设备特定的自动解锁不起作用。
用法:snap [OPTIONS] recovery [recovery-OPTIONS]
--color <default: "auto">
使用一些颜色来突出显示某些内容。
--unicode <default: "auto">
使用一些 Unicode 字符以提高可读性。
--show-keys
显示恢复密钥(如果可用),以解锁加密分区。
refresh
刷新系统中的快照
^ efresh 命令更新指定的快照,或者如果没有指定任何快照,则更新系统中的所有快照。
如果没有其他选项,快照将刷新到它们正在跟踪的通道的当前版本,从而保留它们的隔离选项。快照的所有可用通道都列在其“snap info”输出中。
当使用 --revision 时,后续的刷新通常会撤销版本覆盖。
^ -hold 用于推迟所有 snap 的自动刷新更新,或者用于指定的 snap。
如果不指定 snap,则 --hold 仅对自动刷新有效,不会阻止来自 snap refresh 或来自 snap refresh target-snap 的特定 snap 请求。
如果指定了 snap,则 --hold 对它们的自动刷新和来自 snap refresh 的常规刷新请求都有效。但是,来自 snap refresh target-snap 的特定 snap 请求不受阻止,并将继续进行。
用法:snap [OPTIONS] refresh [refresh-OPTIONS]
^ -color <default: "auto">
使用一些颜色来突出显示某些内容。
^ -unicode <default: "auto">
使用一些 Unicode 字符以提高可读性。
^ -abs-time
显示绝对时间(RFC 3339 格式)。否则,显示相对时间,最多 60 天,然后显示 YYYY-MM-DD。
^ -no-wait
不等待操作完成,而只是打印更改 ID。
^ -channel
使用此频道代替稳定版。
^ -edge
从 edge 频道安装。
^ -beta
从 beta 频道安装。
^ -candidate
从候选版频道安装。
^ -stable
从稳定版频道安装。
^ -devmode
将 snap 置于开发模式并禁用安全隔离。
^ -jailmode
将 snap 置于强制隔离模式。
^ -classic
将 snap 置于经典模式并禁用安全隔离。
^ -amend
允许对商店中未知的 snap 进行刷新尝试。
^ -revision
刷新到给定的版本。
^ -cohort
将 snap 刷新到给定的 cohort。
^ -leave-cohort
将 snap 从其 cohort 中刷新出来。
^ -list
显示下次刷新将更新的 snap 的新版本。
^ -time
显示自动刷新信息,但不执行刷新。
^ -ignore-validation
忽略其他 snap 阻止刷新时的验证。
^ -transaction <default: "per-snap">
为每个 snap 执行一次事务,或者为所有指定的 snap 执行一次事务。
^ -hold [="forever"]
指定持续时间后阻止刷新(如果未指定值,则永久阻止)。
^ -unhold
删除刷新阻止。
^ emodel
重新构建此设备。
^ emodel 命令更改设备的模型声明,可以是新的版本或全新的模型。
在此过程中,它会应用对设备进行的任何隐含更改:新的必需 snap、新的内核或小工具等。
除非通过 --snap 和 --assertion 选项提供,否则 snap 和声明将从商店中下载。如果使用这些选项,则预计所有必需的 snap 和声明都将作为本地文件提供,否则重新构建将失败。
用法:snap [OPTIONS] remodel [remodel-OPTIONS]
^ -no-wait
不等待操作完成,而只是打印更改 ID。
^ -snap
使用一个或多个本地可用的 snap。
^ -assertion
使用一个或多个本地可用的声明文件。
--offline
仅使用预安装的和本地提供的 snap 和声明。本地提供任何 snap 或声明都意味着使用 --offline。
remove
从系统中删除 snap
remove 命令从系统中删除指定的 snap 实例。
默认情况下,所有 snap 版本(包括其数据和公共数据目录)都会被删除。如果传递了 --revision 选项,则只会删除指定的版本。
除非禁用自动快照,否则在删除时会保存 snap 所有数据的快照,稍后可以使用 snap restore 进行恢复。--purge 选项会禁用自动创建快照。
用法:snap [选项] remove [remove-选项]
--no-wait
不等待操作完成,而只是打印更改 ID。
--revision
仅删除给定的版本
--purge
删除 snap 时不保存其数据的快照
--terminate
在删除之前,终止与 snap 关联的正在运行的进程
remove-quota
删除配额组
remove-quota 命令删除给定的配额组。
目前,只有没有子组的配额组可以被删除。要删除具有子组的配额组,必须先删除子组,直到该组中没有子组为止,然后才能删除该组本身。
用法:snap [选项] remove-quota [remove-quota-选项]
--no-wait
restart
重启服务
restart 命令重启给定的服务。
如果给定了 --reload 选项,对于其应用程序具有 reload 命令的每个服务,将执行 reload 操作,而不是重启。
用法:snap [选项] restart [restart-选项]
--no-wait
不等待操作完成,而只是打印更改 ID。
--system
该操作应仅影响系统服务。
--user 该操作应仅影响当前用户的所有用户服务。
--users
如果提供并且设置为“all”,则该操作应影响所有用户的所有服务。
--reload
如果该服务具有 reload 命令,则使用它而不是重启。
restore
恢复快照
restore 命令用指定快照中相应的用户、系统和配置数据替换包含的 snap 的当前用户、系统和配置数据。
默认情况下,此命令恢复快照中的所有数据。或者,您可以指定要恢复哪些 snap 的数据,或者针对哪些用户进行恢复,或者两者的组合。
如果某个 snap 包含在恢复操作中,则目前不可能从恢复中排除其系统和配置数据。此限制将来可能会取消。
用法:snap [选项] restore [restore-选项]
--no-wait
不等待操作完成,而只是打印更改 ID。
--users
仅恢复特定用户的数据(逗号分隔)(默认:所有用户)
revert
将给定的 snap 恢复到之前的状态
revert 命令将给定的 snap 恢复到最新刷新之前的状态。这将重新激活之前的 snap 版本,并使用与该版本关联的原始数据,从而丢弃最新版本所做的任何数据更改。作为例外,snap 明确选择在版本之间共享的数据不会受到 revert 过程的影响。
用法:snap [选项] revert [revert-选项]
--no-wait
不要等待操作完成,而只是打印更改 ID。
--devmode
将 snap 置于开发模式并禁用安全限制。
--jailmode
将 snap 置于强制限制模式。
--classic
将 snap 置于经典模式并禁用安全限制。
--revision
回滚到给定的修订版本。
run
运行给定的 snap 命令。
run 命令使用正确的限制和环境执行给定的 snap 命令。
用法:snap [选项] run [run-选项] <snap 名称>.<应用程序名称> [<snap 应用程序参数>...]
--shell
运行 shell 而不是命令(对于调试很有用)。
--debug-log
在 snap 启动的早期阶段启用调试日志。
--strace [="with-strace"] <默认值:"no-strace">
在 strace 下运行命令(对于调试很有用)。 还可以指定额外的 strace 选项。 传递 --raw 给 strace 以处理 snap 早期辅助程序。
--gdbserver [=":0"] <默认值:"no-gdbserver">
使用 gdbserver 运行命令。
--trace-exec
显示 exec 调用时序数据。
save
保存当前数据的快照。
save 命令创建给定 snap 的当前用户、系统和配置数据的快照。
默认情况下,此命令保存所有用户所有 snap 的数据。 或者,您可以指定要保存哪些 snap 的数据,或者为哪些用户保存,或者这两者兼有。
如果某个 snap 包含在保存操作中,则当前无法从快照中排除其系统和配置数据。 此限制将来可能会解除。
用法:snap [选项] save [save-选项]
--no-wait
不要等待操作完成,而只是打印更改 ID。
--abs-time
显示绝对时间(RFC 3339 格式)。 否则,显示简短的相对时间。
--users
仅快照特定用户的快照数据(逗号分隔)(默认值:所有用户)。
saved
列出当前存储的快照。
saved 命令显示先前使用“save”命令创建的快照列表。
用法:snap [选项] saved [saved-选项]
--abs-time
显示绝对时间(RFC 3339 格式)。 否则,显示简短的相对时间。
--id 仅显示特定的快照。
services
查询服务状态。
services 命令列出指定的信息,或者列出所有当前安装的 snap 中的服务。
如果以 root 用户身份执行,则任何用户服务的“Startup”列将是它是否全局启用(即 systemctl is-enabled)。 要查看 root 用户本身的用户服务的实际“Startup”|“Current”状态,可以提供 --user。
如果以非 root 用户身份执行,用户服务的“Startup”|“Current”状态将是调用用户的当前状态。要查看用户服务的全局启用状态,可以提供 --global。
用法:snap [OPTIONS] services [services-OPTIONS]
-g, --global
显示用户服务的全局启用状态,而不是当前用户的状态。
-u, --user
显示用户服务的当前状态,而不是全局启用状态。
set
更改配置选项
^ et 命令会根据请求更改提供的配置选项。
$ snap set snap-name username=frank password=$PASSWORD
所有配置更改都会一次性保存,并且只有在 snap 的配置钩子成功返回后才会生效。
可以使用带点的路径修改嵌套值:
$ snap set snap-name author.name=frank
可以使用感叹号取消配置选项: $ snap set snap-name author!
用法:snap [OPTIONS] set [set-OPTIONS]
--no-wait
不等待操作完成,而是只打印更改 ID。
-t 将值严格解析为 JSON 文档
-s 将值解析为字符串
set-quota
创建或更新配额组。
^ et-quota 命令更新或创建具有指定快照集的配额组。
配额组为其中包含的快照或快照服务设置资源限制。快照最多只能在一个配额组中,但配额组可以嵌套。嵌套的配额组受到以下限制:每个现有配额的总和不能超过父组中相应的配额。
所有提供的快照都将附加到该组;要从配额组中删除快照,必须使用 `remove-quota` 删除整个组并重新创建,而不包含该快照。要从配额组中删除子组,必须直接使用 `remove-quota` 命令删除该子组。
要设置单个服务的限制,可以将一个或多个服务放在子组中。每个服务的相应快照必须属于其父组。这些子组将具有与嵌套组相同的限制,这意味着它们的组合资源使用量不能超过父组设置的资源限制。包含服务的子组不能设置自己的日志配额,而是自动继承其父配额组可能具有的任何日志配额。
可以增加配额组的内存限制,但不能减少。要减少配额组的内存限制,必须使用 `remove-quota` 命令删除整个组并重新创建,并设置较低的限制。增加配额组的内存限制不会重新启动配额组中快照的任何服务。
可以增加和减少配额组的 CPU 限制。CPU 限制可以指定为单个百分比,这意味着配额组允许使用总体 CPU 资源的百分比。将其设置为 50% 意味着配额组允许使用最多 50% 的所有 CPU 核心。将其设置为 2100% 意味着配额组允许在两个 CPU 核心上使用最多 100%。
可以修改 CPU 集限制,以将新的 CPU 添加到配额组中,或者从已设置的配额中删除现有的 CPU。
可以增加配额组的线程限制,但不能减少。要减少配额组的线程限制,必须使用 remove-quota 命令删除整个组,然后以较低的限制重新创建。
可以在设置组上的日志限制后增加和减少日志限制。设置日志限制会导致组中的快照放入相同的日志命名空间。这将影响 log 命令的行为。
可以为现有的配额组设置新的配额,但不能不删除并重新创建整个组,就从配额组中删除现有的配额。
将新的快照添加到配额组会导致该快照中所有未禁用的服务重新启动。
不能将现有的子组从一个父组移动到另一个父组。
用法:snap [OPTIONS] set-quota [set-quota-OPTIONS]
--no-wait
不等待操作完成,而只是打印更改 ID。
--memory [=]
内存配额
--cpu [=]
CPU 配额
--cpu-set [=]
CPU 集配额
--threads [=]
线程配额
--journal-size [=]
日志大小配额
--journal-rate-limit [=]
日志速率限制,格式为 <消息数量>/<消息周期>
--parent [=]
父配额组
start 启动服务
^ tart 命令启动并可选地启用给定的服务。
用法:snap [OPTIONS] start [start-OPTIONS]
--no-wait
不等待操作完成,而只是打印更改 ID。
--system
该操作仅影响系统服务。
--user
该操作仅影响当前用户的所有用户服务。
--users
如果提供并且设置为“all”,则该操作应影响所有用户的所有服务。
--enable
除了立即启动服务之外,还安排在启动时启动该服务。
stop 停止服务
^ top 命令停止并可选地禁用给定的服务。
用法:snap [OPTIONS] stop [stop-OPTIONS]
--no-wait
不等待操作完成,而只是打印更改 ID。
--system
该操作仅影响系统服务。
--user
该操作仅影响当前用户的所有用户服务。
--users
如果提供并且设置为“all”,则该操作应影响所有用户的所有服务。
--disable
除了立即停止服务之外,还安排不再在启动时启动该服务。
switch 切换到不同的通道
^ witch 命令在不执行刷新操作的情况下,将给定的快照切换到不同的通道。快照的所有可用通道都列在其 snap info 输出中。
用法:snap [OPTIONS] switch [switch-OPTIONS]
--no-wait
不等待操作完成,仅打印更改 ID。
--channel
使用此频道代替稳定频道。
--edge
从边缘频道安装。
--beta
从 Beta 频道安装。
--candidate
从候选频道安装。
--stable
从稳定频道安装。
--cohort
将 Snap 切换到给定的 cohort。
--leave-cohort
将 Snap 从其 cohort 中移除。
tasks
列出更改的 tasks。
^ asks 命令显示与单个更改关联的 tasks 摘要。
用法:snap [选项] tasks [tasks-选项]
别名:change
--abs-time
显示绝对时间(RFC 3339 格式)。否则,显示相对时间,最多 60 天,然后显示 YYYY-MM-DD。
--last
选择给定类型(install、refresh、remove、try、auto-refresh 等)的最后一个更改。如果未找到给定类型的更改,则在类型末尾的问号表示不执行任何操作(而不是返回错误)。请注意,问号可能需要从 shell 中保护。
try
在系统中测试一个解压后的 Snap。
^ ry 命令将解压后的 Snap 安装到系统中以进行测试。解压后的 Snap 内容即使在安装后也会继续使用,因此对其中的非元数据更改会立即生效。元数据更改(例如在 snap.yaml 中执行的更改)需要重新安装才能生效。
如果省略了 snap-dir 参数,则 try 命令将尝试推断它,如果当前工作目录的相对路径中可以找到 snapcraft.yaml 文件和 prime 目录或 meta/snap.yaml 文件。
用法:snap [选项] try [try-选项]
--no-wait
不等待操作完成,仅打印更改 ID。
--devmode
将 Snap 置于开发模式并禁用安全限制。
--jailmode
将 Snap 置于强制限制模式。
--classic
将 Snap 置于经典模式并禁用安全限制。
unalias
删除手动别名,或删除整个 Snap 的别名。
^ nalias 命令删除单个别名(如果提供的参数是手动别名),或者如果参数是 Snap 名称,则禁用 Snap 的所有别名,包括手动别名。
用法:snap [选项] unalias [unalias-选项]
--no-wait
不等待操作完成,仅打印更改 ID。
unset
删除配置选项。
^ nset 命令删除请求的配置选项。
^ snap unset snap-name name address
所有配置更改都会一次性持久化,并且仅在 Snap 的配置 hook 成功返回后才会生效。
可以使用点符号路径删除嵌套值:
^ snap unset snap-name user.name
用法:snap [选项] unset [unset-选项]
--no-wait
不等待操作完成,仅打印更改 ID。
validate
列出或应用验证集。
^ alidate 命令列出或应用验证集,这些验证集指定哪些 Snap 必须或允许一起安装,可以选择限制为固定的修订版本。
验证集可以处于监视模式(在这种情况下,其约束不会被强制执行),也可以处于强制执行模式(在这种情况下,snapd 不会允许任何导致 Snap 违反验证集的约束的操作。
用法:snap [选项] validate [validate-选项]
--monitor
监控给定的验证集
--enforce
强制执行给定的验证集
--forget
忘记给定的验证集
--refresh
刷新或安装 snap,以满足强制执行的验证集
--color <默认值:“auto”>
使用一些颜色来突出显示某些内容。
--unicode <默认值:“auto”>
使用一些 Unicode 字符来提高可读性。
--no-wait
不等待操作完成,而只是打印更改 ID。
version
显示版本详细信息
version 命令显示正在运行的客户端、服务器和操作系统的版本。
wait
等待配置
wait 命令等待配置变为真。
warnings
列出警告
warnings 命令列出系统上报告的警告。
列出警告后,可以使用“snap okay”来消除这些警告。以这种方式消除的警告不会再次列出,除非再次发生,并且冷却时间已过。
警告会自动过期,过期后将被忘记。
用法:snap [选项] warnings [warnings-选项]
--abs-time
显示绝对时间(以 RFC 3339 格式)。否则,显示相对时间最多 60 天,然后显示 YYYY-MM-DD。
--unicode <默认值:“auto”>
使用一些 Unicode 字符来提高可读性。
--all
显示所有警告
--verbose
显示更多信息
watch
监视正在进行的更改
watch 命令等待给定的更改 ID 完成,并显示进度(如果可用)。
用法:snap [选项] watch [watch-选项]
--last
选择给定类型的最后一个更改(安装、刷新、删除、尝试、自动刷新等)。类型末尾的问号表示,如果没有找到给定类型的更改,则不执行任何操作(而不是返回错误)。请注意,问号可能需要从 shell 中转义。
whoami
显示用户登录的电子邮件地址
whoami 命令显示用户登录的电子邮件地址。
提示
在线文档
https://docs.snapcraft.io
错误
请使用 https://bugs.launchpad.net/snapd/+filebug 报告所有错误