GNU/Linux >> Belajar Linux >  >> Linux

Bash:Tidak ada file atau direktori seperti itu?

Saya yakin Anda melewatkan linker dinamis . Lakukan saja a

readelf --all ./wkhtmltopdf | grep interpreter

Anda harus mendapatkan output seperti ini:

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

Ada kemungkinan besar bahwa sistem Anda tidak memiliki juru bahasa (/lib64/ld-linux-x86-64.so.2 dalam contoh). Dalam hal ini bash akan berteriak No such file or directory , sama seperti ketika biner itu sendiri hilang.

Anda dapat mencoba menggunakan berbeda linker. Suatu saat Anda bisa berhasil. Lakukan saja:

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

Perintah ini:

find /lib* -name ld-linux\*

akan membantu Anda menemukan tautan di sistem Anda. Atau Anda dapat melakukan readelf perintah pada beberapa perintah yang bisa Lari. Ini akan menunjukkan kepada Anda penaut yang benar dan berfungsi.

ATAU , karena Anda menjalankan sistem Debian, lakukan a

sudo apt-get install wkhtmltopdf

untuk menginstal versi asli alat :)


Dalam kasus saya

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

Di mesin tempat executable bekerja:

$ 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

Jadi untuk memperbaiki masalah (referensi)

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

Linux
  1. Skrip Bash:juru bahasa yang buruk

  2. 'SDL.h tidak ada file atau direktori yang ditemukan' saat kompilasi

  3. Bagaimana cara mendapatkan direktori absolut dari sebuah file di bash?

  1. sys/types.h:Tidak ada file atau direktori tersebut

  2. perintah conda akan meminta kesalahan:Penerjemah Buruk:Tidak ada file atau direktori seperti itu

  3. bash:./helloworld_s:tidak ada file atau direktori seperti itu. Filenya jelas ada

  1. Mkdir:Tidak Dapat Membuat Direktori:Tidak Ada File Atau Direktori Tersebut?

  2. Tidak ada kesalahan file atau direktori saat menjalankan biner

  3. touch:tidak dapat menyentuh `foo':Tidak ada file atau direktori seperti itu