首页 > 其他分享 >bash: ./xxx: No such file or directory

bash: ./xxx: No such file or directory

时间:2025-01-22 14:28:47浏览次数:3  
标签:djq ld x86 No xxx 64 file linux squashfs2sparse

问题现象

在使用开源或他人可执行文件的时候,可能会遇到 bash: ./squashfs2sparse: No such file or directory 的报错;实际测试发现该文件存在,并且有可执行权限;

问题分析

通过对报错文件的分析
1:文件具有可执行权限;
2:文件编译的系统和当前系统一致;x86-64
3:可执行文件依赖一个私人路径的.so库,在当前电脑是没有该路径的

# 文件执行报错
djq@huali-virtual-machine:~/linux_os/$ ./squashfs2sparse 
bash: ./squashfs2sparse: No such file or directory

# 文件具有可执行权限
djq@huali-virtual-machine:~/linux_os/$ ls -lh squashfs2sparse 
-rwxr-xr-x 1 djq huali 13K Jan 17 11:32 squashfs2sparse

# 文件依赖一个私人绝对路径的动态库 ld-linux-x86-64.so.2
djq@huali-virtual-machine:~/linux_os/$ file squashfs2sparse 
back_squashfs2sparse: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /home/v1804/auto_build/apps_proc/build-qti-distro-tele-perf/tmp-glibc/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=1193336dc96c0c6bb7d19027812c9b511cf2278f, stripped

问题解决

我们可以使用 patchelf 工具,来修改 动态库的依赖路径;前提是个人环境下必须要有该动态库,才可以进行修改;

# ldd查看文件依赖的动态库
djq@huali-virtual-machine:~/linux_os/$ ldd squashfs2sparse 
        linux-vdso.so.1 (0x00007ffe1fbd0000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f306e339000)
        /home/v1804/auto_build/apps_proc/build-qti-distro-tele-perf/tmp-glibc/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007f306e743000)

# ls -lh 查看本机电脑相同动态库的路径
djq@huali-virtual-machine:~/linux_os/$ ls -lh /lib64/ld-linux-x86-64.so.2                
lrwxrwxrwx 1 root root 32 May  1  2024 /lib64/ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.31.so

# patchelf 修改动态库的依赖路径
djq@huali-virtual-machine:~/linux_os/$ patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 squashfs2sparse

# file 再次查看文件依赖,已经没有了个人路径库
djq@huali-virtual-machine:~/linux_os/$ file squashfs2sparse 
squashfs2sparse: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=1193336dc96c0c6bb7d19027812c9b511cf2278f, stripped

# 再次执行,可以执行成功
djq@huali-virtual-machine:~/linux_os/$ ./squashfs2sparse
squashfs_sparse  -  is used to prepare image which supports block update tested only for squashfs image .
  squashfs_sparse is tested only for squashfs image, please check before using for any other fs type image 
  correct usage squashfs_sparse system.squash system.img

标签:djq,ld,x86,No,xxx,64,file,linux,squashfs2sparse
From: https://blog.csdn.net/dujunqiu/article/details/145204464

相关文章

  • node.js健身房管理系统程序+论文 可用于毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容选题背景随着人们健康意识的不断提高,健身房行业迅速发展。关于健身房管理系统的研究,现有研究主要以系统功能实现为主,如如何构建基本的会员信息管理、课程安排等功能......
  • node.js家具销售库存管理系统的设计与实现程序+论文 可用于毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容选题背景关于家具销售库存管理的研究,现有研究主要以传统的管理模式优化或单一功能模块的改进为主,专门针对整合性家具销售库存管理系统全面设计与实现的研究较少。在......
  • node.js中小型酒店客房管理系统程序+论文 可用于毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容选题背景关于酒店客房管理系统的研究,现有研究主要以大型酒店的复杂管理系统为主,专门针对中小型酒店客房管理特点的研究较少。在国外,酒店客房管理系统发展较为成熟,许......
  • node.js基于Vue+的扶贫惠农推介系统程序+论文 可用于毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容选题背景关于扶贫惠农信息推广问题的研究,现有研究主要以传统线下宣传和简单的线上网页展示为主。国外在类似农业扶持项目推广方面,侧重于利用成熟的信息技术实现精准......
  • node.js滑雪场管理系统程序+论文 可用于毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容选题背景关于滑雪场管理系统的研究,现有研究主要以传统的人工管理模式分析以及部分简单信息化管理系统构建为主。国外在滑雪场管理信息化方面起步较早,一些先进的滑雪......
  • node.js水质监测数据管理系统程序+论文 可用于毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容选题背景关于水质监测数据管理问题的研究,现有研究主要以水质监测技术和数据分析方法为主,专门针对水质监测数据系统化管理的研究较少。在国外,部分先进地区已建立较为......
  • node.js基于微信小程序的校园停车管理系统后程序+论文 可用于毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容选题背景关于校园停车管理问题的研究,现有研究主要以传统停车管理模式改进为主,如增加停车位数量、优化停车场布局等。专门针对基于微信小程序的校园停车管理系统的研......
  • Thanos源码专题精讲——Thanos Sidecar release-0.26 源码阅读和分析
    ThanosSidecarrelease-0.26源码阅读和分析https://github.com/thanos-io/thanos/blob/release-0.26一、整体架构ThanosSidecar作为Prometheus的伴生容器运行,主要负责:Prometheus健康检查提供HTTPAPI查询接口提供gRPC查询服务数据块上传到对象存储最近......
  • P11592 [NordicOI 2024] Chair Game
    先直接从IMO2005预选赛C7开始看。问题:给定一个长度为\(n\)的序列\(a\),保证\(n\mid(\suma_i)\)。证明存在两个排列\(\sigma\)与\(\tau\),使得\(\sigma_i+\tau_i\equiva_i\pmodn\)。解:若存在一个序列\(a\)和其的一组解\((\sigma,\tau)\),同时存在一个序列\(b......
  • 分析比较opacity: 0、visibility: hidden、display: none三者的优劣和适用场景
    在前端开发中,opacity:0、visibility:hidden和display:none是三种常用的CSS属性,用于控制元素的可见性。它们各自具有不同的特点,适用于不同的场景。以下是对这三者的优劣和适用场景的分析比较:一、opacity:0特点:设置元素透明度为0,使元素完全透明。元素虽然不可见,但仍然占据页......