如何区分 AppImage 文件和常规可执行文件?

如何区分 AppImage 文件和常规可执行文件?

问题几乎就在标题中。如果我file在 AppImage 上启动命令,我会得到:

ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, stripped

在常规可执行文件上我得到:

ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=b6e2c0d6aaa2a3cb1555e8e7511e67424eb9ebeb, stripped

是否可以通过查看命令的输出来将第一个文件识别为 AppImage file?我还应该使用其他命令来实现此目的吗?

答案1

您可以magic number使用工具检查文件的内容xxd。对于 AppImage,该数字是0x414902

xxd ucdmap.appimage-0.2.0-x86_64.AppImage| head -1
00000000: 7f45 4c46 0201 0100 4149 0200 0000 0000  .ELF....AI......

AppImage 魔幻数字

相关内容