Error while loading shared library
Fermé
blueboy44
Messages postés
18
Date d'inscription
lundi 9 décembre 2013
Statut
Membre
Dernière intervention
9 mai 2015
-
Modifié par blueboy44 le 18/04/2015 à 16:45
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 - 29 mai 2015 à 22:09
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 - 29 mai 2015 à 22:09
A voir également:
- Error while loading shared library
- R4 bloqué sur loading ✓ - Forum Jeux vidéo
- Eespt technical error ✓ - Forum TNT / Satellite / Réception
- Network error iptv - Forum Réseaux sociaux
- An error occurred while unpacking unable to write data to disk unarc.dll returned an error code 11 ✓ - Forum Jeux PC
- Fan error lenovo - Forum Refroidissement
6 réponses
mamiemando
Messages postés
33268
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 septembre 2024
7 781
19 avril 2015 à 22:31
19 avril 2015 à 22:31
Tu as supprimée une librairie essentielle au bon fonctionnement de ton système. Il suffit pour réparer la panne de démarrer sur un live CD ou un live USB. Puis une fois chrooté comme expliqué ici (voir cas d'étude 2):
https://www.mistra.fr/tutoriel-linux-configurer-boot-loader-grub-lilo.html
... il faut (au lieu de réinstaller grub), réinstaller le bon paquet.
Indique nous ta distribution linux pour plus de précision. Par exemple on retrouverait le nom du paquet via
Exemple :
.. ce qui donnerait par exemple :
On voit ici quil faut donc réinstaller le paquet libc6 :
Puis on quitte le chroot proprement et on redémarre...
Bonne chance
https://www.mistra.fr/tutoriel-linux-configurer-boot-loader-grub-lilo.html
... il faut (au lieu de réinstaller grub), réinstaller le bon paquet.
Indique nous ta distribution linux pour plus de précision. Par exemple on retrouverait le nom du paquet via
apt-file, puis on l'installerait via
apt-getou
aptitude... Tout ce qui suit serait ce qu'on lancerait sous debian dans l'environnement chrooté.
Exemple :
apt-get install apt-file
apt-file update
apt-file search
.. ce qui donnerait par exemple :
(mando@velvet) (~) $ apt-file search libpthread.so
libc6: /lib/x86_64-linux-gnu/libpthread.so.0
libc6-dev: /usr/lib/x86_64-linux-gnu/libpthread.so
libc6-dev-i386: /usr/lib32/libpthread.so
libc6-dev-x32: /usr/libx32/libpthread.so
libc6-i386: /lib32/libpthread.so.0
libc6-x32: /libx32/libpthread.so.0
On voit ici quil faut donc réinstaller le paquet libc6 :
apt-get update
apt-get install libc6
Puis on quitte le chroot proprement et on redémarre...
Bonne chance
blueboy44
Messages postés
18
Date d'inscription
lundi 9 décembre 2013
Statut
Membre
Dernière intervention
9 mai 2015
23 avril 2015 à 20:33
23 avril 2015 à 20:33
J'ai essayé d'abord avec boot repair mais ça n'a rien changé.
Et avec le tuto de Cas d'étude n°2 ça me donne ça:
Et avec le tuto de Cas d'étude n°2 ça me donne ça:
ubuntu@ubuntu:~$ mkdir -p /mnt/linux
mkdir: cannot create directory `/mnt/linux': Permission denied
ubuntu@ubuntu:~$ sudo mkdir -p /mnt/linux
ubuntu@ubuntu:~$ sudo mount -t ext3 /dev/sda1 /mnt/linux
mount: wrong fs type, bad option, bad superblock on /dev/sda1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
ubuntu@ubuntu:~$ sudo mount -o bind /dev /mnt/linux/dev
mount: mount point /mnt/linux/dev does not exist
ubuntu@ubuntu:~$
mamiemando
Messages postés
33268
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 septembre 2024
7 781
23 avril 2015 à 21:40
23 avril 2015 à 21:40
Omets l'option
Bonne chance
-t ext3, il y a des chances que tu sois en ext4 (donc il faudrait mettre -t ext4, mais en pratique tu peux la sous-entendre).
mkdir -p /mnt/linux
mount /dev/sda1 /mnt/linux # si /dev/sda1 correspond à la partition /
Bonne chance
blueboy44
Messages postés
18
Date d'inscription
lundi 9 décembre 2013
Statut
Membre
Dernière intervention
9 mai 2015
24 avril 2015 à 11:31
24 avril 2015 à 11:31
Ca donne ca
ubuntu@ubuntu:~$ sudo mkdir -p /mnt/linux
ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt/linux
ubuntu@ubuntu:~$ sudo mount -o bind /dev /mnt/linux/dev
ubuntu@ubuntu:~$ sudo chroot /mnt/linux
groups: cannot find name for group ID 0
I have no name!@ubuntu:/#
blueboy44
Messages postés
18
Date d'inscription
lundi 9 décembre 2013
Statut
Membre
Dernière intervention
9 mai 2015
26 avril 2015 à 00:00
26 avril 2015 à 00:00
J'ai fait des recherches mais je ne trouve rien, je ne sais vraiment pas quoi faire.
mamiemando
Messages postés
33268
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 septembre 2024
7 781
26 avril 2015 à 23:22
26 avril 2015 à 23:22
Avant te faire ton chroot active le compte root.
http://doc.ubuntu-fr.org/root#comment_utiliser_le_vrai_compte_root_je_prefere_ca_a_sudo
Passe en root :
Puis retente le chroot.
Bonne chance
http://doc.ubuntu-fr.org/root#comment_utiliser_le_vrai_compte_root_je_prefere_ca_a_sudo
Passe en root :
su -
Puis retente le chroot.
Bonne chance
blueboy44
Messages postés
18
Date d'inscription
lundi 9 décembre 2013
Statut
Membre
Dernière intervention
9 mai 2015
Modifié par mamiemando le 28/04/2015 à 08:43
Modifié par mamiemando le 28/04/2015 à 08:43
Ok merci.
J'en suis là:
J'en suis là:
ubuntu@ubuntu:~$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
ubuntu@ubuntu:~$ su
Password:
root@ubuntu:/home/ubuntu# mkdir -p /mnt/linux
root@ubuntu:/home/ubuntu# mount -t ext4 /dev/sda1 /mnt/linux
root@ubuntu:/home/ubuntu# mount -o bind /dev /mnt/linux/dev
root@ubuntu:/home/ubuntu# chroot /mnt/linux
groups: impossible de trouver le nom du groupe avec l'ID 0
Je n'ai pas de nom !@ubuntu:/#
mamiemando
Messages postés
33268
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 septembre 2024
7 781
Modifié par mamiemando le 28/04/2015 à 08:57
Modifié par mamiemando le 28/04/2015 à 08:57
Méthode avec chroot
Ah pardon, c'est après le chroot qu'il faut créer le compte root. En gros depuis là où tu en es, tu ignores le message d'erreur, et tu tapes :
Tu appuies sur ctrl d pour quitter le chroot. Maintenant je pense que tu auras besoin sans doute de monter /proc et /sys (tu peux faire de même que pour /dev) :
Puis une fois que c'est fini tu quittes ton chroot (ctrl d) et tu démontes tout proprement
Méthode sans chroot
Si le apt-get n'a pas marché (c'est possible car il est probable qu'apt-get requiert lui aussi libc6) : récupèrre le paquet libc6 et ses éventuelles dépendances (en pratique il n'y en a pas) en dehors du chroot.
Ensuite il faut déployer le(s) paquet(s) que tu as récupéré, mais pas dans /mnt/linux en lançant la commande (attention la mise en forme a tronqué
Bonne chance
Ah pardon, c'est après le chroot qu'il faut créer le compte root. En gros depuis là où tu en es, tu ignores le message d'erreur, et tu tapes :
Je n'ai pas de nom !@ubuntu:/# sudo passwd root
Tu appuies sur ctrl d pour quitter le chroot. Maintenant je pense que tu auras besoin sans doute de monter /proc et /sys (tu peux faire de même que pour /dev) :
mount -o bind /dev /mnt/linux/dev
mount -o bind /proc /mnt/linux/proc
mount -o bind /sys /mnt/linux/sys
chroot /mnt/linux
apt-get install libc6
Puis une fois que c'est fini tu quittes ton chroot (ctrl d) et tu démontes tout proprement
umount /mnt/linux/sys
umount /mnt/linux/proc
umount /mnt/linux/dev
Méthode sans chroot
Si le apt-get n'a pas marché (c'est possible car il est probable qu'apt-get requiert lui aussi libc6) : récupèrre le paquet libc6 et ses éventuelles dépendances (en pratique il n'y en a pas) en dehors du chroot.
apt-get download libc6
Ensuite il faut déployer le(s) paquet(s) que tu as récupéré, mais pas dans /mnt/linux en lançant la commande (attention la mise en forme a tronqué
--admindirdans la ligne qui suit).
dpkg -i /var/cache/apt/archives/libc6*deb --instdir /mnt/linux --admindir /mnt/linux/var/lib/dpkg
Bonne chance
blueboy44
Messages postés
18
Date d'inscription
lundi 9 décembre 2013
Statut
Membre
Dernière intervention
9 mai 2015
29 avril 2015 à 10:08
29 avril 2015 à 10:08
Y'a un truc que j'ai mal fait ?
ubuntu@ubuntu:~$ sudo mkdir -p /mnt/linux
ubuntu@ubuntu:~$ sudo mount -t ext4 /dev/sda1 /mnt/linux
ubuntu@ubuntu:~$ sudo mount -o bind /dev /mnt/linux/dev
ubuntu@ubuntu:~$ sudo chroot /mnt/linux
groups: impossible de trouver le nom du groupe avec l'ID 0
Je n'ai pas de nom !@ubuntu:/# sudo passwd root
sudo: unknown uid: 0
Je n'ai pas de nom !@ubuntu:/# exit
ubuntu@ubuntu:~$ sudo mount -o bind /dev /mnt/linux/dev
ubuntu@ubuntu:~$ sudo mount -o bind /proc /mnt/linux/proc
ubuntu@ubuntu:~$ sudo mount -o bind /sys /mnt/linux/sys
ubuntu@ubuntu:~$ sudo chroot /mnt/linux
groups: impossible de trouver le nom du groupe avec l'ID 0
Je n'ai pas de nom !@ubuntu:/#
mamiemando
Messages postés
33268
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 septembre 2024
7 781
29 avril 2015 à 22:05
29 avril 2015 à 22:05
Non rien de mal, c'est juste que dans /etc/group (ou plutôt /mnt/linux/etc/group) tu n'as pas de groupe qui correspond au GID égal à 0. C'est une spécificité ubuntu. Par exemple sous debian tu aurais :
Au pire si tu veux vraiment faire un chroot tu rajoutes cette ligne au début de ce fichier et je pense que ça devrait aller. Quoi qu'il en soit je pense qu'il faudra faire la méthode sans chroot, car tu vas utiliser apt dans /mnt/linux qui repose sur la libc de ce disque dur (et qui est cassée) donc ça risque de ne pas marcher.
C'est pourquoi dans mon précédent message je t'ai indiqué la seconde méthode.
Bonne chance
(mando@velvet) (~) $ grep :0: /etc/group
root:x:0:
Au pire si tu veux vraiment faire un chroot tu rajoutes cette ligne au début de ce fichier et je pense que ça devrait aller. Quoi qu'il en soit je pense qu'il faudra faire la méthode sans chroot, car tu vas utiliser apt dans /mnt/linux qui repose sur la libc de ce disque dur (et qui est cassée) donc ça risque de ne pas marcher.
C'est pourquoi dans mon précédent message je t'ai indiqué la seconde méthode.
Bonne chance
blueboy44
Messages postés
18
Date d'inscription
lundi 9 décembre 2013
Statut
Membre
Dernière intervention
9 mai 2015
30 avril 2015 à 12:00
30 avril 2015 à 12:00
Avec la méthode sans chroot ça dit ça:
ubuntu@ubuntu:~$ apt-get download libc6
E: FindIndex failed
ubuntu@ubuntu:~$
blueboy44
Messages postés
18
Date d'inscription
lundi 9 décembre 2013
Statut
Membre
Dernière intervention
9 mai 2015
30 avril 2015 à 19:06
30 avril 2015 à 19:06
Ou ça:
Je n'ai pas de nom !@ubuntu:/# apt-get install libc6
apt-get: error while loading shared libraries: /lib/tls/i686/cmov/libm.so.6: invalid ELF header
Je n'ai pas de nom !@ubuntu:/#
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mamiemando
Messages postés
33268
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 septembre 2024
7 781
Modifié par mamiemando le 1/05/2015 à 16:12
Modifié par mamiemando le 1/05/2015 à 16:12
Ok donc l'erreur que tu as dans le chroot me laisse penser qu'on y arrivera pas comme ça. Il va falloir fonctionner en dehors et donc il faut faire marcher apt à l'extérieur.
Je viens de regarder le paquet libc6 d'ubuntu et en gros les dépendances sont un peu compliquées (contrairement à debian), donc avec dpkg ça va être compliqué. J'ai regardé apt-get et aptitude et ils ne sont pas vraiment prévus pour fonctionner pour une arborescence tierce. Il y a sans doute moyen de faire des choses avec debootstrap mais je pense qu'on risque surtout de faire plus de mal que de bien.
Je te propose donc d'adopter une solution plus simple et moins risquées, car en gros casser sa libc c'est quand même le meilleur moyen de tuer un linux. Puisque visiblement tu arrives à accéder à tes partitions récupères tes documents importants et sauve les sur un support tiers (clé USB, CD...), puis réinstalle ubuntu. Les réinstallations ubuntu sont sensées préserver /home mais on n'est jamais trop prudent.
Optionnel (partie 1)
Tu peux en profiter pour sauver la liste des paquets que tu as installé en sauvant cela dans deux fichiers (que tu réutiliseras une fois l'installation terminée).
https://askubuntu.com/questions/101931/restoring-all-data-and-dependencies-from-dpkg-set-selections
Dans le chroot :
Sauve ces deux fichiers aussi sur ton support tiers. Vérifie en outre que pkg_manuals.lst contient la liste des paquets que tu as installé manuellement (ou durant ta précédente installation d'ubuntu).
Réinstallation
Suit les indications ici :
http://doc.ubuntu-fr.org/reinstallation_ubuntu
Optionnel (partie 2)
Une fois que tu as réinstallé ton système, démarre dessus, copie tes documents si besoins et les fichiers pkgs_* que nous venons de générer dans ton dossier personnel (par exemple /home/toto)
Bonne chance
Je viens de regarder le paquet libc6 d'ubuntu et en gros les dépendances sont un peu compliquées (contrairement à debian), donc avec dpkg ça va être compliqué. J'ai regardé apt-get et aptitude et ils ne sont pas vraiment prévus pour fonctionner pour une arborescence tierce. Il y a sans doute moyen de faire des choses avec debootstrap mais je pense qu'on risque surtout de faire plus de mal que de bien.
Je te propose donc d'adopter une solution plus simple et moins risquées, car en gros casser sa libc c'est quand même le meilleur moyen de tuer un linux. Puisque visiblement tu arrives à accéder à tes partitions récupères tes documents importants et sauve les sur un support tiers (clé USB, CD...), puis réinstalle ubuntu. Les réinstallations ubuntu sont sensées préserver /home mais on n'est jamais trop prudent.
Optionnel (partie 1)
Tu peux en profiter pour sauver la liste des paquets que tu as installé en sauvant cela dans deux fichiers (que tu réutiliseras une fois l'installation terminée).
https://askubuntu.com/questions/101931/restoring-all-data-and-dependencies-from-dpkg-set-selections
Dans le chroot :
apt-mark showauto > pkgs_auto.lst
apt-mark showmanual > pkgs_manual.lst
Sauve ces deux fichiers aussi sur ton support tiers. Vérifie en outre que pkg_manuals.lst contient la liste des paquets que tu as installé manuellement (ou durant ta précédente installation d'ubuntu).
Réinstallation
Suit les indications ici :
http://doc.ubuntu-fr.org/reinstallation_ubuntu
Optionnel (partie 2)
Une fois que tu as réinstallé ton système, démarre dessus, copie tes documents si besoins et les fichiers pkgs_* que nous venons de générer dans ton dossier personnel (par exemple /home/toto)
sudo apt-mark auto $(cat /home/toto/pkgs_auto.lst)
sudo apt-mark manual $(cat /home/toto/pkgs_manual.lst)
Bonne chance
blueboy44
Messages postés
18
Date d'inscription
lundi 9 décembre 2013
Statut
Membre
Dernière intervention
9 mai 2015
9 mai 2015 à 13:18
9 mai 2015 à 13:18
Ok, j'ai pris le relais apres le 1er message de blueboy. Là je suis sur mon pc ou je viens d'installer ubuntu 12 sur un autre disque. J'ai copié son dossier home sur une clé usb et maintenant je vais sauver la liste des paquets qu'il a installé mais je veux pas faire de conneries... Comment faire pour être sure de sauver les paquets installés sur le 2eme disque dur ?
mamiemando
Messages postés
33268
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 septembre 2024
7 781
11 mai 2015 à 08:47
11 mai 2015 à 08:47
Il faut copier les fichiers pkgs_*.lst sus-mentionnés sur le 2e disque dur. Ceci dit ce n'est pas "grave" si tu n'installes pas exactement les mêmes paquets, la seule chose qu'il est important de sauver ce sont surtout ses documents. Le reste, on peut toujours l'installer ultérieurement via la logithèque.
mamiemando
Messages postés
33268
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 septembre 2024
7 781
11 mai 2015 à 20:15
11 mai 2015 à 20:15
Pas compris la question mais en tout cas : tu peux tout à fait monter les partitions d'un système B depuis un système A en lançant les commandes
Plus de détails ici :
https://www.mistra.fr/tutoriel-linux-monter-peripherique.html
Bonne chance
mountappropriées.
Plus de détails ici :
https://www.mistra.fr/tutoriel-linux-monter-peripherique.html
Bonne chance
Oui comme avec le live cd pour travailler sur un hdd.
Je viens de trouver ça:
C'est de ça que je parle, je vais sur quoi pour sauver les paquets de l'installe du linux cassé du 2eme disque ? sda1 sdb2 ? Je connais pas linux et je veux être sûr de bien faire.
Je viens de trouver ça:
Le premier disque SCSI (selon l'identifiant SCSI) est nommé « /dev/sda ».
Le second disque SCSI (selon l'identifiant) est nommé « /dev/sdb »,
ainsi de suite.
C'est de ça que je parle, je vais sur quoi pour sauver les paquets de l'installe du linux cassé du 2eme disque ? sda1 sdb2 ? Je connais pas linux et je veux être sûr de bien faire.
Flachy Joe
Messages postés
2103
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
21 novembre 2023
260
29 mai 2015 à 22:09
29 mai 2015 à 22:09
Le problème de l'ID0 dans le chroot viens du fait qu'il ne faut pas utiliser de sudo une fois chrooté puisque on est déjà en root !
23 avril 2015 à 19:06
C'est ubuntu 10 et j'ai un live cd d'ubuntu 12.