[RESCUE CHROOT] failed to run command ‘/bin/bash’ [Résolu]

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
neoxen
Daikyu
Messages : 62
Inscription : sam. 30 avr. 2011, 10:34

[RESCUE CHROOT] failed to run command ‘/bin/bash’ [Résolu]

Message par neoxen »

Bonjour,

Cet après midi j'ai lançé un

Code : Tout sélectionner

pacman -Syu 
sur mon serveur afin de mettre à jour les différents packet.

Une fois la mise à jour terminer, aucune commande ne semblais réagir.
Lorsque je tapais , le serveur ne reconnaisais pas la commande, lorsque je tapais

Code : Tout sélectionner

pacman
, aucune commande reconnue.
j'ai essayer avec une dizaine de commande et aucun résultat.

Etant chez OVH , j'ai demander un redémarrage de la machine via l'interface web.
Mon serveur n'a pas redémaré et un technicien est donc intervenu dessus.

Je suis donc maintenant en mode rescue, et j'ai vou lu chrooter le système pour voir ce qui n'allais pas.

j'ai donc monté ma racine dans /mnt et j'ai monté mon home dans /mnt home

Code : Tout sélectionner

mount /dev/sda1 /mnt
mount /dev/sda2 /mnt/home
j'ai ensuite monté ces dossiers spéciaux

Code : Tout sélectionner

mount --bind /dev /mnt/dev
mount -t proc /proc /mnt/proc
mount -t sysfs /sys /mnt/sys
Puis j'ai essayer de chrooter avec :

Code : Tout sélectionner

chroot /mnt /bin/bash
j'obtiens alors le message : chroot: failed to run command ‘/bin/bash’: No such file or directory

je fait un ls -l /bin/bash, j'obtiens -rwxr-xr-x 1 root root 1029624 Nov 5 2016 /bin/bash
je fait un ls -l /mnt/bin/bash, j'obtiens -rwxr-xr-x 1 root root 828320 Feb 14 2017 /mnt/usr/bin/bash

d'après ce que j'ai compris, la console rescue de ovh a bash dans /bin/bash et mon systeme a bash dans /usr/bin/bash
j'ai essayé la commande

Code : Tout sélectionner

chroot /mnt /usr/bin/bash
Toujours le message d'erreur d ebash non trouvé

j'ai fait un ldd de /bin/bash

Code : Tout sélectionner

root@rescue:/# ldd /bin/bash 
	linux-vdso.so.1 (0x00007ffcad114000)
	libncurses.so.5 => /lib/x86_64-linux-gnu/libncurses.so.5 (0x00007f0f66c0a000)
	libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f0f669e0000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0f667dc000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0f66431000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f0f66e2f000)
et un ldd de /mnt/usr/bin/bash

Code : Tout sélectionner

root@rescue:/# ldd /mnt/usr/bin/bash
	linux-vdso.so.1 (0x00007ffd03952000)
	libreadline.so.7 => not found
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3db9eaf000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3db9b04000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f3dba0b3000)

Donc pour récapituler ; après mon pacman -Syu, aucune commande ne répondé, j'ai donc rebooté. le système a planter et un technicien OVH est venu mettre en mode rescue.
Actuelement je ne sais pas comment réparer le système :/
Dernière modification par neoxen le lun. 05 févr. 2018, 11:38, modifié 2 fois.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [RESCUE CHROOT] ailed to run command ‘/bin/bash’

Message par FoolEcho »

Salut,
neoxen a écrit : mar. 30 janv. 2018, 17:32 et un ldd de /mnt/usr/bin/bash

Code : Tout sélectionner

root@rescue:/# ldd /mnt/usr/bin/bash
	linux-vdso.so.1 (0x00007ffd03952000)
	libreadline.so.7 => not found
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3db9eaf000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3db9b04000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f3dba0b3000)
Il te manque readline depuis ton serveur.
Tu devrais tenter chroot /mnt (sans préciser le bash donc)... :?
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17188
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [RESCUE CHROOT] ailed to run command ‘/bin/bash’

Message par benjarobin »

Avoir l'erreur de libreadline manquant est normale, car le ldd est fait en dehors du chroot, et donc les librairies trouvées sont celles du système de rescue.
Malheureusement tu ne nous donnes aucune information intéressante pour trouver l'origine du problème

Tu peux tenter ceci

Code : Tout sélectionner

for pkg in $(pacman -r /mnt -Qgq base)  ; do pactree -b /mnt/var/lib/pacman -u $pkg ; done | sort -u > /tmp/list-base-pkg.txt
pacstrap /mnt $(cat /tmp/list-base-pkg.txt | grep -v lib32)
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
neoxen
Daikyu
Messages : 62
Inscription : sam. 30 avr. 2011, 10:34

