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

  • Votes
  • Date
  • Date décroissante
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. 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 !
  2. 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.
      
  3. 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
      $ 
      
  4. 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 ... ?
  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. 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/
  7. :'(

    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
  8. 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.
  9. 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.
  10. Je l'ai remplacer -_-" par un autre fichier dont j'ai donné le meme nom
    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. 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.