我使用的是原装的 Ubuntu 20.04.2,并且我设法使用 Flatpak 安装了最新的 Gimp:当时是 2.10.24 版本。
然而,2.10 版本中存在一些问题我似乎无法解决。
因此,我想安装 Gimp 2.8。
我知道旧版 Gimp 可能也依赖于旧版 Python 版本,因此使用 Flatpak 安装整个版本似乎很方便,因为它将是独立的(与操作系统隔离)并且可以使用它自己的(旧版)Python 版本而没有任何复杂性。
但我似乎无法找到如何使用 Flatpak 列出当前支持的 Gimp 软件包版本,更不用说安装它了。
所以请问:我如何才能查看目前哪些 Gimp 版本(除最新版本之外)可以使用 Flatpak 安装,以及如何安装特定版本?
(此外,我已经使用 Flatpak 安装了另一个(更新的) Gimp 版本,这会使事情变得复杂吗?那么,我可以并行使用两个版本吗,还是必须先删除较新的版本才能安装旧版本?)
更新:
我已遵循@wizardpurple 的回答,并发现以下内容:
- 这是Gimp 的 Flathub 页面。
- 这是Gimp flatpak 的 github 仓库。
- 它们没有发布,也没有标记特定版本。它们实际上只是 git 提交。
- 这里有一个提交 2.10.0 发布的位置。所以我认为,在那之前的几乎任何其他提交都可能是好的?
- 这似乎是涉及 2.8 的最新提交。
所以现在我运行了命令:
$ sudo flatpak update --commit=19dcc22b60e69eaaf740d4311021ed55b7e2537d org.gimp.GIMP
但它说:
Looking for updates…
ID Branch Op Remote Download
1. org.freedesktop.Platform.GL.default 20.08 u flathub < 100.8 MB
2. org.freedesktop.Platform.VAAPI.Intel 20.08 u flathub < 11.6 MB
3. org.gnome.Platform.Locale 40 u flathub < 333.7 MB (partial)
4. org.gtk.Gtk3theme.Yaru-light 3.22 u flathub < 203.4 kB
5. org.gnome.Platform 40 u flathub < 362.6 MB
6. org.gimp.GIMP stable u flathub < 117.2 MB
Proceed with these changes to the system installation? [Y/n]:
这些似乎是 Gimp flatpak 的依赖项。显然,这个较旧的 Gimp 需要它们?我已经安装了它们,因为 Gimp 2.10.24 需要它们;这些/其中一些也会降级吗?
我担心的是,虽然这个 flatpak 生态系统确实与主操作系统隔离,但似乎内部它仍然保留了一些依赖关系。所以我不知道降级 Gimp 是否会破坏这个 flatpak 生态系统...
更新 2:
我已经运行了该flatpak update --commit
命令,但它死机了,如下所示:
首先,它毫无问题地检查了所有依赖项(尽管它始终为每个依赖项下载较少的数据,因为下载大小是在前面指示的),然后当它到达 Gimp 时,作为最后一项,它进行如下操作:
OSTree:ERROR:src/libostree/ostree-core.c:1432:ostree_checksum_inplace_to_bytes: assertion failed: (checksum[j])
Bail out! OSTree:ERROR:src/libostree/ostree-core.c:1432:ostree_checksum_inplace_to_bytes: assertion failed: (checksum[j])
Aborted
然后操作系统出现“检测到系统程序问题”对话框。
我想我可以在 Github repo 上提交一个问题。
答案1
已编辑并修正信息。部分内容已重写以提高清晰度。
概括
在 Ubuntu 20.04 上运行 GIMP 2.8 最简单的方法似乎是在 Ubuntu 18.04 VM 中运行它(GNOME Boxes 很方便)并通过官方存储库安装它。可能可以选择尝试构建较旧的 flatpak...但是,GIMP 是一款功能强大的软件,构建 2-3 年前的 flatpak 很可能会带来一系列麻烦。
安装旧版本的 flatpaks
您可以通过指定目标的特定提交来安装旧版本的 flatpak。可以使用命令找到可用的提交remote-info
。您需要已安装 flatpak 才能使用此功能。由于您正在执行降级,因此旧版本将取代新版本。
结果remote-info
并非完整的历史,因为似乎对保留的版本有一个截止点。由于使用 flatpak 是为了方便开发人员推送最新版本的软件,因此在存储空间上保留所有内容并不容易。
# examine remote
flatpak remote-info --log flathub org.gimp.GIMP
--snip--
Commit: c53c42d04e88c0b0c416d5b4d3aa7600d1cdbdcd36d051b1af5c4ae980e29bb2
Subject: Build Little-CMS 2.12 ourselves. (13d146e6)
Date: 2021-03-29 16:33:51 +0000
--snip--
# install specific commit
# root privileges required for system
flatpak update --commit=c53c42d04e88c0b0c416d5b4d3aa7600d1cdbdcd36d051b1af5c4ae980e29bb2 org.gimp.GIMP
# to prevent future updates, you can mask the flatpak
flatpak mask org.gimp.GIMP
命令中的提交flatpak remote-info --log
不能像我之前想的那样被 GitHub 中的提交所替代。上例中的输出引用了 GitHub 提交,(13d146e6)
但这些提交并不是用于在版本之间移动的提交。
扁平包装技巧和窍门
“可能”运行多个版本
如果您想要最新的 gimp 和输出中可用的旧版本remote-info
,您可以尝试将一个安装为系统包,将另一个安装为用户包。这可能不是最优雅的方法,但它应该有效。
flatpak install flathub org.gimp.GIMP # system/default
# user method also requires adding the flathub repo to the user repos
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user flathub org.gimp.GIMP # user