如何检查 Appimage 中的文件?

Wil*_*ard 13 appimage

据我所知,Appimage 文件是一个压缩的应用程序及其所有资源,运行时它会自动挂载然后执行。

我想检查我下载的 Appimage 文件中的资源和文件,而不实际运行 Appimage。

我怎样才能做到这一点?

cip*_*cus 14

不改变他们的扩展名:

因此,可以挂载或提取应用程序图像。那是:

要安装它们:

my.AppImage --appimage-mount
Run Code Online (Sandbox Code Playgroud)

当示例中调用的应用程序被中断(例如,通过按 Ctrl+C、关闭终端等)时,AppImage 将被卸载。

注意:这仅适用于类型 2 AppImages。类型 1 AppImages 不提供任何自挂载机制。要安装类型 1 AppImages,请使用

mount -o loop
Run Code Online (Sandbox Code Playgroud)

提取它们:

安装 AppImages 的另一种方法是提取它们的内容。这允许修改内容。生成的目录是一个有效的 AppDir,用户可以使用 appimagetool.

类似于挂载 AppImages,有一个简单的命令行开关可以在没有外部工具的情况下提取类型 2 AppImages 的内容。只需使用参数调用 AppImage 即可--appimage-extract。这将导致运行时创建一个名为 的新目录squashfs-root,其中包含 AppImage 的 AppDir 规范的内容。

类型 1 AppImages 需要不推荐使用的工具AppImageExtract来提取 AppImage 的内容。它的功能非常有限,需要一个 GUI 才能运行。它在用户的桌面目录中创建一个新目录。

关于如何从 AppImage 提取文件的超级用户有一个答案。

查看我的 appimages,我发现只有其中一些可以使用gnome-disk-image- mounter 安装。也在这里


更改他们的扩展名:

并非所有 appimages 都具有完全相同的结构,但都是档案。 维基百科说:“ 1.0 版的 AppImage 是一个 ISO 9660 Rock Ridge 文件(可以选择 zisofs 压缩),包含最小的 AppDir 和很小的运行时间。(版本 2 可能使用其他文件系统图像格式,如 SquashFS) ”。

所以,它可以被提取出来。通过这种方式,您可以检查文件。

从简单的更改扩展AppImage到存档扩展我的文件辊归档管理器可以阅读(我与测试zip7z等等),双击该文件显示在文件辊内容:

在此处输入图片说明

当然,它们也可以被提取。“提取”文件管理器上下文菜单操作也可以用于提取存档。(如评论中所述,该unzip命令报告一个错误,文件重命名为zip扩展名,因此重命名为zip本身并不是正确的选择,但它适用于像file-roller.)这样的存档管理器。

  • @Wildcard - 似乎有些档案管理器(如 file-roller)并不关心正确的档案扩展名,只要该文件是具有档案扩展名的档案(无论是什么),并且能够提取它,而` unzip` 工具是面向扩展的,它会寻找更多特定于扩展的属性以进行操作。因此,不要使用`unzip`,而是使用文件管理器提取操作或`file-roller -f`。有关详细信息,请参阅`file-roller --help`。 (2认同)

小智 9

根据 AppImage文档,--appimage-mount选项允许您安装和检查内容。

例如:

./Joplin.AppImage --appimage-mount /tmp/mount_myXXXX
Run Code Online (Sandbox Code Playgroud)

应用程序的帮助通常可以./whatever.AppImage --help像任何其他应用程序一样显示,但要查看 AppImage 特定选项,您可以运行:

./whatever.AppImage --appimage-help
Run Code Online (Sandbox Code Playgroud)

这是输出的相关部分:

AppImage options:
...
  --appimage-mount                Mount embedded filesystem image and print
                                  mount point and wait for kill with Ctrl-C
Run Code Online (Sandbox Code Playgroud)

您不必为其创建挂载点或之后删除目录;AppImage 将处理所有这些。

  • 不应执行您尝试检查的文件。这是一个危险的答案 (6认同)
  • @SyferPolski 特别是作为 OP 指定的,“没有实际运行 Appimage”。 (2认同)