Je suivais les instructions de ce tutoriel : Purger et réinstaller Grub 2 à partir du Live CD , lorsque j'ai rencontré une erreur à l'étape 1, lorsque j'ai lancé la commande
sudo chroot /mnt/temp
L'erreur était la suivante:
chroot: failed to run command `/bin/bash': Exec format error
D'où cela vient-il? Comment passer?
J'ai eu le même problème lors de la création d'une image pour un arc armhf. J'ai dû l'installer
qemu-user-static
puis le copier dans le dossier chroot bin.la source
L'erreur signifie que votre jail (
/mnt/temp
) ne contient pas de shell bash ou ne contient pas les bibliothèques requises pour exécuter le shell bash.Si vous avez créé votre prison en utilisant quelque chose comme ceci:
Vous vouliez probablement le faire à la place:
Cependant, comme réponse technique à votre problème, essayez:
Cela devrait vous permettre de chrooter avec succès, à quel moment vous pouvez faire d'autres choses.
Cependant, il y a environ un million de choses qui ne fonctionnent pas ainsi et vous ne voulez certainement pas le faire. Utilisez minbase lorsque vous créez votre prison, ou installez ubuntu sur une cible vierge (par exemple une machine virtuelle) et créez une archive tar de tout le système dans lequel vous décompressez ensuite
/mnt/temp
.la source
En effet, il s'agit d'une incompatibilité 64 bits 32 bits.
Bien qu'avec
(copie l'exec 32 bits vers la nouvelle racine du
tmp
répertoirechroot
est très bien, toutes les commandes échouent toujours. Il faudrait les copier partout.la source
Dans mon cas, j'essayais de chrooter dans une version 64 bits de Linux mais mon Linux actuel était de 32 bits.
J'avais monté une image disque (image principale, pour la réplication sur plusieurs machines).
la source
Je pense que c'est un BUG.
`/ bin / bash '
mais non
'bin / bash'
la source