GNU/Linux >> Znalost Linux >  >> Linux

Bash:Žádný takový soubor nebo adresář?

Vsadím se, že vám chybí dynamický linker . Stačí udělat a

readelf --all ./wkhtmltopdf | grep interpreter

Měli byste dostat výstup jako tento:

[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]

Existuje vysoká pravděpodobnost, že ve vašem systému chybí tlumočník (/lib64/ld-linux-x86-64.so.2 v příkladu). V tomto případě by bash zakřičel No such file or directory , stejně jako když chybí samotná binární soustava.

Můžete zkusit použít jiný linker. Někdy můžete uspět. Stačí udělat:

/path/to/the/linker /path/to/your/executable

Tento příkaz:

find /lib* -name ld-linux\*

vám pomůže najít linkery ve vašem systému. Nebo můžete provést readelf příkaz na nějaký příkaz, který dělá běh. Ukáže vám správný a funkční linker.

NEBO , protože používáte systém Debian, stačí udělat a

sudo apt-get install wkhtmltopdf

nainstalovat nativní verzi nástroje :)


V mém případě

$ readelf --all ./wkhtmltopdf | grep interpreter # readelf: Displays information about ELF files.
      [Requesting program interpreter: /lib/ld-linux.so.2]

Na počítači, kde spustitelný soubor fungoval:

$ ls -lah /lib/ld-linux.so.2
lrwxrwxrwx 1 root root 25 Apr 16  2018 /lib/ld-linux.so.2 -> i386-linux-gnu/ld-2.27.so
$ dpkg -S /lib/ld-linux.so.2  # -S, --search filename-search-pattern: Search for a filename from installed packages.
libc6:i386: /lib/ld-linux.so.2

Takže k vyřešení problému (odkaz)

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libc6:i386  # GNU C Library: Shared libraries (from apt show)

Linux
  1. Python – žádný takový soubor nebo adresář, ale vidím to!?

  2. Mkdir:Nelze vytvořit adresář:Žádný takový soubor nebo adresář?

  3. Žádná taková chyba souboru nebo adresáře při spouštění binárního souboru

  1. sys/types.h:Žádný takový soubor nebo adresář

  2. Příkaz conda vyzve k chybě:Špatný interpret:Žádný takový soubor nebo adresář

  3. bash:./helloworld_s:žádný takový soubor nebo adresář. Soubor tam jasně je

  1. Nelze spustit žádný takový soubor nebo adresář [Opravit]

  2. Bash skript:špatný interpret

  3. touch:nelze se dotknout `foo':Žádný takový soubor nebo adresář