GNU/Linux >> Tutoriels Linux >  >> Linux

Bash :Aucun fichier ou répertoire de ce type ?

Je parie que l'éditeur de liens dynamique vous manque . Faites juste un

readelf --all ./wkhtmltopdf | grep interpreter

Vous devriez obtenir une sortie comme celle-ci :

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

Il y a de fortes chances que votre système ne dispose pas de l'interpréteur (/lib64/ld-linux-x86-64.so.2 dans l'exemple). Dans ce cas, bash crierait No such file or directory , tout comme lorsque le binaire lui-même est manquant.

Vous pouvez essayer d'utiliser un différent lieur. Parfois, vous pouvez réussir. Faites juste un :

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

Cette commande :

find /lib* -name ld-linux\*

vous aidera à trouver les éditeurs de liens sur votre système. Ou vous pouvez faire le readelf commande sur une commande qui fait Cours. Il vous montrera l'éditeur de liens correct et fonctionnel.

OU , puisque vous utilisez le système Debian, faites simplement un

sudo apt-get install wkhtmltopdf

pour installer la version native de l'outil :)


Dans mon cas

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

Sur une machine où l'exécutable fonctionnait :

$ 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

Donc pour régler le problème (référence)

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

Linux
  1. Impossible d'exécuter un tel fichier ou répertoire [Réparer]

  2. Python - Aucun fichier ou répertoire de ce type, mais je peux le voir ! ?

  3. Script bash :mauvais interpréteur

  4. Erreur fatale :cuda.h :aucun fichier ou répertoire de ce type

  5. source conda désactiver :bash :désactiver :aucun fichier ou répertoire de ce type

Comment vérifier si un fichier ou un répertoire existe dans Bash

Bash :Écrire dans un fichier

Comment vérifier si un fichier ou un répertoire existe dans Bash

Commande de source bash

Comment vérifier si un fichier ou un répertoire existe dans Bash Shell

chroot échoue - impossible d'exécuter la commande `/bin/bash' :aucun fichier ou répertoire de ce type