Bash: /bin/XXX Aucun fichier ... de ce type
Fermé
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
-
Modifié par chico200987 le 14/03/2011 à 15:43
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 15 mars 2011 à 19:52
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 15 mars 2011 à 19:52
A voir également:
- Xxx bin
- Bingo bash free - Télécharger - Divers Jeux
- Retour à la ligne bash ✓ - Forum Shell
- Bash écrire dans un fichier - Forum Shell
- Bash addition ✓ - Forum Shell
- [Bash]Impossible de faire une simple addition - Forum Shell
4 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
14 mars 2011 à 15:34
14 mars 2011 à 15:34
Salut,
donc je reviens a mon etat initial, je supprime ld-linux.so.2 et la... c'est le DRAME !
Comment t-y es-tu pris pour supprimer ton fichier ? Quelle commande as-tu tapée ?
donc je reviens a mon etat initial, je supprime ld-linux.so.2 et la... c'est le DRAME !
Comment t-y es-tu pris pour supprimer ton fichier ? Quelle commande as-tu tapée ?
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
14 mars 2011 à 15:14
14 mars 2011 à 15:14
Je ne comprends pas trop à quel moment tu es obligé de créer des liens symbolique et pourquoi tu vas charcuter les liens dans /lib ou /usr/lib, tu n'es jamais sensé le faire. Tu le fais "au pire" avec ldconfig et si tu travailles avec des paquets, le paquet le fait pour toi.
Pour que /bin/ls soit absent c'est assez inquiétant, car ça laisse penser que tu as flingué le binaire associé à cette commande. Or celle-ci fait partie d'un paquet fondamentale donc ça fleure la fausse manipulation.
Que dis :
Quelle distribution utilises-tu ?
Que cherches-tu à faire ?
Bonne chance
Pour que /bin/ls soit absent c'est assez inquiétant, car ça laisse penser que tu as flingué le binaire associé à cette commande. Or celle-ci fait partie d'un paquet fondamentale donc ça fleure la fausse manipulation.
Que dis :
ls -l /bin/ls
Quelle distribution utilises-tu ?
Que cherches-tu à faire ?
Bonne chance
chico200987
Messages postés
791
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
30 juillet 2018
143
14 mars 2011 à 15:31
14 mars 2011 à 15:31
Merci pour vos reponses,
J'utilise Ubuntu 10.10 actuellement mais aussi Fedora 14.. j'essaie d'être le plus générique possible.
En fait ce n'est pas que ls qui ne marche pas mais toutes les commandes, que je fasse ls, uname, cp, mv, .... n'importe quelle commande elle me sort la même erreur..
En fait mon script propose une installation d'un module hors ligne et en ligne, le module est compilé avec des librairies dont il dépend. Pour le mode en ligne, aucun probleme avec des apt-get ou yum il installe ce qu'il lui faut..
En revanche pour le mode hors-ligne, je dois utiliser exactement les librairies qu'il a utilisé ou plutôt les liens symboliques qu'il a utilisé afin qu'il puisse s'exécuter..
La perte de la machine ce n'est pas un problème en fait la re-install est rapide, elle est toute fraiche il n'y avait rien du tout hormis mon script dessus, c'est plutôt pour mieux comprendre que je pose cette question
J'utilise Ubuntu 10.10 actuellement mais aussi Fedora 14.. j'essaie d'être le plus générique possible.
En fait ce n'est pas que ls qui ne marche pas mais toutes les commandes, que je fasse ls, uname, cp, mv, .... n'importe quelle commande elle me sort la même erreur..
En fait mon script propose une installation d'un module hors ligne et en ligne, le module est compilé avec des librairies dont il dépend. Pour le mode en ligne, aucun probleme avec des apt-get ou yum il installe ce qu'il lui faut..
En revanche pour le mode hors-ligne, je dois utiliser exactement les librairies qu'il a utilisé ou plutôt les liens symboliques qu'il a utilisé afin qu'il puisse s'exécuter..
La perte de la machine ce n'est pas un problème en fait la re-install est rapide, elle est toute fraiche il n'y avait rien du tout hormis mon script dessus, c'est plutôt pour mieux comprendre que je pose cette question
Modifié par chico200987 le 14/03/2011 à 15:41
A la main directement dans /lib (je sais c'est moche)
Etant dans /lib :
Sachant que juste avant je supprimais la lib vers lequel il pointait et que je venais de rajouter manuellement a savoir ld-2.13.so mais entre les deux commandes, les commandes marchaient encore..
Comme je venais de le créer manuellement et que ca marchait sans, je l'ai donc supprimé
14 mars 2011 à 21:34
Concrètement je pense que la plupart de tes binaires vont faire n'importe quoi à partir de maintenant. La seule solution est de redéployer le paquet qui fourni ld-linux.so.
Comme tu peux le voir c'est "juste" un composant de la libc ie l'un des paquets les plus importants sous linux puisque que toutes les commandes de bases sont codées en langage C ! Si tu lances aptitude en root et que tu te positionne sur le paquet libc6 il est en priorité "nécessaire" (autant dire la plus haute). Il est donc clair qu'il ne faut en aucun cas le dégager.
Si par miracle ton gestionnaire de paquets marche encore il est urgent de lancer les commandes :
Si ça ne marche pas (ce qui ne serait pas super surprenant), il faut réinstaller libc6 depuis un système tiers (par exemple un liveCD). Ensuite il faut récupérer le paquet .deb qui va bien par exemple ici :
Ensuite il faut monter la partition / du système cassé par exemple dans le répertoire /mnt/linux. Ce sera une commande du genre (en admettant que / soit sur /dev/sda1 et en ext3) :
Ensuite, il faut décompresser le paquet libc6 dans /mnt/linux. Ce sera un truc du genre :
Maintenant il faut rafraîchir l'édition de lien et réinstaller plus proprement libc6.
Enfin tu peux rebooter. Bon mais si ça marche on pourra dire que tu l'as échappé belle...
15 mars 2011 à 00:25
Mais pour le probleme, ce qui est "bizarre" est que, comme je le mentionnais aussi, ld-linux,so.2 c'est moi qui l'ait depose dans le dossier /lib, il n'existait pas avant..
Effectivement c'est un composant de la glibc ce qui est normal puisqu'en fait mon script l'install manuellement.. Je m'explique : Comme je suis en mode OFFLINE (donc pas d'acces au reseau Internet) les apt-get sont interdits.. j'installe donc moi même le packet glibc6 (j'ai une version embarquée compilée)..
C'est comme si, une fois que je deposais les fichiers dans le dossier lib, ils etaient devenus indispensables mais j'ai bien fait attention avant, apres l'installation d'Ubuntu aucun fichier ld-* n'existe dans le dossier /lib
J'avoue que Linux n'est pas ma tasse de thé apres l'avoir renié toute ma vie informatique je commence de plus ne plus à m'y intéresser, donc certaines philosophies peuvent m'échapper encore...
Merci encore pour ces éclaircissements :)
15 mars 2011 à 19:52
Tu n'es pas sensé charcuter /lib et ce d'aucune manière. Si le fichier que tu as déposé a été utilisé par exemple par ldconfig, typiquement après avoir installé un paquet ou fait une mise à jour... et bien il a pu être utilisé :s
j'installe donc moi même le packet glibc6 (j'ai une version embarquée compilée)..
Raison de plus : c'est ce paquet qui doit gérer ce qui se passe dans /lib, pas toi.
J'avoue que Linux n'est pas ma tasse de thé apres l'avoir renié toute ma vie informatique je commence de plus ne plus à m'y intéresser, donc certaines philosophies peuvent m'échapper encore...
C'est un excellent choix. Pour bien réussir sous linux il faut de la rigueur par contre. De manière général un administrateur ne devrait personnaliser que des fichiers dans /etc et ses propres documents dans /root. Un utilisateur ne devrait intervenir que sur son home directory (par exemple /home/toto). Les personnes qui administrent un serveur (par exemple apache, mysql...) peuvent avoir à manipuler certaines arborescences de /var.
Ailleurs, il ne faut pas toucher :-)
Pour les installations tu dois passer autant que possible par des paquets. Idem pour désinstaller. C'est rarissime d'utiliser une autre méthode.
Bonne chance