Forum Linux.debian/ubuntu bash: /bin/ps: cannot execute binary file

Posté par  .
Étiquettes :
0
26
fév.
2006
Bonjour à tous,

Depuis mon dernier upgrade de ma Debian Unstable (cette nuit), je ne peux plus lancer des commandes telles que ps, top, free, etc.

J'ai toujours ce message :
$ ps
bash: /bin/ps: cannot execute binary file
$ top
bash: /usr/bin/top: cannot execute binary file
$ free -m
bash: /usr/bin/free: cannot execute binary file

Les permissions sont les suivantes (j'aurais eu un "Permission denied" de toute façon) :
$ ll /bin/ps /usr/bin/top /usr/bin/free
-rwxr-xr-x 1 root root 80K 2006-02-24 10:17 /bin/ps
-rwxr-xr-x 1 root root 8,0K 2006-02-24 10:17 /usr/bin/free
-rwxr-xr-x 1 root root 57K 2006-02-24 10:17 /usr/bin/top

Je suppose que ça sera résolu lors de la prochaine mise à jour, mais d'ici là si quelqu'un a des suggestions... Je suis preneur !

Merci d'avance ;)
  • # mount ?

    Posté par  . Évalué à 1.

    Que donne la sortie de mount ?
    Peut- être que la partition qui porte /usr/bin a t-elle été remontée en noexec ?
    (sans que cela soit le cas pour celle celle portant /bin)
    (il me semble avoir eu ce genre de probleme, il y a un temps, parce que après une mise à jour, les options implicites ("par defaut") d'un type de système de fichier avaient changé)

    voilà
    • [^] # Re: mount ?

      Posté par  . Évalué à 1.

      Merci pour ta réponse. J'ajoute que je peux sans problème lancer en console des applications comme xchat, firefox, gens, amule, etc.

      De plus, mes sessions XFCE et KDE tournent impéccablement.

      Un de mes deux PC a été reboot, le problème persiste ;)

      Le mount :
      $ mount
      /dev/sda1 on / type ext3 (rw,errors=remount-ro)
      proc on /proc type proc (rw)
      sysfs on /sys type sysfs (rw)
      usbfs on /proc/bus/usb type usbfs (rw)
      tmpfs on /dev/shm type tmpfs (rw)
      devpts on /dev/pts type devpts (rw,gid=5,mode=620)
      /dev/sda6 on /home type ext3 (rw)
      tmpfs on /dev type tmpfs (rw,size=10M,mode=0755)
      192.168.1.2:/mnt/data on /mnt/data type nfs (rw,noexec,nosuid,nodev,soft,intr,bg,addr=192.168.1.2)
      192.168.1.2:/home/saves_deathegg on /home/saves_deathegg type nfs (rw,noexec,nosuid,nodev,soft,intr,bg,addr=192.168.1.2)
      192.168.1.2:/home/knux/public_html on /mnt/data/public_html type nfs (rw,noexec,nosuid,nodev,soft,intr,bg,addr=192.168.1.2)
      nfsd on /proc/fs/nfsd type nfsd (rw)
      binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

      :$
      • [^] # Re: mount ? (en regardant de plus près)

        Posté par  . Évalué à 1.

        Hum, j'aurais du regarder la situation de plus près (ps est dans /bin) . Je suis désolé pour cette mauvaise piste.

        Que donnent les commandes strace /bin/ps, strace /usr/bin/top ou strace /usr/bin/free ?

        Je me demande si free ps et top ne sont pas relié tous les trois au paquet procps.
        Peut-être pouvez-vous essayer d'installer un paquet procps antérieur ?
        (le 1:3.2.6-2 a l'air de fonctionner sur mon portable testing/unstable)

        Est-ce que les autres programmes de suivi du sytème ou des processus fonctionnent ? (Je pense à gkrellm ou le programme dédié de Kde)

        (Entendons nous bien, je ne suis pas un expert, je suis juste intrigué et comme je m'ennuie ce dimanche, je tatonne comme si ce problème m'était arrivé --et il risque de m'arriver si j'apt-get-upgrade--)
        • [^] # Re: mount ? (en regardant de plus près)

          Posté par  . Évalué à 1.

          - Les strace :
          $ strace /bin/ps
          execve("/bin/ps", ["/bin/ps"], [/* 25 vars */]) = -1 ENOEXEC (Exec format error)
          dup(2) = 3
          fcntl64(3, F_GETFL) = 0x2 (flags O_RDWR)
          fstat64(3, {st_mode=S_IFCHR|0622, st_rdev=makedev(136, 0), ...}) = 0
          mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fc2000
          _llseek(3, 0, 0xbfbd3968, SEEK_CUR) = -1 ESPIPE (Illegal seek)
          write(3, "strace: exec: Exec format error\n", 32strace: exec: Exec format error
          ) = 32
          close(3) = 0
          munmap(0xb7fc2000, 4096) = 0
          exit_group(1) = ?

          $ strace /usr/bin/top
          execve("/usr/bin/top", ["/usr/bin/top"], [/* 25 vars */]) = -1 ENOEXEC (Exec format error)
          dup(2) = 3
          fcntl64(3, F_GETFL) = 0x2 (flags O_RDWR)
          fstat64(3, {st_mode=S_IFCHR|0622, st_rdev=makedev(136, 0), ...}) = 0
          mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f04000
          _llseek(3, 0, 0xbfb16178, SEEK_CUR) = -1 ESPIPE (Illegal seek)
          write(3, "strace: exec: Exec format error\n", 32strace: exec: Exec format error
          ) = 32
          close(3) = 0
          munmap(0xb7f04000, 4096) = 0
          exit_group(1) = ?

          $ strace /usr/bin/free
          execve("/usr/bin/free", ["/usr/bin/free"], [/* 25 vars */]) = -1 ENOEXEC (Exec format error)
          dup(2) = 3
          fcntl64(3, F_GETFL) = 0x2 (flags O_RDWR)
          fstat64(3, {st_mode=S_IFCHR|0622, st_rdev=makedev(136, 0), ...}) = 0
          mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f03000
          _llseek(3, 0, 0xbfe16d18, SEEK_CUR) = -1 ESPIPE (Illegal seek)
          write(3, "strace: exec: Exec format error\n", 32strace: exec: Exec format error
          ) = 32
          close(3) = 0
          munmap(0xb7f03000, 4096) = 0
          exit_group(1) = ?

          - Version de procps installée :
          $ dpkg -l | grep procps
          ii procps 3.2.6-2.1 /proc file system utilities

          J'ai vérifié, ksysguard fonctionne :)

          Le paquet procps a été mis à jour le 22/02/2006, je m'en serais rendu compte avant aujourd'hui (j'upgrade quasi tous les jours par manie).
          [2006-02-22] Accepted 1:3.2.6-2.1 in unstable (low) (Don Armstrong)

          Mystère ;)

          • [^] # Mise à jour nécessaire ?

            Posté par  . Évalué à 1.

            Ah ? Sur mon ordinateur portable sous debian unstable que j'ai dû mettre à jour vendredi, le paquet (qui fonctionne) est le 3.2.6-2. Le mirroir que j'utilise est
            ftp2.fr.debian.org.

            Que donnerait un apt-get install procps ?


            (Nota, la commande kill --fort utile -- est aussi dans ce paquet ! )
            • [^] # Re: Mise à jour nécessaire ?

              Posté par  . Évalué à 1.

              je raconte vraiment n'importe quoi aujourd'hui ( je confonds les -2.1 avec les -1)!
              apt-get install ne donnera rien

              le vieux paquet qui-marche-chez-moi est là ftp://ftp2.fr.debian.org/debian/pool/main/p/procps/procps_3.(...)

              Ce genre de retour en arrière n'abime , je pense, pas le système et est effacé dès le prochain upgrade. Je me traîne comme cela un des premiers paquets xserver-xorgs qui est le seul à avoir l'option emulate-wheel-timeout qui fonctionne. A chaque upgrade, je le réinstalle ( après avoit testé la nouvelle version) à coup de dpkg -i.
              • [^] # Re: Mise à jour nécessaire ?

                Posté par  . Évalué à 1.

                En fait j'utilise "apt-build" pour mettre à jour mon système, il fait théoriquement juste une compilation des paquets avant de les installer.

                Il a actuelle un bug avec certains paquets qui ne sont pas mis à jour, je l'ai viré et refait un dist-upgrade et depuis plus de problème.

                Autrement dit ce problème ne semble pas survenir sur une installation standard :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.