我的Ubuntu系统中软件包管理器snap学习笔记。
snap Hello World
- snap是Canonical公司开发的一种软件打包和部署系统,用于Linux发行版;
-
snap的核心特点:
- 容器化应用:每个snap应用都运行在自己的沙盒环境中;
- 自动更新:支持后台自动更新应用程序;
- 跨发行版:同一个snap包可以在多个Linux发行版上运行;
- 依赖包含:所有依赖都打包在snap中,避免系统依赖冲突;
-
snap与传统包管理(apt/yum)的区别:
特性 snap 传统包管理 依赖管理 自包含 系统级共享 更新机制 自动滚动更新 需手动更新 隔离性 强隔离 弱隔离 跨发行版支持 支持 不支持 回滚能力 支持 有限支持
snap语法
snap <command> [options] [package ...]
- command:要进行的操作;
-
options:可选选项;
选项 含义 --channel=[track]/<risk>/[branch]
指定安装渠道, track
默认为latest
,risk
稳定性由高到低依次为:stable
>candidate
>beta
>edge
,只指定稳定性时允许简写,例如:--stable
--devmode
以开发者模式安装,允许访问全部系统资源 --classic
以经典模式安装,允许访问更多系统资源 - package:安装的包名;
snap常用命令
功能 | 命令 |
---|---|
安装snap包 | sudo snap install <package> |
列出已安装的snap包 | snap list |
搜索snap包 | snap find <package> |
更新单个snap包 | sudo snap refresh <package> |
更新所有snap包 | sudo snap refresh |
移除snap包 | sudo snap remove <package> |
查看snap包信息 | snap info <package> |
切换渠道 | sudo snap refresh <package> --channel=<channel> |
版本回滚 | sudo snap revert <package> |
查看服务状态 | snap services |
启动服务 | sudo snap start |
停止服务 | sudo snap stop |