Ubuntu执行二进制文件提示No such file or directory问题

今天在Ubuntu上运行一个二进制文件,提示错误No such file or directory。看字面的意思是文件或路径不存在,可明明这个文件是存在的。记录下排查逻辑

0x01  检查文件类型

通过file命令可以查出这个文件是一个32位的LSB可执行文件

$ file ./mksquashfs

./mksquashfs: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=3b8174a0398e82319eed75dadb1c74a0222963a3, not stripped

 

0x02  检查LSB版本

既然上面查出是lsb的可执行文件,就先检查下lsb的版本

$ lsb_release

No LSB modules are available  ##没有LSB模块可用

查到问题所在,没有LSB模块,文件当然运行不了。

 

0x03  安装LSB

$ apt-get install lsb-core

总结,问题的原因是第三方的二进制文件发布时是按照LSB规范来分发二进制。如果系统不符合LSB规范则这些程序都无法运行

weinxin
聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:3   其中:访客  3   博主  0

  1. avatar 养肝护肝的食物 0

    好久都没用乌班图系统了

  2. avatar 广州网站建设 4

    突然看到,我都快忘了这个了

  3. avatar 广州网站建设 4

    突然看到,好久没看到了,快忘了