许多应用程序(IntelliJ IDEA、PyCharm、Android Studio 等)都以tar.gz
或tar.xz
文件形式提供。它们不需要安装。您只需提取存档文件并运行应用程序即可。另一方面有AppImages。通过运行AppImage,AppImage会暂时挂载到\tmp
目录上,然后执行。你也可以提取AppImage像任何存档文件一样并运行应用程序。所以我的问题是 AppImage 和存档文件有什么区别?
答案1
从“应用程序内容被解压并运行”的意义上来说,它们确实是相似的。但是,对于 .tar.gz 存档,您必须手动执行此操作 - 选择解压位置,找到内部可执行文件,运行它,使用该程序,然后在必要时删除。对于 AppImage,/tmp
会创建并选择一个目录(通常安装在 RAM 中),然后运行适当的文件,然后在 AppImage 应用程序关闭后进行清理。
AppImage 还包括将应用程序与系统集成的提示,这对于各种用户来说都很方便。
更重要的是 - .tar.gz 文件可以是其创建者决定的任何内容 - 也许它只是一个依赖于您拥有所有依赖项和这些依赖项的正确版本的可执行文件,也许需要在特定位置提取它,也许它需要进一步的设置而不是解压才能工作。也许它实际上只是一堆你必须编译的源文件!
同时,根据官方网站的定义,AppImage 是“可以在任何地方运行的 Linux 应用程序”。要成为一个合适的 AppImage,应用程序需要自给自足地打包并具有适当的依赖项,并且可以在大多数 Linux 发行版上运行,而无需进一步设置。
这是我至少能想到的。当然,这在很大程度上可能是一个偏好问题。也许这一切对你来说确实没有什么区别。但它确实对不同的人产生了影响,包括它的作者和用户,所以就是这样。