AppImage在独立的环境中分发应用程序,该环境适用于任何Linux发行版。管理Linux机器(尤其是远程机器)的一个重要部分是管理和安装软件。当本地应用程序出现问题,或者文件系统上的某些文件损坏需要修复时,您通常希望推送更新,而不必走很多路也不必坐在物理屏幕前。正如我在我的Pluralsight课程《Linux 系统维护和故障排除》中解释的那样,许多问题当然可以使用Bash脚本解决,但仍然有很多情况除了老式的二进制文件别无选择。想象一下,您的某些远程系统需要安装新的应用程序,以便使用这些计算机的团队成员可以执行某些业务。能够利用Debian或RPM等主要Linux存储库系统的集成和自动化可以使您的管理任务更加轻松。正如LinusTorvalds不厌其烦地提醒我们的那样,Linux软件管理系统太多的问题在于Linux软件管理系统太多了。多年来,应用程序开发甚至Linux的采用都变得更加复杂,因为您为使软件可用(例如,进入Debian存储库)而投入的所有时间和工作与您希望它如何进入RPM系统无关。没有任何帮助,对于SUSE的Zypper管理器也是如此,没有任何帮助。解决软件孤岛问题的一个有希望的解决方案是使用可以在任何Linux发行版上运行的独立环境来分发应用程序。在这个年轻且不断发展的领域,其中一个选择是AppImage。使用AppImage我完全致力于AppImage。与我提到的其他包管理系统一样,如果您需要,可以使用许多复杂的功能。但是,从本质上讲,AppImage非常简单。AppImage不像大多数其他包管理器那样通过存储库工作,它使用单个独立文件,可以直接发送或通过网站共享。这是一个展示它之美的例子。当我使用AppImage时,我在一个技术论坛上遇到了一个旧的讨论,它使我找到了一个同样古老且被废弃的GitHub项目以及相关的YAML和配方文件。它们旨在自动构建为生产准备AppImage包所需的相当复杂的基础设施。尽管基础设施全部构建在5年前的Ubuntu版本上,但当我将它们放在一起并运行appimagetool命令时,它创建了一个AppImage文件,可以在我当前的桌面上无缝运行。我认为没有多少五年历史的复杂GitHub项目可以在不认真重做的情况下与其他技术一起运行。不过这里我就不介绍这个案例了。相反,我将通过一个简单的HelloWorld程序向您展示它是如何工作的。首先,确保本地安装了AppStream包。对于基于Debian的系统,运行:$sudoaptinstallappstream对于RPM系统,使用:$sudodnfinstallappstream克隆本文中提到的Git存储库,我将基于它作为示例:$gitclone
