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,

    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
    1. Contributeur
      Ne peut-il pas juste aller dans un live-cd le récupérer ? C'est un binaire...
    2. Modérateur
      Salut,

      Oui, je pense que c'est faisable.
    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.
  2. 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. Je l'ai remplacer -_-" par un autre fichier dont j'ai donné le meme nom
      1. Un pauvre script qui me sert de terrain d'entrainement pour le bash. (J'essaie d'apprendre a le programmer)
        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.
      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
        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.
      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 ?
        1. Modérateur
          Re,

          Je vais t'envoyer un autre fichier.
          Tu peux supprimer celui là
        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
        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
        4. 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
      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)
        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
        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
        3.  sudo rdev
          /dev/sdb1 /
        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?
        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/
      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 !
        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

          $
        2. Modérateur
          Re,
          sudo aptitude -f install
      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
        
        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 ... ?
      7. Modérateur
        1. Oh, ca m'avait échappé. Vraiment désolé !
        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 ... :'(((
        3. Modérateur
          Re,

          Affiche le résultat de
          ls /var/lib/dpkg/info/ | grep bash
        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
          $ 
          
      8. Modérateur
        Re,

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


        1. Oh, apparement je n'ai pas changé de shell, j'en était pourtant sur...
          $ echo $USER;echo $SHELL
          cynokine85
          /bin/sh
          $ 
          
        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.
          
      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 =)
        1. Modérateur
          Salut,

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