Ubuntu 的前 Snap 倡导者创建了一个工具,帮助你从 Snap 迁移到 Flatpak | Linux 中国

Ubuntu 的前 Snap 倡导者创建了一个工具,帮助你从 Snap 迁移到 Flatpak | Linux 中国
最新回答
蓝雨希

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 可自动执行全部脚本,适合快速迁移。

    若需手动控制,脚本会保存在日志目录中,用户可按顺序逐个运行。

图:Unsnap 运行界面,检测到已安装 Flatpak 环境后跳过相关步骤Unsnap 的测试与使用步骤
  1. 克隆 GitHub 仓库确保系统已安装 Git,执行以下命令获取 Unsnap 代码:

    git clone
    https://github.com/popey/unsnap
  2. 切换到工具目录

    cd unsnap
  3. 运行 Unsnap 工具

    基础运行(生成脚本但不自动执行):

    ./unsnap

    自动执行全部脚本(需谨慎操作):

    ./unsnap auto
  4. 查看生成的脚本脚本默认保存在日志目录中,文件名按执行顺序编号(如 00-backup、01-install-flatpak),用户可手动检查或修改内容后再运行。

图:Unsnap 生成的脚本文件列表,按顺序执行可完成迁移注意事项与风险提示
  • 开发阶段限制Unsnap 目前处于前 alpha 阶段,可能存在兼容性问题或功能缺陷,不建议在生产环境或依赖众多 Snap 应用的系统中直接使用。

  • 测试建议

    优先在虚拟机或备用测试机上验证工具稳定性。

    迁移前手动备份重要数据,避免脚本执行异常导致数据丢失。

  • 依赖关系处理

    若某些 Snap 应用无对应的 Flatpak 版本,工具可能无法完成替换,需用户手动处理。

    Flatpak 应用可能占用更多磁盘空间,需确认系统存储容量充足。

工具背景与开发者信息
  • 开发者背景Unsnap 由 Canonical 前 Snap 倡导者 Alan Pope 开发,其初衷是为不满 Snap 的用户提供便捷的迁移方案,反映部分开发者对 Linux 包管理多样性的支持态度。

  • 项目地址工具代码开源托管于 GitHub,用户可通过以下链接获取最新更新或提交反馈:

    https://github.com/popey/unsnap

总结

Unsnap 为希望从 Snap 切换至 Flatpak 的用户提供了自动化解决方案,尤其适合熟悉命令行操作且具备系统维护经验的用户。尽管当前版本尚不完善,但其设计思路清晰,未来随着版本迭代可能成为跨包管理系统迁移的重要工具。建议持续关注项目更新,并在测试环境中验证功能后再投入实际使用。