Dpkg sur Debian ne marche pas

dpkg57 -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

La commde dpkg ne marche sur nom serveur Linux Debian :

root[RULX28]/usr/bin >dpkg -l
root[RULX28]/usr/bin >ls -l dpkg
-rwxr-xr-x 1 root root 0 oct 4 16:44 dpkg (taille=0 ?)

Comment puis-je faire pour réinstaller ce paquet, où le récupérer et comment l'installer.

Configuration :

root[RULX28]/usr/bin >cat /proc/version
Linux version 2.6.26-2-686 (Debian 2.6.26-19lenny2) (dannf@debian.org) (gcc version 4.1.3 20080704 (prerelease) (Debian 4.1.2-25)) #1 SMP Wed Nov 4 20:45:37 UTC 2009

Merci pour votre aide.

dpkg57

3 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Mauvaise nouvelle, ta commande dpkg semble avoir exploser en plein vol

    (mando@silk) (~) $ ls -lsh /usr/bin/dpkg     
    208K -rwxr-xr-x 1 root root 203K 14 sept. 02:22 /usr/bin/dpkg


    Seule solution, redéployer le paquet dpkg qui fournit la commande dpkg. Mais sans dpkg, on ne peut pas se contenter de faire un :

    dpkg -i /le/chemin/vers/dpkg*.deb


    (typiquement ce paquet est avec un peu de chance dans ton cache, /var/cache/apt/archives), car tu n'as plus de dpkg.

    Il va falloir donc falloir utiliser un dpkg tiers le temps de réparer le premier. Pour ce faire, récupère le paquet debian dpkg. On le retrouve ici :
    https://www.debian.org/distrib/packages

    (avec un peu de chance il est même déjà dans ton cache, /var/cache/apt/archives)
    Place-le dans ton home (noté ~) et dans /var/cache/apt/archives. En gros il suffit de taper en root :

    cd /root  
    wget http://security.debian.org/debian-security/pool/updates/main/d/dpkg/dpkg_1.14.29+b1_i386.deb    
    


    Ok, maintenant on extrait le bazar à la main, en espérant que ta commande dpkg-deb, elle, ne soit pas cassée (si ce n'est pas le cas, décompresse le paquet avec dpkg-deb depuis un live CD ou USB de debian et ubuntu, et mets le résultat sur clé USB) :

    dpkg-deb -x dpkg*deb dpkg


    Dans le répertoire /root/dpkg, tu vas retrouver une arborescence pseudo linux, et en particulier un /root/dpkg/usr/bin/dpkg. On va maintenant lui faire prendre le pas sur /usr/bin/dpkg :

    PATH="/root/dpkg/usr/bin/:/root/dpkg/usr/sbin/:$PATH"


    Les commandes qui suivent doivent être tapées dans le terminal dans lequel tu as redéfini la variable d'environnement PATH. Il ne reste plus qu'à dépaqueter dpkg (par le biais du dpkg tiers qu'on vient de récupérer) proprement pour remplacer le dpkg bancale actuel :

    dpkg -i /root/dpkg*deb


    Si tout s'est bien dépaqueté, il ne reste plus qu'à virer le dpkg tiers :

    rm -rf /root/dpkg  
    rm /root/dpkg*deb 


    Bon maintenant il faut vraiment te demander comment ta commande dpkg a pu être déterioriée. Tu ne t'es pas fait hacker par hasard ?
    http://www.mistra.fr/tutoriel-linux-pirates-rootkit.html

    Bonne chance
    0
  2. dpkg57
     
    Bonjour,

    Désolé de te répondre si tardivement, je croyais que je n'aurai pas de réponse à mon problème.

    Je ne suis pas tout à fait sûr d'avoir compris ce que tu m'as expliqué alors j'ai fait ça :

    1. récupération des paquets

    root[RULX28]/tmp/PMB_dpkg >ls -ltr
    total 2408
    drwxr-xr-x 6 root root 4096 aoû 24 21:56 dpkg
    -rw-r--r-- 1 root root 96380 nov 16 11:59 apt-dpkg-ref_5.2_all.deb
    -rw-r--r-- 1 root root 2354846 nov 16 12:00 dpkg_1.14.29+b1_i386.deb
    (je ne sais pas si j'ai récupéré les bons paquets)

    root[RULX28]/tmp/PMB_dpkg >cat /proc/version
    Linux version 2.6.26-2-686 (Debian 2.6.26-19lenny2) (dannf@debian.org) (gcc version 4.1.3 20080704 (prerelease) (Debian 4.1.2-25)) #1 SMP Wed Nov 4 20:45:37 UTC 2009

    root[RULX28]/tmp/PMB_dpkg >cp dpkg_1.14.29+b1_i386.deb ~

    root[RULX28]/tmp/PMB_dpkg >dpkg-deb -x dpkg*deb dpkg

    Et je récupère ça :

    root[RULX28]/tmp/PMB_dpkg >find ./ -name dpkg
    ./dpkg
    ./dpkg/usr/bin/dpkg
    ./dpkg/usr/share/dpkg
    ./dpkg/usr/share/doc/dpkg
    ./dpkg/usr/share/lintian/overrides/dpkg
    ./dpkg/usr/lib/dpkg
    ./dpkg/var/lib/dpkg
    ./dpkg/etc/dpkg
    ./dpkg/etc/logrotate.d/dpkg

    Est-ce que je peux en faire quelque chose ?

    Merci d'avance.

    dkpg57
    0
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Oui oui il faut que tu continues ce que je t'ai indiqué.
    --
    0