Snap 应用卡在 held 不更新?
snap 反复卡 held 多为 store 侧该应用被撤下或本地缓存了坏 manifest。本文给出清缓存、强制刷新、必要时改走 deb 的排查路径。
简短答案
snap refresh 长期 held,分两类:store 侧该应用被暂撤/改道,或本地 manifest 缓存卡住。先 snap info 看应用当前状态,再 snap refresh <应用> 单包强刷;仍 held 且长时间无更新说明 store 端该应用确实缺,只能等 store 恢复或换用官方 deb 替代——本地绕过没有安全捷径。
现象对照
| 现象 | 判断 |
|---|---|
| 单应用 held,其它正常 | store 侧该应用被撤/改道 |
| 多应用同时 held | snapd 与 store 的通道问题 |
| held 已数周 | store 端长期未恢复,考虑 deb |
排查步骤
snap list <应用> # 看 revision 与 channel
snap refresh <应用> --amend
snap info <应用>
sudo systemctl restart snapd # snapd 通道疑似卡住时重启
替代方案:确认该应用在官方 deb 源有对应版本(见 Ubuntu 26.04 桌面版 的包基线),sudo apt install 后 sudo snap remove 旧 snap,避免双份并存。store 侧机制与 Ubuntu 发行条目 的 snap 说明一致,Debian 侧走 apt,参考 Debian 发行条目。
操作小结
snap info先分清是 store 撤包还是本地通道卡snap refresh --amend是单包强刷的标准姿势- 长期 held 再考虑官方 deb 替代,不硬刷
- 换 deb 时删干净旧 snap,防双份冲突