GNU/Linux >> Tutoriels Linux >  >> Linux

Lorsque les fichiers exécutables ne le sont pas ?

Cette question a déjà des réponses ici :Fermé il y a 9 ans.

Duplication possible :
Impossible d'exécuter certains binaires dans l'environnement chroot (zsh :non trouvé)

Aujourd'hui, je suis tombé sur quelque chose qui m'a laissé perplexe. Un collègue travaille avec un binaire précompilé spécifique qu'il a téléchargé (disponible ici). Sur le serveur Ubuntu 10.04 LTS sur lequel il travaille, la tentative d'exécution de ce fichier génère un fichier introuvable, même avec les autorisations définies correctement.

Et pourtant, lorsque je tente la même chose depuis OpenSUSE 11.4, cela fonctionne très bien. Exécution de file dessus ça me donne :

Exécutable ELF 32 bits LSB, Intel 80386, version 1 (SYSV), lié dynamiquement (utilise des bibliothèques partagées), pour GNU/Linux 2.6.15, supprimé

Les boîtes Ubuntu et OpenSUSE sont des installations 64 bits et file renvoie les mêmes informations sur les deux machines.

Ce qui m'a l'air très bien. Et sur la boîte d'openuse, LDD me donne même une courte liste de fichiers de bibliothèque. Vérification manuelle, tous ces fichiers spécifiés existent également sur le serveur Ubuntu. La sortie de Strace est cependant différente :

Ouvriruse :

execve(“./trid”, [“./trid”], [/* 122 vars */]) =0

Ubuntu (le chemin complet ne change pas le résultat) :

execve(“./trid”, [“./trid”], [/* 19 vars */]) =-1 ENOENT (Aucun fichier ou répertoire de ce type)

Qu'est-ce qui peut empêcher un fichier comme celui-ci d'être exécutable de cette manière ?

Réponse acceptée :

Saisissez

ldd ./trid

à la fois sur le système openSuse et Ubuntu.

Je suppose que vous constaterez qu'il manque un fichier de bibliothèque à ce dernier.


Linux
  1. Créer et supprimer des fichiers d'échange dans Ubuntu

  2. Fichier 7zip :comment décompresser des fichiers 7z sur Ubuntu, Debian, Fedora

  3. Programmation Prolog dans Ubuntu

  4. Pourquoi rsync n'utilise-t-il pas delta-transfer pour les fichiers locaux ?

  5. Comment supprimer les fichiers .fuse_hidden* ?

Comment récupérer des fichiers supprimés dans Ubuntu via TestDisk

Comment renommer des fichiers dans Ubuntu 20.04

Comment accéder aux fichiers Windows à partir d'Ubuntu ?

Recherche de fichiers dans Ubuntu 22.04

Comment protéger les fichiers par mot de passe à l'aide de l'éditeur Vim dans Ubuntu

Astuces Ubuntu :Comment afficher les fichiers journaux du système dans l'interface graphique