在没有容器的情况下运行容器的ELF文件

时间:2019-04-05 09:53:09

标签: linux containers elf

我得到了类型为ELF的文件 我想在普通的常规linux计算机(而不是容器)中运行的ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-x86_64.so.1, stripped

可悲的是,尝试执行时出现错误No such file or directory

我最终要调试所说的ELF,在容器中很难做到。

谷歌搜索了几个小时,找不到一个简单的解决方案。

2 个答案:

答案 0 :(得分:2)

  

ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-x86_64.so.1, stripped

此二进制文件链接为使用musl libc,该文件未安装在系统上。

  

No such file or directory

此错误有点令人困惑。缺少的不是您的二进制文件,而是所需的 iterpreter /lib/ld-musl-x86_64.so.1)。

虽然没有找到确定的是/否答案,但可能会与现有的GLIBC并行安装musl

答案 1 :(得分:0)

musl用于编译可移植的静态二进制文件。您尝试运行的程序的编译出了点问题。标志“ --static”应该已经传递给已编译的程序,这将导致

ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, with debug_info, not stripped

有关如何编译此类程序的示例:

CC=musl-gcc CFLAGS="--static" ./Configure
make