Michael Cole Asked: 2018-02-04 20:07:06 +0800 CST2018-02-04 20:07:06 +0800 CST 2018-02-04 20:07:06 +0800 CST 在 AppImage 或 Flatpak 中打包 CLI 服务? 772 我想打包一个服务——例如 nginx。我看到快照可以做到这一点,这很棒。 Flatpak 是否有任何将CLI 运行时(命令行界面)作为服务提供的计划? Appimage有类似的东西吗? snap appimage flatpak 1 个回答 Voted Best Answer Kurt Pfeifle 2018-02-24T04:38:51+08:002018-02-24T04:38:51+08:00 “AppImage 有类似的东西吗?” 是的,将 CLI 工具转换为完全可用的 AppImage 是没有问题的。 AppImage 项目本身的 CLI AppImages AppImage 开发人员提供了几个 CLI 实用程序,用于创建、更新和运行 AppImages 作为现成的 AppImages: 应用映像 应用映像。这是一个(可选的)辅助守护程序,它会为您存储在任何受监视目录中的每个新 AppImage 自动创建菜单条目: 从以下网址下载 AppImage:https ://github.com/AppImage/AppImageKit/releases 应用图像更新工具 应用图像更新工具。这是一个搜索自动二进制增量更新并将其应用于为此机制准备的任何 AppImage 的工具。(要启用更新机制,AppImage 创建者需要使用'type 2' AppImage 格式!)您可以通过运行' ./my.AppImage --appimage-updateinfo'来检查它是否启用。要更新 AppImage,只需运行: appimageupdatetool -d my.AppImage # describe where update comes from... appimageupdatetool my.AppImage # actually apply the update... 从以下网址下载 AppImage:https ://github.com/AppImage/AppImageUpdate/releases linuxdeployqt linuxdeployqt。尽管它的名字,它不能只用于 Qt 应用程序,还可以用于其他应用程序。该工具通过复制应用程序使用的库和插件来使 Linux 应用程序自包含。它还可以选择生成一个 AppImage。 从以下网址下载 AppImage:https ://github.com/probonopd/linuxdeployqt/releases zsync2 和 zsyncmake2 zsync2和zsyncmake2。这两个构成了支持“类型 2” AppImages 的二进制增量机制的基本工具: zsync2负责下载增量并将现有(旧)AppImage 的副本修补到新的副本中。在该过程结束时,您下载了旧 AppImage 体积的一部分,但在本地有两个完整大小的 AppImage(旧的和新的)可用。然后只需测试新的并保留它(与旧的或唯一的一起),如果你喜欢它。 zsyncmake2是从任何文件(不仅仅是 AppImage)创建*.zsync文件的工具。所以对于'my.binaryfile.exe'它将创建'my.binaryfile.exe.zsync'。该(小得多)*.zsync文件包含有关主文件的元数据,这将有助于识别哪些字节范围与以前的版本相比发生了变化。如果两个文件现在并排托管,则“zsync2” CLI 实用程序可以确定它应该请求下载主(新)二进制文件中的哪些字节范围,以更新本地(旧)二进制文件. 从以下网址下载 AppImage:https ://github.com/AppImage/zsync2/releases 来自其他方的 CLI AppImages 我自己构建了一些 AppImages 供我自己使用(其中一些现在仍然是私有的),因为它们对我来说非常方便:我将它们托管在我家 WLAN 中 Raspbery Pi 上的一个共享目录中,但在多个我在每次启动时自动挂载共享目录的 Linux 系统。这在测试 Live CD ISO 时也很有效。 ImageMagick v7.0.x ImageMagick v70.x。我几乎每天都在为 ImageMagick7 构建新的(当然是非官方的!)版本。希望这将很快被 ImageMagick 开发人员自己采用...... 从以下网址下载 AppImage:https ://github.com/KurtPfeifle/ImageMagick/releases QPDF QPDF。我还构建了 QPDF 8.0a 预发行版。希望不久之后 QPDF 开发人员将发布他自己的 AppImage 版本(您必须在此处查看。) 这也是如何将您自己的自定义“AppRun”脚本包含到 AppImage 中的示例。要查看它的所有功能,请运行带有' --usage'标志的 AppImage 。 暂时从以下网址下载 AppImage:https ://github.com/KurtPfeifle/qpdf-appimage-testing/releases <== 这里,未来仍有实验性AppImage 可用。这些将涵盖当前的代码开发,基于最近的 Git 提交,而不是官方发布。 更新: QPDF 的作者 Jay Berkenbilt 发布了 QPDF-8.0.0 的第一个官方版本,其中包括一个 AppImage 作为 Linux 的唯一二进制构建。在这里获取:github.com/qpdf/qpdf/releases。我建议您在下载后将 AppImage 重命名为qpdf.ai(或使用该名称创建一个符号链接)。qpdf这使得(对于 CLI 工具来说很笨重!)AppImage 名称的处理变得更加容易,并且让您可以像以前一样继续使用(旧的)发行版。没有冲突! IPP 示例软件 IPP 示例软件。ISTO打印机工作组(PWG)提供的IPP 示例软件是一个 AppImage,它不仅有一个,而且有四个不同的 CLI 实用程序,它展示了Internet 打印协议(IPP) 的概念和即将推出的新IPP Everywhere标准。我使用我的 AppImage 制作了 ASCIIcast,提供了关于该软件的简短介绍教程,您可以在此处观看: 适用于 Linux 的 Microsoft PowerShell 适用于 Linux 的 Microsoft PowerShell。微软正在以 AppImage的形式分发他们新的PowerShell for Linux 。关于在 Debian 上运行的 ASCIIcast 在这里: 从以下网址下载 PowerShell AppImage: https ://github.com/PowerShell/PowerShell/releases
是的,将 CLI 工具转换为完全可用的 AppImage 是没有问题的。
AppImage 项目本身的 CLI AppImages
AppImage 开发人员提供了几个 CLI 实用程序,用于创建、更新和运行 AppImages 作为现成的 AppImages:
应用映像
应用映像。这是一个(可选的)辅助守护程序,它会为您存储在任何受监视目录中的每个新 AppImage 自动创建菜单条目:
应用图像更新工具
应用图像更新工具。这是一个搜索自动二进制增量更新并将其应用于为此机制准备的任何 AppImage 的工具。(要启用更新机制,AppImage 创建者需要使用'type 2' AppImage 格式!)您可以通过运行'
./my.AppImage --appimage-updateinfo
'来检查它是否启用。要更新 AppImage,只需运行:linuxdeployqt
linuxdeployqt。尽管它的名字,它不能只用于 Qt 应用程序,还可以用于其他应用程序。该工具通过复制应用程序使用的库和插件来使 Linux 应用程序自包含。它还可以选择生成一个 AppImage。
zsync2 和 zsyncmake2
zsync2和zsyncmake2。这两个构成了支持“类型 2” AppImages 的二进制增量机制的基本工具:
zsync2负责下载增量并将现有(旧)AppImage 的副本修补到新的副本中。在该过程结束时,您下载了旧 AppImage 体积的一部分,但在本地有两个完整大小的 AppImage(旧的和新的)可用。然后只需测试新的并保留它(与旧的或唯一的一起),如果你喜欢它。
zsyncmake2是从任何文件(不仅仅是 AppImage)创建*.zsync文件的工具。所以对于'my.binaryfile.exe'它将创建'my.binaryfile.exe.zsync'。该(小得多)*.zsync文件包含有关主文件的元数据,这将有助于识别哪些字节范围与以前的版本相比发生了变化。如果两个文件现在并排托管,则“zsync2” CLI 实用程序可以确定它应该请求下载主(新)二进制文件中的哪些字节范围,以更新本地(旧)二进制文件.
从以下网址下载 AppImage:https ://github.com/AppImage/zsync2/releases
来自其他方的 CLI AppImages
我自己构建了一些 AppImages 供我自己使用(其中一些现在仍然是私有的),因为它们对我来说非常方便:我将它们托管在我家 WLAN 中 Raspbery Pi 上的一个共享目录中,但在多个我在每次启动时自动挂载共享目录的 Linux 系统。这在测试 Live CD ISO 时也很有效。
ImageMagick v7.0.x
ImageMagick v70.x。我几乎每天都在为 ImageMagick7 构建新的(当然是非官方的!)版本。希望这将很快被 ImageMagick 开发人员自己采用......
QPDF
QPDF。我还构建了 QPDF 8.0a 预发行版。希望不久之后 QPDF 开发人员将发布他自己的 AppImage 版本(您必须在此处查看。)
这也是如何将您自己的自定义“AppRun”脚本包含到 AppImage 中的示例。要查看它的所有功能,请运行带有'
--usage
'标志的 AppImage 。暂时从以下网址下载 AppImage:https://github.com/KurtPfeifle/qpdf-appimage-testing/releases <== 这里,未来仍有实验性AppImage 可用。这些将涵盖当前的代码开发,基于最近的 Git 提交,而不是官方发布。更新: QPDF 的作者 Jay Berkenbilt 发布了 QPDF-8.0.0 的第一个官方版本,其中包括一个 AppImage 作为 Linux 的唯一二进制构建。在这里获取:github.com/qpdf/qpdf/releases。我建议您在下载后将 AppImage 重命名为
qpdf.ai
(或使用该名称创建一个符号链接)。qpdf
这使得(对于 CLI 工具来说很笨重!)AppImage 名称的处理变得更加容易,并且让您可以像以前一样继续使用(旧的)发行版。没有冲突!IPP 示例软件
IPP 示例软件。ISTO打印机工作组(PWG)提供的IPP 示例软件是一个 AppImage,它不仅有一个,而且有四个不同的 CLI 实用程序,它展示了Internet 打印协议(IPP) 的概念和即将推出的新IPP Everywhere标准。我使用我的 AppImage 制作了 ASCIIcast,提供了关于该软件的简短介绍教程,您可以在此处观看:
适用于 Linux 的 Microsoft PowerShell
适用于 Linux 的 Microsoft PowerShell。微软正在以 AppImage的形式分发他们新的PowerShell for Linux 。关于在 Debian 上运行的 ASCIIcast 在这里: