appimage_使用AppImage进行Linux软件包管理

appimage

管理Linux机器(尤其是远程机器)的很大一部分是管理和安装软件。 当本地应用程序出现问题时,或者文件系统上的某些文件损坏并且需要修复时,您通常会希望推送更新,而不必走很多路才坐在物理屏幕前。 正如我在Pluralsight课程Linux系统维护和故障排除课程中所解释的那样,当然可以通过Bash脚本解决很多问题,但是在很多情况下,没有什么可以替代优质的老式二进制文件了。

想象一下,您的某些远程系统需要安装新的应用程序,因此使用这些计算机的团队成员将能够执行某些业务功能。 能够利用Debian或RPM之类的主要Linux存储系统之一的集成和自动化,可以使您的管理任务变得更加轻松。

正如Linus Torvalds永不厌倦地提醒我们的那样,许多Linux软件管理系统的问题在于Linux软件管理系统太多 。 多年来,由于您花大量的时间和精力来为Debian repos等软件准备软件,因此使应用程序开发乃至Linux的采用变得非常复杂,如果您希望将其引入RPM系统中将无济于事。 两者都不会对SUSE的Zypper经理有所帮助。

解决软件孤岛问题的一种有前途的解决方案是使用可以在任何Linux发行版上运行的自己独立的环境来发行应用程序。 在这个年轻且不断发展的领域中,标准的一种选择是AppImage 。

使用AppImages

这是它的美丽的例证。 当我玩AppImages时,我在一个技术论坛上遇到了一个非常古老的讨论,使我进入了一个同样古老而废弃的GitHub项目以及相关的YAML和配方文件。 它们旨在自动构建准备生成AppImage包所需的存档所需的相当复杂的基础结构。 尽管该基础结构全部是在运行五年的Ubuntu版本上构建的,但是当我将所有基础结构放在一起并对它运行appimagetool命令时,它创建了一个AppImage文件,该文件可在当前桌面上无缝运行。 我认为没有这么多具有​​五年历史的GitHub项目可以使用其他技术运行,而无需进行认真的修改。

但是我不会去那里。 相反,我将向您展示它如何与一个非常简单的Hello World应用程序一起工作。 首先,请确保AppStream软件包已本地安装。

对于基于Debian的系统,运行:

 $  sudo apt install appstream 

对于RPM系统,请使用:

 $  sudo dnf install appstream 

克隆本文中引用的Git存储库,我基于以下示例:


     
     
     
     
$ git clone https: // github.com / boolean-world / appimage-resources
$ cd appimage-resources
$ ls hello-world-appimage

接下来, cd进入创建的新目录Git,并四处看看。 这里有两个目录。 使用hello-world-appimage ; 另一个是更复杂的项目,您也应该考虑尝试一下。

helloworld.desktop文件是Linux GUI系统读取的文件,用于了解如何处理它们呈现桌面图标的方式。 事实证明,当前写入文件的方式会在以后给您带来麻烦,因此请进行一些小的编辑:添加Categories=行并将其值赋予GNOME 并且不要忘了最后的分号:


     
     
     
     
$ nano hello-world-appimage / helloworld.desktop
        add Categories =GNOME;

从AppImage GitHub项目下载appimagetool二进制文件的预编译副本。 造访GitHub站点的重点-那里有很多出色的文档和资源。 下载二进制文件后,使文件可执行,并将其指向hello-world-appimage目录。 但是首先,您需要告诉它您想要什么架构。 出于某种原因,在选择是否使用x86_64构建应用程序时,一个名称以x86_64结尾的工具非常不稳定(我不确定那里发生了什么):


     
     
     
     
$ wget https: // github.com / AppImage / AppImageKit / releases / download / continuous / appimagetool-x86_64.AppImage
$ chmod +x appimagetool-x86_64.AppImage
$ ARCH =x86_64 . / appimagetool-x86_64.AppImage hello-world-appimage

如果您没有看到任何生气的错误消息,则可以全部运行它:


     
     
     
     
$ ls
$ . / hello-world-appimage-x86_64.AppImage

结论

AppImage是软件包管理的非常有效的选择。 当您探索它时,我想您会发现它是Linux发行版提供的默认替代品。

翻译自: https://opensource.com/article/20/6/appimages

appimage

你可能感兴趣的:(appimage_使用AppImage进行Linux软件包管理)