Ubuntu 26.04 彻底告别 Snap!一键迁移 Flatpak + APT 替代全攻略
Ubuntu 26.04 LTS 预装了一堆 Snap 包,Firefox 启动慢、软件商店卡顿、snapd 占后台……今天教你从卸载到替代到防复活,一条龙搞定。阅读约 6 分钟。
为什么要告别 Snap?
Snap 不是不能用,但这些痛点你一定遇到过:
启动慢 体积大 占后台 更新受限 闭源商店
最关键的是——Snap 不是一个"你可以不用"的可选项。Ubuntu 26.04 默认用 Snap 安装了 Firefox、软件商店等核心应用,系统里埋了多个钩子让 snapd 自动复活。
Ubuntu 26.04 预装了哪些 Snap?
升级或全新安装后,打开终端执行:
snap list
你会看到类似输出:
加起来 600MB+,如果换成 DEB + Flatpak 方案,可以省掉一半以上。
方案一:手动移除 + APT/Flatpak 替代(推荐新手)
第一步:移除所有 Snap 包
# 列出当前 Snap
snap list
# 批量移除(需要执行 2-3 次,因为有依赖关系)
for p in $(snap list | awk '!/^Name|^snapd$/{print $1}'); do
sudo snap remove "$p"
done
# 再次执行,移除核心包
sudo snap remove core22
sudo snap remove snapd当看到 No snaps are installed yet 就算干净了。
第二步:卸载 snapd + 清理残留
# 停止并禁用 snapd
sudo systemctl stop snapd
sudo systemctl disable --now snapd.socket
# 卸载 snapd
sudo apt autoremove --purge snapd -y
# 清理所有残留目录
rm -rf ~/snap
sudo rm -rf /snap /var/snap /var/lib/snapd /var/cache/snapd第三步:安装 APT 替代软件
Firefox(DEB 版)——用 Mozilla 官方 PPA:
# 添加 Mozilla PPA
sudo add-apt-repository ppa:mozillateam/ppa -y
# 设置 PPA 优先级,防止 Ubuntu 把 Firefox 转回 Snap
sudo tee /etc/apt/preferences.d/mozillateam-firefox.pref << 'EOF'
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501
EOF
sudo apt update
sudo apt install firefox -y软件商店(DEB 版):
sudo apt install gnome-software -y
第四步:安装 Flatpak 作为补充
APT 仓库覆盖大部分常用软件,但有些新版本或小众应用只在 Flatpak 上有。装一个备用不亏:
# 安装 Flatpak
sudo apt install flatpak -y
# 添加 Flathub 仓库
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# 重启后生效常用软件 Flatpak 安装示例:
# Spotify
flatpak install flathub com.spotify.Client -y
# OBS Studio
flatpak install flathub com.obsproject.Studio -y
# Telegram
flatpak install flathub org.telegram.desktop -y第五步:防止 Snap 死灰复燃
这是最关键的一步!不做这步,系统更新可能悄悄把 Snap 装回来。
封锁 snapd 包:
sudo tee /etc/apt/preferences.d/no-snapd.pref << 'EOF'
Package: snapd
Pin: release a=*
Pin-Priority: -10
EOF封锁 Snap 版 Firefox:
sudo tee /etc/apt/preferences.d/no-firefox-snap.pref << 'EOF'
Package: firefox
Pin: release a=*
Pin-Priority: -10
EOF📌 上面两个文件的意思是:
Pin-Priority: -10会让 APT 拒绝安装这些包。这样apt install snapd会直接报错,从根源上断绝 Snap 复活。
验证封锁是否生效:
apt policy snapd
# 应该显示:(none, unable to locate package) 或 Candidate: (none)方案二:一键迁移工具 unsnap(推荐进阶用户)
Canonical 员工 Alan Pope 开源了一个脚本 unsnap,可以自动完成 Snap → Flatpak 的迁移。
使用方法
# 下载
git clone https://github.com/popey/unsnap
cd unsnap
# 自动模式(生成脚本 + 自动执行)
./unsnap auto
# 或者手动模式(先生成脚本,逐一检查后手动执行)
./unsnapunsnap 会做什么?
00-backup01-install-flatpak02-enable-flathub03-install-flatpaks04-remove-snaps99-remove-snapd
已知限制
• 目前映射了 219 款应用,不在列表中的 Snap 不会被自动替换 • 不会迁移应用数据——Flatpak 版本相当于全新安装,书签/配置需要手动导入 • 没有回滚——操作不可逆,建议提前备份
两种方案怎么选?
难度 灵活性 数据保留 适合人群 推荐
💡 我的建议:如果你只关心 Firefox 和软件商店(大多数人的情况),手动方案更可控。如果你装了很多 Snap 应用,unsnap 省时省力。
移除后系统变化一览
常见问题 FAQ
Q:移除 Snap 后系统会不会不稳定?
A:不会。Snap 只是包管理方式,移除后用 APT/Flatpak 安装的软件功能完全一样。Ubuntu Server 更是默认就不装 Snap 桌面应用。
Q:以后还能装回来吗?
A:可以。删掉 /etc/apt/preferences.d/no-snapd.pref,然后 sudo apt install snapd 即可恢复。
Q:Flatpak 和 Snap 有什么区别?
A:两者都是"通用打包"格式,但 Flatpak 开源、去中心化(Flathub 任何人可提交)、启动更快。Snap 后端由 Canonical 独家控制。
Q:为什么 Ubuntu 强推 Snap?
A:Snap 让 Canonical 可以统一管理更新和安全补丁,对企业和物联网场景有价值。但对桌面用户来说,启动慢和闭源商店是真实痛点。
Q:Docker 容器需要 Snap 吗?
A:不需要。Docker 有 DEB 包和官方 APT 仓库,跟 Snap 没有任何关系。
完整操作速查卡
# === 1. 移除所有 Snap ===
for p in $(snap list | awk '!/^Name/{print $1}'); do sudo snap remove "$p"; done
sudo apt autoremove --purge snapd -y
rm -rf ~/snap; sudo rm -rf /snap /var/snap /var/lib/snapd /var/cache/snapd
# === 2. 安装 DEB 替代 ===
sudo add-apt-repository ppa:mozillateam/ppa -y
sudo tee /etc/apt/preferences.d/mozillateam-firefox.pref << 'EOF'
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501
EOF
sudo apt update && sudo apt install firefox gnome-software -y
# === 3. 安装 Flatpak ===
sudo apt install flatpak -y
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# === 4. 封锁 Snap 复活 ===
sudo tee /etc/apt/preferences.d/no-snapd.pref << 'EOF'
Package: snapd
Pin: release a=*
Pin-Priority: -10
EOF
sudo tee /etc/apt/preferences.d/no-firefox-snap.pref << 'EOF'
Package: firefox
Pin: release a=*
Pin-Priority: -10
EOF复制这段命令,5 分钟告别 Snap。