2026-06-10 12:34:24
Ubuntu 前 Snap 倡导者 Alan Pope 开发了名为“Unsnap”的开源工具,可帮助用户从 Snap 迁移到 Flatpak,通过自动化脚本实现备份、安装、替换和清理等步骤,但目前仍处于前 alpha 阶段,需谨慎测试使用。
Unsnap 的核心功能与工作原理功能概述Unsnap 通过生成并执行脚本,按特定顺序完成以下操作:
备份现有的 Snap 软件包。
安装 Flatpak(若未安装)并启用 Flathub 仓库。
为已安装的 Snap 应用查找并安装对应的 Flatpak 版本。
移除 Snap 应用并删除所有 Snap 软件包。
脚本执行顺序工具生成的脚本需按以下顺序运行以确保迁移正确性:
00-backup:备份 Snap 应用数据。
01-install-flatpak:安装 Flatpak 运行时环境。
02-enable-flathub:启用 Flathub 软件源。
03-install-flatpaks:安装对应 Flatpak 应用。
04-remove-snaps:卸载 Snap 应用。
99-remove-snapd:彻底移除 Snap 服务(snapd)。
自动化与手动控制
运行 ./unsnap auto 可自动执行全部脚本,适合快速迁移。
若需手动控制,脚本会保存在日志目录中,用户可按顺序逐个运行。

克隆 GitHub 仓库确保系统已安装 Git,执行以下命令获取 Unsnap 代码:
git clone切换到工具目录
cd unsnap运行 Unsnap 工具
基础运行(生成脚本但不自动执行):
./unsnap自动执行全部脚本(需谨慎操作):
./unsnap auto查看生成的脚本脚本默认保存在日志目录中,文件名按执行顺序编号(如 00-backup、01-install-flatpak),用户可手动检查或修改内容后再运行。

开发阶段限制Unsnap 目前处于前 alpha 阶段,可能存在兼容性问题或功能缺陷,不建议在生产环境或依赖众多 Snap 应用的系统中直接使用。
测试建议
优先在虚拟机或备用测试机上验证工具稳定性。
迁移前手动备份重要数据,避免脚本执行异常导致数据丢失。
依赖关系处理
若某些 Snap 应用无对应的 Flatpak 版本,工具可能无法完成替换,需用户手动处理。
Flatpak 应用可能占用更多磁盘空间,需确认系统存储容量充足。
开发者背景Unsnap 由 Canonical 前 Snap 倡导者 Alan Pope 开发,其初衷是为不满 Snap 的用户提供便捷的迁移方案,反映部分开发者对 Linux 包管理多样性的支持态度。
项目地址工具代码开源托管于 GitHub,用户可通过以下链接获取最新更新或提交反馈:
Unsnap 为希望从 Snap 切换至 Flatpak 的用户提供了自动化解决方案,尤其适合熟悉命令行操作且具备系统维护经验的用户。尽管当前版本尚不完善,但其设计思路清晰,未来随着版本迭代可能成为跨包管理系统迁移的重要工具。建议持续关注项目更新,并在测试环境中验证功能后再投入实际使用。