Problème avec /bin/bash (UBUNTU)

Bonjour,
alors voila, je viens de le remplacer malencontreusement et j'aimerais savoir ou le recupérer. (mon fichier bash situé normalement dans /bin)
J'ai essayé de l'enlever et de le remettre via apt mais il me renvoi une erreur avec dkmachin
Je suis pas un pro mais je veux juste récupérer mon fichier ^^

Désolé de mon imprécision mais je suis fatigué

18 réponses

Résumé de la discussion

La problématique concerne la récupération du fichier bash situé dans /bin après une suppression involontaire via apt-get remove et une tentative de réinstallation sur Ubuntu, lorsque le système tente de se rétablir. Des éléments évoquent une erreur de dpkg lors de la configuration post-installation et l'état partiellement installé où le paquet bash semble réinstaller sans correction efficace. Des échanges couvrent des vérifications sur Ubuntu 10.04 et des tentatives de réinstaller bash via apt, des propositions de remise d'un fichier /bin/bash potentiellement risquées, et des messages d'erreur liés au post-installation de dpkg. D'autres éléments soulignent que remplacer ou copier manuellement des binaires système peut introduire des incohérences et qu'une réinstallation propre du paquet via les dépôts officiels est généralement recommandée.

Bobot (l’IA à votre service)
  1. Modérateur
    Salut,

    Tu as Ubuntu?
    Si oui quelle version?
    1
    1. Modérateur
      Re,

      Je vais t'envoyer le /bin/bash et tu vas le copier dans /bin pour voir

      Comment t'as fait pour supprimer /bin/bash ?
      1
      1. Modérateur
        Salut,

        Donne le message d'erreur complet

        GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
        106485010510997108
        0
        1. Contributeur
          Ne peut-il pas juste aller dans un live-cd le récupérer ? C'est un binaire...
          0
        2. Modérateur
          Salut,

          Oui, je pense que c'est faisable.
          0
        3. sudo apt-get install bash
          Lecture des listes de paquets... Fait
          Construction de l'arbre des dépendances
          Lecture des informations d'état... Fait
          bash est déjà la plus récente version disponible.
          0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
          1 partiellement installés ou enlevés.
          Après cette opération, 0o d'espace disque supplémentaires seront utilisés.
          Paramétrage de bash (4.1-2ubuntu3) ...
          dpkg (sous-processus) : impossible d'exécuter script post-installation installé: Aucun fichier ou dossier de ce type
          dpkg : erreur de traitement de bash (--configure) :
          le sous-processus script post-installation installé a retourné une erreur de sortie d'état 2
          Des erreurs ont été rencontrées pendant l'exécution :
          bash
          E: Sub-process /usr/bin/dpkg returned an error code (1)

          Voici le message d'erreur, sachant que j'avais fait un apt-get remove peu de temps avant.
          0
      2. Oui j'ai Ubuntu, la derniere version 10.04
        0
        1. Modérateur
          Re,

          Affiche
          whereis bash
          0
          1. whereis bash 
            bash: /etc/bash.bashrc /usr/share/man/man1/bash.1.gz
            0
            1. Je l'ai remplacer -_-" par un autre fichier dont j'ai donné le meme nom
              0
              1. Un pauvre script qui me sert de terrain d'entrainement pour le bash. (J'essaie d'apprendre a le programmer)
                0
                1. Modérateur
                  Re,

                  Ben, la prochaine fois tu sauvegarde le fichier initial. Il faut apprendre les bons habitudes.
                  D'ailleurs pourquoi n'installes tu un OS avec VirtualBox, comme ça tu ne risque pas d'endommager ton système.
                  0
              2. J'y avait pas pensé, je vais me renseigner sur tout ca.
                J'ai un problème avec l'archive, quand je veux l'extraire ca me met un message d'erreur avec ca

                tar: This does not look like a tar archive
                tar: Skipping to next header
                tar: Exiting with failure status due to previous errors
                0
                1. Modérateur
                  Oui, c'est bizarre.

                  Fait d'abord gunzip fichier.tgz et tu obtiendras fichier.tar
                  Ensuite fait tar xf fichier.tar

                  J'aurais du faire un gzip tout simplement.
                  0
              3. :'(

                bash: /bin/gunzip : /bin/bash : mauvais interpréteur: Aucun fichier ou dossier de ce type

                La poisse, ya pas un autre moyen de l'extraire ?
                0
                1. Modérateur
                  Re,

                  Je vais t'envoyer un autre fichier.
                  Tu peux supprimer celui là
                  0
                2. Modérateur
                  Re,

                  Mais tu devrais m'afficher ici ce que tu tapes.
                  Je ne suis pas devant ta machine et j'aimerai voir ce que tu fais
                  0
                3. Ben la j'ai fait ce que tu m'as dit,
                  gunzip ihlPP2n833_bash.tgz

                  et il me renvoi
                  bash: /bin/gunzip : /bin/bash : mauvais interpréteur: Aucun fichier ou dossier de ce type
                  0
                4. Modérateur
                  Voici un autre lien
                  https://www.cjoint.com/?ihmgAqJLHv

                  Quand tu sauvegardes le fichier nomme le bash.gz
                  Ensuite tu le copie dans /bin
                  et tu fais gunzip /bin/bash.gz
                  0
                5. Le problème vient (je pense) du fait que gunzip est un script bash, et au début du script, le sha-bang renvoi a /bin/bash (que je n'ai plus).
                  Peut être que si je change de shell que j'extrait ton fichier et que remette bash ca marcherait non ?

                  J'ai suivi tes instructions et a la fin j'obtient

                  sudo: unable to execute /bin/gunzip: Aucun fichier ou dossier de ce type
                  0
              4. Bon ca y est grace a toi, j'ai a nouveau mon shell qui est /bin/bash. (je viens de faire une echo $SHELL)
                0
                1. Par contre, j'aimerais savoir comment je peux acceder a un fichier tel que bash via mon liveCD (que j'ai sous la main) car apparement j'ai un soucis avec dpkg alors autant le remplacer
                  0
                2. Modérateur
                  Re,

                  Ben tu démarres ton cd live
                  Et le fichier bash ce trouvera dans /bin/bash
                  Mais attention la racine de CD Live est virtuelle il faudra que tu montes ta racine dans le cd live pour copier le fichier

                  Affiche le résultat de sudo rdev
                  0
                3.  sudo rdev
                  /dev/sdb1 /
                  0
                4. Modérateur
                  Re,

                  Donc quand tu démarres avec le cd live, tu ouvre une console et tu tapes
                  sudo mkdir /mnt/sdb1
                  sudo mount /dev/sdb1 /mnt/sdb1
                  

                  Ensuite tu peux copier par exemple

                  sudo cp -v /bin/fichier /mnt/sdb1/bin


                  / - c'est la racine de ton cd live
                  /mnt/sdb1 contient la racine de ton vrai système

                  Tu as compris?
                  0
                5. AH, redémarrer complétement l'ordi ^^, je poensais pouvoir y avoir accès depuis ma session.
                  J'ai un téléchargement important en cours, j'essaierais après de manipuler un peu toussa =)
                  Au passage vu que tu a l'air de t'y connaitre, saurais tu m'expliquer la signification de tout ca

                  (Lecture de la base de données... 153585 fichiers et répertoires déjà installés.)
                  Préparation du remplacement de bash 4.1-2ubuntu3 (en utilisant .../bash_4.1-2ubuntu3_i386.deb) ...
                  dpkg (sous-processus) : impossible d'exécuter ancien script pre-removal: Permission non accordée
                  dpkg : avertissement : ancien script pre-removal a retourné une erreur de sortie d'état 2
                  dpkg - tentative d'exécution du script du nouveau paquet à la place ...
                  dpkg (sous-processus) : impossible d'exécuter nouveau script pre-removal: Permission non accordée
                  dpkg : erreur de traitement de /var/cache/apt/archives/bash_4.1-2ubuntu3_i386.deb (--unpack) :
                   le sous-processus nouveau script pre-removal a retourné une erreur de sortie d'état 2
                  dpkg (sous-processus) : impossible d'exécuter script post-installation installé: Permission non accordée
                  dpkg : erreur lors du nettoyage :
                   le sous-processus script post-installation installé a retourné une erreur de sortie d'état 2
                  Des erreurs ont été rencontrées pendant l'exécution :
                   /var/cache/apt/archives/bash_4.1-2ubuntu3_i386.deb
                  E: Sub-process /usr/bin/dpkg returned an error code (1)
                  $ 
                  


                  En sachant que c'est un message d'erreur du a un
                  sudo apt-get install blender

                  et que bash_4.1-2ubuntu3_i386.deb est un fichier que j'ai télécharger hier soir pensant qu'il contenait mon /bin/bash et que bash_4.1-2ubuntu3_i386.deb n'est plus sur mon disque puisque je l'ai supprimé de son répertoire a savoir ~/Téléchargement et de /var/cache/apt/archives/
                  0
              5. J'ai essayé un
                sudo aptitude reinstall bash

                Puis a tout hasard un
                sudo aptitude reinstall dpkg

                Dans les deux cas, le début est concluant mais la suite reviens toujours au même, je post une copie de mon terminal avec ces deux commandes dans un commentaire puisque je crois qu'on peut les masquer ca évitera de flooder la page !
                0
                1. $ sudo aptitude reinstall bash
                  [sudo] password for cynokine85:
                  Lecture des listes de paquets... Fait
                  Construction de l'arbre des dépendances
                  Lecture des informations d'état... Fait
                  Lecture de l'information d'état étendu
                  Initialisation de l'état des paquets... Fait
                  Les paquets suivants seront RÉINSTALLÉS :
                  bash
                  0 paquets mis à jour, 0 nouvellement installés, 1 réinstallés, 0 à enlever et 2 non mis à jour.
                  Il est nécessaire de télécharger 0o/646ko d'archives. Après dépaquetage, 0o seront utilisés.
                  Écriture de l'information d'état étendu... Fait
                  (Lecture de la base de données... 153585 fichiers et répertoires déjà installés.)
                  Préparation du remplacement de bash 4.1-2ubuntu3 (en utilisant .../bash_4.1-2ubuntu3_i386.deb) ...
                  dpkg (sous-processus) : impossible d'exécuter ancien script pre-removal: Permission non accordée
                  dpkg : avertissement : ancien script pre-removal a retourné une erreur de sortie d'état 2
                  dpkg - tentative d'exécution du script du nouveau paquet à la place ...
                  dpkg (sous-processus) : impossible d'exécuter nouveau script pre-removal: Permission non accordée
                  dpkg : erreur de traitement de /var/cache/apt/archives/bash_4.1-2ubuntu3_i386.deb (--unpack) :
                  le sous-processus nouveau script pre-removal a retourné une erreur de sortie d'état 2
                  dpkg (sous-processus) : impossible d'exécuter script post-installation installé: Permission non accordée
                  dpkg : erreur lors du nettoyage :
                  le sous-processus script post-installation installé a retourné une erreur de sortie d'état 2
                  Des erreurs ont été rencontrées pendant l'exécution :
                  /var/cache/apt/archives/bash_4.1-2ubuntu3_i386.deb
                  E: Sub-process /usr/bin/dpkg returned an error code (1)
                  Échec de l'installation d'un paquet. Tentative de réparation :
                  dpkg : erreur de traitement de bash (--configure) :
                  Le paquet est dans un état vraiment incohérent - vous devriez
                  le réinstaller avant de tenter de le configurer.
                  Des erreurs ont été rencontrées pendant l'exécution :
                  bash
                  Lecture des listes de paquets... Fait
                  Construction de l'arbre des dépendances
                  Lecture des informations d'état... Fait
                  Lecture de l'information d'état étendu
                  Initialisation de l'état des paquets... Fait

                  $ sudo aptitude reinstall dpkg
                  Lecture des listes de paquets... Fait
                  Construction de l'arbre des dépendances
                  Lecture des informations d'état... Fait
                  Lecture de l'information d'état étendu
                  Initialisation de l'état des paquets... Fait
                  Les paquets suivants seront RÉINSTALLÉS :
                  dpkg
                  Les paquets partiellement installés suivants seront configurés :
                  bash
                  0 paquets mis à jour, 0 nouvellement installés, 1 réinstallés, 0 à enlever et 2 non mis à jour.
                  Il est nécessaire de télécharger 2 191ko/2 838ko d'archives. Après dépaquetage, 0o seront utilisés.
                  Écriture de l'information d'état étendu... Fait
                  Prendre :1 http://fr.archive.ubuntu.com/ubuntu/ lucid-updates/main dpkg 1.15.5.6ubuntu4.1 [2 191kB]
                  2 191ko téléchargés en 3s (677ko/s)
                  (Lecture de la base de données... 153585 fichiers et répertoires déjà installés.)
                  Préparation du remplacement de bash 4.1-2ubuntu3 (en utilisant .../bash_4.1-2ubuntu3_i386.deb) ...
                  dpkg (sous-processus) : impossible d'exécuter ancien script pre-removal: Permission non accordée
                  dpkg : avertissement : ancien script pre-removal a retourné une erreur de sortie d'état 2
                  dpkg - tentative d'exécution du script du nouveau paquet à la place ...
                  dpkg (sous-processus) : impossible d'exécuter nouveau script pre-removal: Permission non accordée
                  dpkg : erreur de traitement de /var/cache/apt/archives/bash_4.1-2ubuntu3_i386.deb (--unpack) :
                  le sous-processus nouveau script pre-removal a retourné une erreur de sortie d'état 2
                  dpkg (sous-processus) : impossible d'exécuter script post-installation installé: Permission non accordée
                  dpkg : erreur lors du nettoyage :
                  le sous-processus script post-installation installé a retourné une erreur de sortie d'état 2
                  Des erreurs ont été rencontrées pendant l'exécution :
                  /var/cache/apt/archives/bash_4.1-2ubuntu3_i386.deb
                  E: Sub-process /usr/bin/dpkg returned an error code (1)
                  Échec de l'installation d'un paquet. Tentative de réparation :
                  dpkg : erreur de traitement de bash (--configure) :
                  Le paquet est dans un état vraiment incohérent - vous devriez
                  le réinstaller avant de tenter de le configurer.
                  Des erreurs ont été rencontrées pendant l'exécution :
                  bash
                  Lecture des listes de paquets... Fait
                  Construction de l'arbre des dépendances
                  Lecture des informations d'état... Fait
                  Lecture de l'information d'état étendu
                  Initialisation de l'état des paquets... Fait

                  $
                  0
                2. Modérateur
                  Re,
                  sudo aptitude -f install
                  0
              6. La je comprends plus rien :O
                $ sudo aptitude reinstall bash
                [sudo] password for cynokine85: 
                Lecture des listes de paquets... Fait
                Construction de l'arbre des dépendances       
                Lecture des informations d'état... Fait
                Lecture de l'information d'état étendu      
                Initialisation de l'état des paquets... Fait
                Les paquets suivants seront RÉINSTALLÉS :
                  bash 
                0 paquets mis à jour, 0 nouvellement installés, 1 réinstallés, 0 à enlever et 2 non mis à jour.
                Il est nécessaire de télécharger 0o/646ko d'archives. Après dépaquetage, 0o seront utilisés.
                Écriture de l'information d'état étendu... Fait
                (Lecture de la base de données... 153585 fichiers et répertoires déjà installés.)
                Préparation du remplacement de bash 4.1-2ubuntu3 (en utilisant .../bash_4.1-2ubuntu3_i386.deb) ...
                dpkg (sous-processus) : impossible d'exécuter ancien script pre-removal: Permission non accordée
                dpkg : avertissement : ancien script pre-removal a retourné une erreur de sortie d'état 2
                dpkg - tentative d'exécution du script du nouveau paquet à la place ...
                dpkg (sous-processus) : impossible d'exécuter nouveau script pre-removal: Permission non accordée
                dpkg : erreur de traitement de /var/cache/apt/archives/bash_4.1-2ubuntu3_i386.deb (--unpack) :
                 le sous-processus nouveau script pre-removal a retourné une erreur de sortie d'état 2
                dpkg (sous-processus) : impossible d'exécuter script post-installation installé: Permission non accordée
                dpkg : erreur lors du nettoyage :
                 le sous-processus script post-installation installé a retourné une erreur de sortie d'état 2
                Des erreurs ont été rencontrées pendant l'exécution :
                 /var/cache/apt/archives/bash_4.1-2ubuntu3_i386.deb
                E: Sub-process /usr/bin/dpkg returned an error code (1)
                Échec de l'installation d'un paquet. Tentative de réparation :
                dpkg : erreur de traitement de bash (--configure) :
                 Le paquet est dans un état vraiment incohérent - vous devriez
                 le réinstaller avant de tenter de le configurer.
                Des erreurs ont été rencontrées pendant l'exécution :
                 bash
                Lecture des listes de paquets... Fait             
                Construction de l'arbre des dépendances       
                Lecture des informations d'état... Fait
                Lecture de l'information d'état étendu      
                Initialisation de l'état des paquets... Fait
                
                0
                1. Je peux peut-être supprimer le fichier dans /var/cache/apt ?
                  Sachant que je l'avait déja fait auparavant,. Ou je vais essayer de double cliquer sur le fichier en question voir ce que ca donne :)
                  Rectification je n'obtient rien d'intéréssant...
                  Une ligne particulière m'a interpellé :
                  dpkg (sous-processus) : impossible d'exécuter script post-installation installé: Permission non accordée
                  

                  Comment peut il se faire que la permission ne me soit aps accordée alors que je met un sudo ... ?
                  0
              7. Modérateur
                0
                1. Oh, ca m'avait échappé. Vraiment désolé !
                  0
                2. Et j'obtient ca
                  $ sudo aptitude -f install
                  [sudo] password for cynokine85: 
                  Lecture des listes de paquets... Fait
                  Construction de l'arbre des dépendances       
                  Lecture des informations d'état... Fait
                  Lecture de l'information d'état étendu      
                  Initialisation de l'état des paquets... Fait
                  Les paquets partiellement installés suivants seront configurés :
                    bash 
                  0 paquets mis à jour, 0 nouvellement installés, 0 à enlever et 2 non mis à jour.
                  Il est nécessaire de télécharger 0o/646ko d'archives. Après dépaquetage, 0o seront utilisés.
                  (Lecture de la base de données... 153585 fichiers et répertoires déjà installés.)
                  Préparation du remplacement de bash 4.1-2ubuntu3 (en utilisant .../bash_4.1-2ubuntu3_i386.deb) ...
                  dpkg (sous-processus) : impossible d'exécuter ancien script pre-removal: Permission non accordée
                  dpkg : avertissement : ancien script pre-removal a retourné une erreur de sortie d'état 2
                  dpkg - tentative d'exécution du script du nouveau paquet à la place ...
                  dpkg (sous-processus) : impossible d'exécuter nouveau script pre-removal: Permission non accordée
                  dpkg : erreur de traitement de /var/cache/apt/archives/bash_4.1-2ubuntu3_i386.deb (--unpack) :
                   le sous-processus nouveau script pre-removal a retourné une erreur de sortie d'état 2
                  dpkg (sous-processus) : impossible d'exécuter script post-installation installé: Permission non accordée
                  dpkg : erreur lors du nettoyage :
                   le sous-processus script post-installation installé a retourné une erreur de sortie d'état 2
                  Des erreurs ont été rencontrées pendant l'exécution :
                   /var/cache/apt/archives/bash_4.1-2ubuntu3_i386.deb
                  E: Sub-process /usr/bin/dpkg returned an error code (1)
                  Échec de l'installation d'un paquet. Tentative de réparation :
                  dpkg : erreur de traitement de bash (--configure) :
                   Le paquet est dans un état vraiment incohérent - vous devriez
                   le réinstaller avant de tenter de le configurer.
                  Des erreurs ont été rencontrées pendant l'exécution :
                   bash
                  Lecture des listes de paquets... Fait
                  Construction de l'arbre des dépendances       
                  Lecture des informations d'état... Fait
                  Lecture de l'information d'état étendu      
                  Initialisation de l'état des paquets... Fait
                  
                  $ 
                  

                  Toujours la même chose ... :'(((
                  0
                3. Modérateur
                  Re,

                  Affiche le résultat de
                  ls /var/lib/dpkg/info/ | grep bash
                  0
                4. Ca me donne
                  $ ls /var/lib/dpkg/info/ | grep bash
                  bash-completion.list
                  bash-completion.postrm
                  bash.conffiles
                  bash.list
                  bash.md5sums
                  bash.postinst
                  bash.postrm
                  bash.preinst
                  bash.prerm
                  $ 
                  
                  0
              8. Modérateur
                Re,

                Affiche le résultat de
                echo $USER;echo $SHELL


                0
                1. Oh, apparement je n'ai pas changé de shell, j'en était pourtant sur...
                  $ echo $USER;echo $SHELL
                  cynokine85
                  /bin/sh
                  $ 
                  
                  0
                2. J'essaye avec chsh en indiquant le chemin /bin/bash mais ca ne marche pas....
                  Ca me donne ca
                  chsh: /bin/bash is an invalid shell.
                  
                  0
              9. Oh ! Ca y est je pense avoir réussi, enfin en parti, mon shell n'as pas changé, c'"est sh mais je crois que c'est normal non ?
                En tout cas, je peux a nouveaux installer et utiliser normalement bash.
                Le problème venait du fait que je n'avait pas la permission pour utiliser bash
                Et j'ai vu grace a
                ls -l

                que je n'avait pas les droits nécessaire pour l'utiliser, donc avec chmod je me suis enlevé le droit de le modifer et accordé le droit de l'utiliser =)
                0
                1. Modérateur
                  Salut,

                  Donc tu as résolu ton problème.
                  Si je comprends bien ce n'était qu'une histoire des droits
                  0
                2. Apparement ^^
                  Encore un énorme merci pour ton aide et j'espère a un de ces topics !
                  0