Ubuntu系统中软件包管理器snap学习笔记

zxl19 2025-08-18

我的Ubuntu系统中软件包管理器snap学习笔记。

snap Hello World

  1. snap是Canonical公司开发的一种软件打包和部署系统,用于Linux发行版;
  2. snap的核心特点:

    • 容器化应用:每个snap应用都运行在自己的沙盒环境中;
    • 自动更新:支持后台自动更新应用程序;
    • 跨发行版:同一个snap包可以在多个Linux发行版上运行;
    • 依赖包含:所有依赖都打包在snap中,避免系统依赖冲突;
  3. snap与传统包管理(apt/yum)的区别:

    特性 snap 传统包管理
    依赖管理 自包含 系统级共享
    更新机制 自动滚动更新 需手动更新
    隔离性 强隔离 弱隔离
    跨发行版支持 支持 不支持
    回滚能力 支持 有限支持

snap语法

snap <command> [options] [package ...]
  1. command:要进行的操作;
  2. options:可选选项;

    选项 含义
    --channel=[track]/<risk>/[branch] 指定安装渠道,track默认为latestrisk稳定性由高到低依次为:stable>candidate>beta>edge,只指定稳定性时允许简写,例如:--stable
    --devmode 以开发者模式安装,允许访问全部系统资源
    --classic 以经典模式安装,允许访问更多系统资源
  3. 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

参考

  1. Linux snap命令-菜鸟教程
  2. 什么是Snap应用?-Ubuntu
  3. Channels-Snapcraft dev documentation
  4. Channels-doc-snapcraft.io
  5. Snap install modes-Snapcraft documentation