如何更新AppImage?

我已经安装了Kdenlive和Krita的AppImage。我需要手动更新它们吗,还是会自动更新?

@DKBose 谢谢!撤回了关闭投票,顶了一个赞!**;-)** - Fabby
2个回答

正如vanadium's answer中指出的那样,AppImage应用程序不会通过dpkg/apt进行更新。
无论您能否更新AppImage而不需要下载整个新版本,这取决于具体的AppImage。
这个问题在如何更新appimage中得到了解答:
引用: AppImages(技术上称为类型2)可能包含所谓的“更新信息”...
要更新这样的AppImages,AppImage项目维护者建议下载最新版本的AppImageUpdate
AppImageUpdate文件应该像其他任何AppImage一样设置为可执行,并移动到您的PATH中的某个位置。
运行AppImageUpdate并从文件选择对话框中选择您希望检查是否有更新的AppImage应用程序。
如果有更新可用,将执行差分(增量)更新:
引用: AppImageUpdate实现了一种非常高效的算法,称为ZSync2,因此只会下载本地AppImage和新版本之间真正发生变化的几兆字节。
这是我刚刚更新我的ksnip AppImage时看到的输出:
Fetching release information for tag "continuous" from GitHub API.
Updating from GitHub Releases via ZSync
zsync2: /home/dkb/bin/ksnip/ksnip-1.6.0-continuous-x86_64.AppImage found, using as seed file
zsync2: Target file: /home/dkb/bin/ksnip/ksnip-1.6.0-continuous-x86_64.AppImage
zsync2: Reading seed file: /home/dkb/bin/ksnip/ksnip-1.6.0-continuous-x86_64.AppImage
zsync2: Usable data from seed files: 98.206243%
zsync2: Renaming temp file
zsync2: Fetching remaining blocks
zsync2: Downloading from https://github-production-release-asset-2e65be.s3.amazonaws.com/64607359/c2a6c880-5940-11e9-9790- … 
zsync2: Verifying downloaded file
zsync2: checksum matches OK
zsync2: used 25901056 local, fetched 472808

从顶部开始的第六行显示,对于这个特定的更新,有98%的软件包不需要下载。
如上所述,您是否可以使用AppImageUpdate取决于您的特定AppImage是否提供此功能。如果没有:
请与作者联系并要求他们包含此功能。如果他们在GitHub上托管发布版本,实现起来非常简单。
您可以在这里这里阅读更多关于AppImageUpdate的信息。
更多信息主要面向AppImages的创建者,可以在这里找到。该链接涉及诸多问题,包括“我必须手动更新它们还是自动更新?”
不要在用户明确同意之前下载更新... 尊重全局标志“不检查新版本”和“不尝试更新”... 不要在应用程序启动时直接打扰用户进行更新... 在进行版本检查之前,先征得用户的许可...

这是一个来自2016年的短YouTube视频,介绍如何更新一个AppImage应用,RetroArch。


关于Krita的事情
如果这是真的,你需要完全下载新版本。显然,目前还没有可用的二进制增量更新。根据这里中的“更新Krita”部分所述。

如果您想要更新到新版本,只需下载新的Krita AppImage即可。

同样的链接还要求Krita AppImage开发人员:

...向Krita AppImage添加更新信息,并提供一个.zsync文件,以便可以使用AppImageUpdate进行更新。像appimagetool和linuxdeployqt这样的工具可以轻松完成此操作。


你需要手动更新它们。这意味着:如果有可用的更新的AppImage文件,你需要下载它并用新的文件替换旧的AppImage文件。
AppImage作为自包含的可执行文件工作。它们按设计独立存在于你自己放置它们的文件夹中。你的系统上没有软件可以自动更新它们。
与AppImage不同,其他安装软件的系统(如APT(Debian,Ubuntu)或其他新的分发格式,如flatpak和snap)提供了自动化的应用程序管理框架。这些打包格式代表特定的系统,通过这些系统可以维护已安装的应用程序,并根据其特定技术进行检查和更新。

我需要一个应用程序来更新它们吗?或者当我打开应用程序时,它们会自动更新,只要有可用的更新呢? - user497767
我将这个添加到问题中。 - vanadium
1为了添加我特定的AppImage,我所要做的就是删除旧版本。我不需要覆盖它,只需删除旧版本并执行新版本,在启动时它会带出最新版本。如果我在重启时保留旧的AppImage文件,则始终会打开旧版本。 - BrianBlaze