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