unsnap,将 Ubuntu 从 Snap 迁移到 Flatpak 的优秀工具

解扣

unsnap,一个将snap包迁移到flatpak的工具

Snap 是 Canonical 开发的软件包系统。 适用于 Ubuntu,可以在使用 Linux 内核和 systemd init 系统的操作系统上实现。

这个包系统s 被呈现为一个“通用”系统, Canonical 对其进行了很大的推广,以至于在为 Ubuntu 设计的新版本中,它放弃了对 Flatpak 的支持,从而为其软件包系统赌上了一切。

另一方面也 Canonical 决定发布完全在 Snap 上的 Ubuntu 版本。 这是一条不受很多人喜欢的消息,并且在社区中产生了分歧,因为 Snap 软件包没有被完全接受。

在此之前 为了促进 Flatpak 封装的使用,已经出现了各种运动。 支持 Flatpak 格式的项目之一是 unsnap,它是作为一种工具开发的,用于将基于 Ubuntu 的系统从使用 snap 包转换为 flatpak 包。

该实用程序不仅用 flatpak 替换了 snap 包管理器,而且还为系统上已安装的 snap 包选择并安装了 flatpak 对应项。 在理想情况下,用户可以获得一组完全相似的应用程序,但以 flatpak 格式安装。

关于取消捕捉

迁移分几个步骤完成。 在第一步中, unsnap 生成一组描述替换操作的 shell 脚本。 考虑到系统的当前状态,创建单独的脚本来备份 snap 环境,安装 flatpak 包管理器,激活 flatpak 存储库,为系统上已有的 snap 包安装 flatpak 类似物,删除 snap 包和 snapd 系统工具包。 在执行自动生成的脚本之前,用户可以根据自己的喜好对其进行编辑。

该项目是由 Alan Pope 开发Snap 系统的开发人员之一,在 Canonical 工作 2021 年后于 10 年离开。 该工具集仍处于实验性(pre-alpha)状态,并且仅限于 Ubuntu 支持。

在相关项目中,unsnap 作者提到了 custom-desktop(一组用于转换已安装的 Ubuntu 环境的组成的脚本)和 deb-get(类似于 apt-get,用于处理位于第三方存储库中的 deb 包)或在网站上)。

除了包管理器之外,deb-get 项目还提供了可立即安装的第三方包元数据,可用于将 snap 包替换为 deb 包。

Unsnap可以自动运行一组脚本 生成:

  • 00-backup :为每个正在迁移的已安装快照运行快照保存
  • 01-install-flatpak :如果尚未安装,它将安装 flatpak 包管理器
  • 02-enable-flathub :如果未启用,将在 flatpak 中添加 flathub 远程位置
  • 03-install-flatpaks :为每个已识别的插件安装等效的 flatpaks
  • 04-remove-snaps :删除已安装 flatpaks 的 snaps
  • 99-remove-snapd :单独删除snapd,这将删除所有snap包

提到未来,unsnap 计划支持其他兼容 snap 的发行版,例如 Manjaro、Linux Mint、Zorin、Debian、Fedora、Pop_OS!、KDE ​​Neon、Raspbian、CentOS 和 Elementary OS。 用户可能还对该项目以 snap 和 flatpak 格式准备的模拟包列表感兴趣。

如何在 Ubuntu 上安装 unsnap?

对于那些有兴趣在自己的系统上安装此工具的人,他们应该知道安装非常简单,打开一个终端就足够了,然后在其中输入以下内容:

git clone https://github.com/popey/unsnap
cd unsnap
./unsnap

Unsnap 的工作过程分为两个阶段。 最初, Unsnap 生成一组负责执行迁移的脚本 从 snap 包到 Flatpak 都是真实的。 此功能允许用户在执行之前查看并在必要时编辑脚本,以根据需要验证或修改它们。

脚本生成后,用户可以依次运行脚本来完成迁移过程。

或者,如开头所述,如果您希望执行所有脚本,只需键入:

./unsnap auto

最后,值得一提的是,与任何迁移过程一样,建议对重要信息进行备份,因为它会删除和安装应用程序,这也需要删除信息。

如果您有兴趣了解更多信息,可以查看详细信息 以下链接。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。