随机
Enter 搜索 ↑↓ 切换 Esc 清空

snap

命令

Ubuntu Snap 包管理器

snap

Ubuntu Snap 包管理器

补充说明

snap 是 Canonical 开发的通用 Linux 包管理系统,支持跨发行版安装应用。Snap 包包含所有依赖,自动更新,沙盒隔离。

语法

snap [command] [options]

查找包

# 搜索 snap 包
snap find vlc
snap search vlc
snap find "video player"

# 查看包信息
snap info vlc
snap info --verbose vlc

# 查看包版本
snap info vlc | grep installed

# 浏览分类
snap find --section="media"
snap find --section="development"

# 列出商店分类
snap find --list-sections

安装包

# 安装 snap 包
snap install vlc
snap install --stable vlc           # 默认稳定版

# 安装指定 channel
snap install vlc --channel=stable
snap install vlc --channel=candidate
snap install vlc --channel=beta
snap install vlc --channel=edge

# 安装指定版本
snap install vlc --channel=3.0/stable

# 安装经典模式(无沙盒)
snap install --classic code
snap install --classic goland

# 安装危险模式(完全无沙盒)
snap install --dangerous package.snap

# 安装本地 snap 包
snap install ./package.snap
snap install --dangerous ./package.snap

# 从文件安装
snap install --file=/path/to/package.snap

更新包

# 更新单个包
snap refresh vlc

# 更新所有包
snap refresh
snap refresh --list                    # 查看可更新列表

# 更新到指定 channel
snap refresh vlc --channel=edge

# 更新到指定版本
snap refresh vlc --channel=3.0/stable

# 设置自动更新时间
snap set system refresh.timer=4:00-7:00

# 查看自动更新配置
snap get system refresh.timer

# 暂停自动更新
snap refresh --hold=24h vlc

# 取消暂停
snap refresh --hold vlc

# 锁定版本(暂停所有更新)
snap refresh --hold

# 解除锁定
snap refresh --unhold

删除包

# 删除 snap 包
snap remove vlc

# 删除包及其数据
snap remove --purge vlc
snap remove vlc --purge

# 删除指定版本
snap remove vlc --revision=123

# 删除所有版本
snap remove vlc --purge

查看已安装

# 列出已安装的包
snap list
snap list --all                    # 包含禁用的版本

# 列出指定包
snap list vlc

# 列出详细信息
snap list --verbose

# 查看 snap 依赖
snap dependencies vlc

服务控制

# 查看服务状态
snap services
snap services vlc

# 启动服务
snap start vlc
snap start --enable vlc            # 启动并设为自启

# 停止服务
snap stop vlc
snap stop --disable vlc            # 停止并禁用自启

# 重启服务
snap restart vlc

# 查看服务日志
snap logs vlc
snap logs vlc -f                    # 实时跟踪
snap logs vlc -n 100               # 最近 100 行

权限管理

# 查看连接
snap connections vlc

# 手动连接接口
snap connect vlc:audio-record
snap connect vlc:home

# 断开连接
snap disconnect vlc:audio-record

# 查看可用接口
snap interfaces
snap interface audio-record

# 查看插槽
snap interfaces --slots

# 查看插头
snap interfaces --plugs

别名管理

# 查看别名
snap aliases vlc

# 创建别名
snap alias vlc vlc-media-player

# 删除别名
snap unalias vlc-media-player

# 创建自定义命令别名
snap alias vlc vmp

版本回退

# 查看可用版本
snap list --all vlc

# 回退到上一版本
snap revert vlc

# 回退到指定版本
snap revert vlc --revision=123

# 查看历史版本
snap info vlc | grep -A 20 "channels:"

配置管理

# 获取配置
snap get vlc
snap get vlc config-key

# 设置配置
snap set vlc key=value
snap set vlc key=value key2=value2

# 导入配置
snap set vlc < config.json

# 环境变量
snap run --shell vlc

常用 Snap 包

# 开发工具
snap install --classic code           # VS Code
snap install --classic goland         # GoLand
snap install --classic pycharm-professional
snap install --classic webstorm
snap install --classic intellij-idea-community
snap install --classic gitkraken

# 浏览器
snap install firefox
snap install chromium
snap install google-chrome

# 媒体工具
snap install vlc
snap install spotify
snap install obs-studio

# 开发运行时
snap install node --classic
snap install go --classic
snap install rust --classic
snap install python --classic

# 系统工具
snap install htop
snap install nmap
snap install docker
snap install kubectl

# 办公
snap install libreoffice
snap install gimp
snap install inkscape

配置文件

# 系统配置位置
/var/snap/                          # Snap 数据目录
/snap/                              # Snap 挂载点
~/snap/                             # 用户 Snap 数据

# 用户配置
nano ~/snap/vlc/current/.config/vlc/

# 全局配置
sudo nano /var/snap/vlc/current/config

# 查看环境变量
snap run --shell vlc
sudo snap run --shell vlc

# Snap 缓存目录
/var/lib/snapd/cache/

故障排查

# 查看日志
journalctl -u snapd

# 查看 snap 状态
snap debug
snap debug connectivity
snap debug state

# 修复 snap 找不到问题
sudo systemctl restart snapd

# 重置 snapd
sudo snap install snapd --classic --stable --cohort=+

# 清理缓存
sudo rm -rf /var/lib/snapd/cache/*
sudo snap debug ensure-state-dir

# 重新安装 snapd
sudo apt purge snapd
sudo apt install snapd