Snap是一种跨Linux发行版的软件包格式,它通过将应用及其所有依赖打包,实现了“一次打包,到处运行”。对于需要最新版软件或希望简化应用管理的用户来说,它非常有用。在 Debian 和 Ubuntu 上,Snap 的核心服务是 snapd,所有的 Snap 管理都通过 snap 命令行工具进行。
📦 安装 snapd
Ubuntu:从 16.04 版本开始,snapd 通常已预装。如果没有,或想确保是最新版,可使用 APT 安装。
Debian:需要手动安装 snapd,并确保系统版本不低于 Debian 9。
安装命令
sudo apt update
sudo apt install snapd
⚠️ 安装后重要步骤
重启会话:建议注销并重新登录,或重启系统,确保 Snap 环境变量和路径正确生效。
安装核心组件:运行 sudo snap install core 安装基础环境。
测试安装:安装 hello-world 并运行,以验证安装是否成功。
sudo snap install hello-world hello-world
⚙️ 基础操作命令
掌握以下基本命令,即可轻松管理软件。
⚙️ 进阶配置与常用技巧
渠道管理:Snap 软件包通常通过不同的发布渠道(Channel)分发,常见渠道包括 stable(最稳定)、candidate(候选)、beta(测试)、edge(每日构建)。可在安装或更新时通过 --channel 指定。
网络代理配置:若处于有代理的网络环境,需要专门为 Snap 配置代理。
sudo snap set system proxy.http="http://<代理地址>:<端口>" sudo snap set system proxy.https="http://<代理地址>:<端口>"该配置对 snapd 服务本身生效。若为已安装的应用(如浏览器)配置代理,需在其软件设置内单独操作。
磁盘空间管理:Snap 默认会保留每个软件最近 3 个版本,以便回滚,这可能导致 /snap 目录占用较大空间。
减少保留版本:执行 sudo snap set system refresh.retain=2 可设置仅保留 2 个旧版本。
清理旧版本:执行 sudo snap system prune 可手动清理已卸载但残留的旧版本数据。
🐛 常见问题与故障排除
Snap 应用无法访问系统文件:Snap 应用运行在沙盒中,权限受限。若需访问 /home 外的目录,需手动连接相应接口。例如,允许 VLC 访问可移动设备:
snap connect vlc:removable-media应用启动慢:首次启动时应用需解压和挂载,速度可能稍慢。运行 sudo snap install core 和 sudo snap install snapd 可预加载核心组件,有助于加快启动速度。
💎 总结:Snap vs. APT
Snap 与 Debian/Ubuntu 传统的 APT 包管理器可以并存,各自适用不同场景。下表对比了它们的主要差异:
在 Ubuntu 中,Snap 已成为系统的一部分。了解它的特点后,你可以根据软件是否需要最新版、安全性要求、是否跨发行版等需求,在 Snap 和 APT 之间做出选择。