Re: [RESCUE CHROOT] ailed to run command ‘/bin/bash’

Message par neoxen »

Merci de vos réponse :)

la commande me répond qu'il ne trouve pas pacman
je pense que la version rescue de OVh ne comporte pas pacman (mais je peux me tromper)

Code : Tout sélectionner

bash: pacman: command not found
bash: pacstrap: command not found
Avatar de l’utilisateur
Xorg
Maître du Kyudo
Messages : 1933
Inscription : dim. 22 janv. 2012, 19:25
Localisation : Entre le clavier et la chaise.

Re: [RESCUE CHROOT] failed to run command ‘/bin/bash’

Message par Xorg »

Le rescue d'OVH ne semble pas être une Arch Linux, et vu que tu as accès à Bash je n'ai pas l'impression que tu sois dans une BusyBox.
Tu peux voir de quelle distro il s'agit en regardant le fichier /etc/os-release.

Tu as pensé à exécuter un fsck avant de monter les partitions ? Car un redémarrage brutal après l'installation de mises à jour, ça fait souvent des dégâts sur les systèmes de fichiers.
Je ne vois pas non plus pourquoi le chroot ne fonctionne pas. Essaye ce que propose FoolEcho. :?
Arch Linux x86_64 - Sway
AMD Ryzen 5 3600X - 32 Go de DDR4 - SSD NVMe 1 To + SSD SATA 250 Go - Sapphire NITRO+ Radeon RX 580
Image AUR___Image Wiki___Image GitHub
neoxen
Daikyu
Messages : 62
Inscription : sam. 30 avr. 2011, 10:34

Re: [RESCUE CHROOT] failed to run command ‘/bin/bash’

Message par neoxen »

Je viens de suivre ton conseil en utilisant la commande fsck. Apparament tout semble correct

Code : Tout sélectionner

root@rescue:/# fsck /dev/sda1
fsck from util-linux 2.25.2
e2fsck 1.42.12 (29-Aug-2014)
/: clean, 106183/655360 files, 1895186/2621440 blocks
root@rescue:/# fsck /dev/sda2
fsck from util-linux 2.25.2
e2fsck 1.42.12 (29-Aug-2014)
/home: clean, 198831/121413632 files, 10135809/485624576 blocks
root@rescue:/# 
j'ai essayer d'executer la commande de foolEcho : chroot /mnt
Mais c'est la même erreur que précédement.

Par contre, après la mise à jour du système , mes binaire n'étais plus disponible ( ls, vim, zsh, bash etc ..) rien ne fonctionnais. ça ne serais pas du a un soucis d'installation ?
C'est possible de réinstaller proprement les packages ?

