Dpkg sur Debian ne marche pas

Fermé
dpkg57 - 11 nov. 2010 à 18:12
mamiemando Messages postés 33459 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 janvier 2025 - 16 nov. 2010 à 18:25
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

mamiemando Messages postés 33459 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 janvier 2025 7 813
Modifié par mamiemando le 12/11/2010 à 15:49
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
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
mamiemando Messages postés 33459 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 janvier 2025 7 813
16 nov. 2010 à 18:25
Oui oui il faut que tu continues ce que je t'ai indiqué.
--
0