/lib/ld-linux.so.2以及它的64位版本/lib64/ld-linux-x86-64.so.2虽然看起来是共享库文件,但实际上他们可以独立运行。他们的功能是负责动态加载。
.string 还可以替换为 .ascii,不过呢,末尾得主动加个 \0 字节,用法如下: ".ascii \"/lib/i386-linux-gnu/ld-linux.so.2\\x00\"\n" .....2\\x00\"\n" ".popsection"); /* .ascii above equals to .string \"/lib/i386-linux-gnu/ld-linux.so.../i386-linux-gnu/ld-linux.so.2 如果系统安装的是 libc6-i386 呢?...$ dpkg -S /lib32/ld-linux.so.2 libc6-i386: /lib32/ld-linux.so.2 两个包提供的动态链接器路径完全不一样,那就得替换掉动态编译器,要重新编译....2%/lib32/ld-linux.so.2%g" interp.txt $ objcopy --update-section .interp=interp.txt libhello.so $ .
learn_ldd]$ ldd * a.out: linux-gate.so.1 => (0x00ba1000) libc.so.6 => /lib/libc.so.6 (0x0087e000) /lib/ld-linux.so...learn_ldd]$ ldd * a.out: linux-gate.so.1 => (0x00e7c000) libc.so.6 => /lib/libc.so.6 (0x0087e000) /lib/ld-linux.so...0x00510000) libtest.so => /usr/libtest.so (0x00fe3000) libc.so.6 => /lib/libc.so.6 (0x0087e000) /lib/ld-linux.so...0x048c9000) libc.so.6 => /lib/libc.so.6 (0x0087e000) libdl.so.2 => /lib/libdl.so.2 (0x00a0c000) /lib/ld-linux.so...0x04d99000) libc.so.6 => /lib/libc.so.6 (0x00110000) libdl.so.2 => /lib/libdl.so.2 (0x00a0c000) /lib/ld-linux.so
ldd命令的本质是执行了:/lib/ld-linux.so.* 我们可以从以上的内容中(ls /usr中)发现:/lib/ld-linux.so.2 (0xb7fad000)。....* lrwxrwxrwx 1 root root 9 2009-09-05 22:54 /lib/ld-linux.so.2 -》 ld-2.9.so 刚编译后的文件可能是:/lib/ld.so。...如果是libc5则是/lib/ld-linux.so.1, 而glibc2应该是/lib/ld-linux.so.2。...$ /lib/ld-linux.so.2 –list /bin/ls linux-gate.so.1 =》 (0xb8050000) librt.so.1 =》 /lib/tls/i686/cmov/librt.so...4、实际上可以直接执行ld-linux.so模块,如:/lib/ld-linux.so.2 –list program(这相当于ldd program)ldd命令使用方法(摘自ldd –help) 名称
-bash: /usr/local/jdk/jdk1.8.0_181/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or...总结 以上所述是小编给大家介绍的centos安装jdk1.8时出现没有/lib/ld-linux.so.2:这个文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。
出现这样的错误信息: bash: /home/xuzhina/Downloads/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-ld: /lib/ld-linux.so...arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-ld 不是动态可执行文件 [xuzhina@localhost singlecell]$ ls /lib/ld-linux.so....2 ls: 无法访问/lib/ld-linux.so.2: 没有那个文件或目录 也就是说,要64位系统能够运行32位程序,还得安装32位的加载器。...那么,ld-linux.so.2是在哪个软件包呢,由于我的系统是centos 7,所以,我从rpmfind.net知道ld-linux.so.2属于glibc.i686。
〜$ ldd mmap linux-gate.so.1 =>(0xb77d9000) libc.so.6 => /lib/libc.so.6(0xb7654000) /lib/ld-linux.so...〜$ ldd mmap linux-gate.so.1 =>(0xb7738000) libc.so.6 => /lib/libc.so.6(0xb75b3000) /lib/ld-linux.so...0xb77bd000) 〜$ ldd mmap linux-gate.so.1 =>(0xb7738000) libc.so.6 => /lib/libc.so.6(0xb75b3000) /lib/ld-linux.so...无限制 〜$ ldd mmap linux-gate.so.1 =>(0x4001c000) libc.so.6 => /lib/libc.so.6(0x4002e000) /lib/ld-linux.so...0x40000000) 〜$ ldd mmap linux-gate.so.1 =>(0x4001c000) libc.so.6 => /lib/libc.so.6(0x4002e000) /lib/ld-linux.so
Oracle-Database-backup-Cannot-start-program-opt-omni-lbin/td-p/229304 上面说 /opt/omni/lbin/ob2rman.pl的调用需要 /lib/ld-linux.so....2 查找系统果然没有(正常机器上有) 最后搜索ld-linux.so.2 后找到解决方案 原因为从Redhat/CentOS开始64位默认不安装32位的glibc,即glibc-i686版本 解决方案
因为二进制文件被调用之前,优先调用了系统的/lib/ld-linux.so.2,这个动态库是一个可执行文件;该动态库运行的时候根据设置的环境变量,选择 显示的属性:可执行文件对应的依赖;所以其实是ld-linux.so....2这个模块把可执行二进制文件或者库文件的依赖显示出来了; 如果我们运行ld-linux.so.2这个模块,发现有一个--list参数,对于模块文件,我们除了用 ldd命令,也可以用ld-linux.so
如图,宿主机上的CentOS有自身的一套操作系统文件(当然,也包括Linux下都有的ld-linux.so.2),而CentOS上运行的三个应用A,B和C,所依赖的ld-linux.so.2的版本有一定的差异...UnionFS能够为这三个不同的进程,提供各自虚拟化的文件系统,以及存放各自依赖的不同版本的ld-linux.so.2动态链接库。
0x00 64位系统中安装了32位程序解决办法 是因为64位系统中安装了32位程序 解决方法: yum install glibc.i686 0x01 解决交叉编译环境错误 yum install ld-linux.so
local/arm/4.3.2/bin/arm-linux-gcc: /home/gl/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc: /lib/ld-linux.so...:行3: /home/gl/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc: 成功 [root@austgl gl]# yum install ld-linux.so
rarlinux-3.8.0.tar.gz cd rar make make install 二、Bug处理 使用的时候出现一个错误 bash: /usr/local/bin/rar: /lib/ld-linux.so
libtermcap.so.2 => /lib/libtermcap.so.2 (0x4001c000) libc.so.6 => /lib/libc.so.6 (0x40020000) /lib/ld-linux.so....2 => /lib/ld-linux.so.2 (0x40000000) 注意:在 ldd 命令打印的结果中,“=>”左边的表示该程序需要连接的共享库之 so 名称,右边表示由 Linux 的共享库系统找到的对应的共享库在文件系统中的具体位置
输出如下: linux-gate.so.1 = > (0xb8034000) libc.so.6 = > /lib/tls/i686/cmov/libc.so.6 (0xb7eab000) /lib/ld-linux.so...将程序需要的库和程序拷贝到新根目录下: cp a.out rumenz mkdir rumenz/lib cp /lib/tls/i686/cmov/libc.so.6 rumenz/lib cp /lib/ld-linux.so
这类需求在 Linux 下面其实很常见,比如 ld-linux.so 和 libc.so: $ file /lib/i386-linux-gnu/ld-linux.so.2 /lib/i386-linux-gnu.../ld-linux.so.2: symbolic link to ld-2.23.so $ file /lib/i386-linux-gnu/ld-2.23.so /lib/i386-linux-gnu...#include asm(".pushsection .interp,\"a\"\n" " .string \"/lib/i386-linux-gnu/ld-linux.so...#include asm(".pushsection .interp,\"a\"\n" " .string \"/lib/i386-linux-gnu/ld-linux.so
安装过程可能遇到的问题: 如果提示 -bash: /root/jdk1.8.0_271/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录
0x4019a000) libdl.so.2 => /lib/libdl.so.2 (0x401af000) libc.so.6 => /lib/tls/libc.so.6 (0x42000000) /lib/ld-linux.so....2 => /lib/ld-linux.so.2 (0x40000000) 这意味着还须要在“监牢”中创建lib文件夹,并将库文件拷贝到当中。...执行下面命令安装一些主要的软件,包含ls、cat、cp等程序和ld-linux.so.2等库文件。...//lib/ld-linux.so.2 exists. Overwritting it Warning: file .//etc/ld.so.cache exists.
领取专属 10元无门槛券
手把手带您无忧上云