(au passage je viens de vérifier, ma console de rescue et une debian avec aptitude XD, donc c'est mort pour pacman)
Avatar de l’utilisateur
Xorg
Maître du Kyudo
Messages : 1933
Inscription : dim. 22 janv. 2012, 19:25
Localisation : Entre le clavier et la chaise.

Re: [RESCUE CHROOT] failed to run command ‘/bin/bash’

Message par Xorg »

On dirait qu'il y a un soucis avec une bibliothèque dynamique qu'utilise Bash. Tu peux nous donner la sortie de cette commande :

Code : Tout sélectionner

for i in $(ldd /mnt/usr/bin/bash | cut -d' ' -f1); do find /mnt/usr/lib -name $i; done
Ce n'est pas très raffiné comme commande, l'erreur à propos de /lib64/ld-linux-x86-64.so.2 est normale. S'il y en a d'autres, là on aura une piste.
Arch Linux x86_64 - Sway
AMD Ryzen 5 3600X - 32 Go de DDR4 - SSD NVMe 1 To + SSD SATA 250 Go - Sapphire NITRO+ Radeon RX 580
Image AUR___Image Wiki___Image GitHub
neoxen
Daikyu
Messages : 62
Inscription : sam. 30 avr. 2011, 10:34

Re: [RESCUE CHROOT] failed to run command ‘/bin/bash’

Message par neoxen »

Voila le retour de la commande

Code : Tout sélectionner

root@rescue:~# for i in $(ldd /mnt/usr/bin/bash | cut -d' ' -f1); do find /mnt/usr/lib -name $i; done
/mnt/usr/lib/libreadline.so.7
/mnt/usr/lib/libdl.so.2
/mnt/usr/lib/libc.so.6
find: warning: Unix filenames usually don't contain slashes (though pathnames do).  That means that '-name `/lib64/ld-linux-x86-64.so.2'' will probably evaluate to false all the time on this system.  You might find the '-wholename' test more useful, or perhaps '-samefile'.  Alternatively, if you are using GNU grep, you could use 'find ... -print0 | grep -FzZ `/lib64/ld-linux-x86-64.so.2''.

avi3000
Chu Ko Nu
Messages : 404
Inscription : dim. 19 juin 2011, 18:53
Localisation : dans le neuf trois

Re: [RESCUE CHROOT] failed to run command ‘/bin/bash’

Message par avi3000 »

Bonsoir,

Vérifie le lien /mnt/bin => usr/bin ( vu tes messages précédents il devrait être bon)

Avant de lancer un chroot, vérifie ton path.
si /usr/bin n'est pas dans le path, l'ajouter : export PATH=$PATH:/usr/bin

essaye des commandes simples dans le chroot :
chroot /mnt /usr/bin/which touch
chroot /mnt touch /tmp/toto
chroot /mnt echo 'zzzzz'
chroot /mnt cat /etc/fstab

avec ces exemples which, touch, cat et echo doivent exister dans /mnt/usr/bin.
Si aucune ne fonctionne, tu es très mal.
neoxen
Daikyu
Messages : 62
Inscription : sam. 30 avr. 2011, 10:34

Re: [RESCUE CHROOT] failed to run command ‘/bin/bash’

Message par neoxen »

Bonjour avi300,

J'ai essayer les commande que tu ma écrite mais rien ne semble fonctionner.
Le dossier /bin et /usr/bin existe , le dossier /mnt/bin n'existe pas, mais le dossier /mnt/usr/bin existe

un echo $PATH me retourne ceci :

Code : Tout sélectionner

root@rescue:/usr/bin# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin
et voici le retour de chacune de tes commande :

Code : Tout sélectionner

root@rescue:/usr/bin#  chroot /mnt /usr/bin/which touch
chroot: failed to run command ‘/usr/bin/which’: No such file or directory
root@rescue:/usr/bin#  chroot /mnt touch /tmp/toto
chroot: failed to run command ‘touch’: No such file or directory
root@rescue:/usr/bin#  chroot /mnt echo 'zzzzz'
chroot: failed to run command ‘echo’: No such file or directory
root@rescue:/usr/bin#  chroot /mnt cat /etc/fstab
chroot: failed to run command ‘cat’: No such file or directory
avi3000
Chu Ko Nu
Messages : 404
Inscription : dim. 19 juin 2011, 18:53
Localisation : dans le neuf trois

Re: [RESCUE CHROOT] failed to run command ‘/bin/bash’

Message par avi3000 »

neoxen a écrit : jeu. 01 févr. 2018, 08:43 le dossier /mnt/bin n'existe pas.
Ce n'est pas un dossier, c'est un lien symbolique qui pointe vers usr/bin. /bin appartient au paquet filesystem et fait partie de l'installation standard d'archlinux.
tu peux le créer manuellement ( ln -s /mnt/bin usr/bin), mais je doute que ça suffise car ton système est apparemment bien cassé.

vérifie également les liens /mnt/lib, /mnt/lib64, /mnt/sbin
neoxen
Daikyu
Messages : 62
Inscription : sam. 30 avr. 2011, 10:34

Re: [RESCUE CHROOT] failed to run command ‘/bin/bash’

Message par neoxen »

les 3 liens /mnt/lib , /mnt/lib64 et /mnt/sbin n'existe pas apparament :s
j'ai essayer ta commande ln-s /mnt/bin usr/bin mais vu que mon lien /mnt/bin n'existe pas, le lien n'a pas voulu se créer. j'ai donc fait un ln -s /mnt/usr/bin /mnt/bin.

Je crois que je vais être bon pour une reinstalation complete :s
avi3000
Chu Ko Nu
Messages : 404
Inscription : dim. 19 juin 2011, 18:53
Localisation : dans le neuf trois

Re: [RESCUE CHROOT] failed to run command ‘/bin/bash’

Message par avi3000 »

neoxen a écrit : ven. 02 févr. 2018, 08:52 l'ai essayer ta commande ln-s /mnt/bin usr/bin mais vu que mon lien /mnt/bin n'existe pas, le lien n'a pas voulu se créer. j'ai donc fait un ln -s /mnt/usr/bin /mnt/bin.
Erreur de ma part, j'ai inversé la commande !!.

Code : Tout sélectionner

cd /mnt
ln -s usr/bin
ln -s usr/lib
ln -s usr/lib lib64
Mais le mieux, c'est de décompresser l'archive filesystem à la racine de /mnt.
Si c'est le seul paquet cassé, ton système fonctionnera.
neoxen
Daikyu
Messages : 62
Inscription : sam. 30 avr. 2011, 10:34

Re: [RESCUE CHROOT] failed to run command ‘/bin/bash’

Message par neoxen »

Merci pour ta réponse avi3000

J'ai décompresser l'archive du filesystem dans mon dossier /mnt et le chroot fonctionne a merveille :).
je vais pouvoir identifier l'origine su problème maintenant :)
Merci à tous pour votre aide :)
Répondre