Comment résoudre l'erreur 'impossible d'exécuter le fichier binaire : erreur de format d'exécution' sur Ubuntu

L'erreur "impossible d'exécuter le fichier binaire" survient souvent en raison d'incompatibilités d'architecture entre le processeur et le binaire, nécessitant des vérifications et ajustements.
Bien que cela ne devrait pas se produire lors de l'utilisation des dépôts officiels apt-get, si vous téléchargez un logiciel depuis Internet et que vous l'exécutez, il y a une chance que vous voyiez le redouté bash: ./nameOfProgram: impossible d'exécuter le fichier binaire : Erreur de format d'exécution. Cette erreur, généralement suivie de bash: ./nameOfProgram.sh: Permission refusée ou quelque chose de similaire, indique qu'Ubuntu n'a pas pu interagir correctement avec le binaire que vous avez téléchargé. Cela est dû au fait que, bien qu'il s'agisse apparemment d'un binaire Linux valide, il est conçu pour une architecture différente de celle que votre noyau prend actuellement en charge.
La plupart des utilisateurs d'Ubuntu disposent de processeurs 32 bits ou 64 bits basés sur une architecture standard qu'Intel a publiée, peu importe qui a réellement fabriqué leurs microchips. Il est important de se rappeler que les processeurs 64 bits peuvent fonctionner en mode 32 bits, donc si vous obtenez cette erreur alors que vous avez un processeur 64 bits, il y a des chances que vous exécutiez une version 32 bits d'Ubuntu. Quelques commandes simples suffisent pour déterminer comment fonctionne votre processeur.
Méthode 1 : Utilisation de la commande arch
Si vous n'êtes pas familier avec le type de microprocesseur installé sur votre machine, vous voudrez d'abord utiliser la commande arch depuis la ligne de commande. Vous ne verrez qu'une seule ligne de sortie après avoir exécuté cette commande. Dans de nombreux cas, vous verrez i686, ce qui signifie que vous êtes sur un processeur 32 bits et donc, vous ne pouvez pas exécuter de binaires x86_64. Si vous voyez plutôt amd64 ou quelque chose de similaire, cela signifie que vous êtes sur un processeur x86_64, et vous devriez au moins théoriquement pouvoir exécuter la plupart des binaires 32 bits et 64 bits. Contrairement à Microsoft Windows, Ubuntu Linux contient réellement les outils appropriés pour permettre aux utilisateurs de chipsets 64 bits d'exécuter des programmes Windows 16 bits dans leur système d'exploitation dans de nombreux cas également.
Ces termes restent vrais même si vous n'utilisez pas réellement ce modèle particulier de microprocesseur. Par exemple, i686 est la façon dont Linux se réfère à de nombreux processeurs 32 bits même s'ils ne sont pas réellement des puces Intel 80686. Même si vous utilisez la technologie Intel 64 bits, arch peut encore appeler votre processeur une puce amd64. Cela n'indique pas une erreur et peut être ignoré en toute sécurité. Vous pouvez utiliser cat /proc/cpuinfo ou more /proc/cpuinfo pour découvrir le type exact de processeur que vous utilisez. Étant donné que les lignes de ce fichier sont longues, vous voudrez peut-être appuyer sur F11 avant de l'exécuter si vous utilisez une fenêtre de terminal graphique. Les utilisateurs d'une console virtuelle, en particulier ceux travaillant avec le serveur Ubuntu, n'auront pas à s'inquiéter autant.
Vous pouvez voir d'autres types de sorties, ce qui pourrait restreindre davantage vos options en matière d'exécution de logiciels. Ubuntu a soutenu l'architecture PowerPC pendant longtemps, que l'on trouve dans certaines stations de travail ainsi que dans de nombreux Macintosh classiques et anciennes machines Macintosh OS X. Vous pouvez en fait encore trouver des dépôts Ubuntu pour ces architectures, bien qu'ils reçoivent peu de soutien aujourd'hui. Cependant, vous ne pourrez probablement pas exécuter de nombreux binaires Linux que vous téléchargez depuis Internet en dehors des dépôts officiels dans ce cas. Cela ne signifie pas qu'Ubuntu ne fonctionne pas sur ces machines, bien que vous souhaitiez peut-être envisager la distribution plus légère Lubuntu.
Méthode 2 : Utilisation de la commande file
La commande file identifie ce que contiennent différents fichiers, et elle est généralement très précise. Essayez d'identifier le fichier en question en tapant file nameOfProgram pour voir si vous obtenez ELF 32 bits ou ELF 64 bits en sortie. S'il vous indique qu'il s'agit d'un binaire ELF 64 bits et que vous avez reçu i686 en sortie de la commande arch, alors il n'y a aucun moyen raisonnable de l'exécuter sur votre machine. Si vous utilisez un microprocesseur 64 bits exécutant Ubuntu 32 bits, vous pourriez techniquement réinstaller le système d'exploitation, bien que cela soit un peu une mesure extrême pour exécuter un seul programme.
Il y a également la possibilité très réelle, bien que légèrement improbable, que vous tombiez plutôt sur un binaire qui, lorsque vous essayez de l'exécuter, crache des caractères indésirables dans le terminal même si vous avez effectué une analyse de malware. Ces caractères prennent généralement la forme de blocs en forme de losange ou, alternativement, de cubes rectangulaires contenant des valeurs numériques. Certains informaticiens appellent ces derniers tofu, et cela représente les valeurs Unicode de caractères que vos polices actuellement installées ne pourront pas afficher. Si le terminal est...
Si vous les affichez de cette manière, vous pouvez être assuré qu'il ne s'agit ni d'une erreur de police ni d'un problème lié à un logiciel malveillant. En fait, c'est simplement parce que l'opcode du microprocesseur compilé à l'intérieur du binaire est si étranger à votre système qu'il ne sait pas comment interpréter une partie du code.
La meilleure façon de résoudre ce problème est d'installer le paquet approprié pour votre architecture. Si vous installez des paquets depuis Ubuntu, alors le système apt-get ou le gestionnaire graphique Synaptic s'en charge sans problème. Si vous téléchargez des paquets depuis une autre distribution, vous devrez trouver le bon pour votre architecture. Prenez, par exemple, la liste du paquet gvim sous Arch Linux. Bien que le paquet par défaut présente l'architecture x86_64, il en existe également un pour le chipset i686. Celui-ci fonctionnera sur des machines 32 bits qui utilisent la structure d'interruption Intel, mais rappelez-vous que les termes i686 et 32 bits ne sont pas toujours mutuellement inclusifs, car d'autres chipsets pris en charge par Linux possèdent en fait leurs propres implémentations 32 bits.
Les utilisateurs explorant l'ensemble de la scène GNU/Linux peuvent tomber sur des binaires compilés pour des technologies bien plus exotiques que celles-ci. Linux est vraiment une scène de code multiplateforme, vous verrez donc des binaires compilés pour des normes telles que OpenRISC, MIPS, SPARC, M32R, MN103, ARM, ARC, Alpha et bien d'autres. Il est très probable que vous ne puissiez pas exécuter l'un de ces binaires, bien qu'ARM soit une plateforme extrêmement populaire pour les tablettes et les smartphones. C'est également la plateforme sur laquelle le Raspberry Pi est basé, ce qui signifie que si vous exécutez réellement Ubuntu sur un appareil mobile ou la distribution Ubuntu MATE pour Raspberry Pi, vous aurez besoin de ceux-ci au lieu des binaires Intel 32 bits ou x86_64.
Questions et réponses qu'il vous faut savoir
Que signifie « Impossible d'exécuter l'erreur de format d'exécution du fichier binaire » ?
Le message « Impossible d'exécuter l'erreur de format d'exécution du fichier binaire » indique généralement que le système d'exploitation ne peut pas exécuter le fichier, souvent en raison des raisons suivantes :
- -
Incompatibilité d'architecture
- : Vous essayez d'exécuter un fichier conçu pour une architecture différente (par exemple, un fichier x86 sur un processeur ARM).
- Fichier non exécutable : Le fichier n'est pas marqué comme exécutable, ou n'est pas un script shell valide.
- Corruption du fichier : Le fichier binaire peut être endommagé ou mal téléchargé. Pour résoudre le problème, vérifiez l'architecture de votre processeur, assurez-vous que le fichier est exécutable et vérifiez son intégrité.
Comment ouvrir un fichier binaire ?
Pour ouvrir un fichier binaire, suivez ces étapes simples :
- Lancez votre éditeur binaire – Assurez-vous d’avoir installé un éditeur binaire (comme HxD, Hex Fiend ou un autre logiciel similaire).
- Accédez au menu :
- - Ouvrez le menu principal de l'éditeur.
- Cliquez sur Fichier.
- Ouvrir un fichier :
- Sélectionnez Ouvrir.
- Recherchez le fichier binaire que vous souhaitez modifier sur votre disque.
- Utiliser l'éditeur binaire :
- Cliquez sur la flèche déroulante à côté du bouton Ouvrir.
- Choisissez l’option Ouvrir avec et sélectionnez l’éditeur binaire.
- Visualiser et modifier :
- Le fichier s'affichera dans l'éditeur binaire où vous pourrez le visualiser ou apporter les modifications nécessaires. C'est tout ! Vous êtes prêt à travailler sur votre fichier binaire.
Maintenant que tu as fini de lire Comment résoudre l'erreur 'impossible d'exécuter le fichier binaire : erreur de format d'exécution' sur Ubuntu, nous t'invitons à explorer davantage la catégorie Linux. Tu y trouveras d'autres articles intéressants qui élargiront tes connaissances et te tiendront informé. Ne cesse pas de lire et de découvrir plus!
Laisser un commentaire