web-dev-qa-db-fra.com

Comment récupérer le répertoire "dpkg" supprimé?

Malheureusement, j'ai supprimé le répertoire dpkg tout en supprimant le verrou. Par erreur j'ai tapé

root@sam:~$ rm -r /var/lib/dpkg

Maintenant, lorsque j'essaie d'installer/de désinstaller des paquets, l'erreur suivante s'affiche.

E: Could not open lock file /var/lib/dpkg/lock - open (2: No such file or directory)

Qu'est-ce que je devrais faire maintenant?

29
Sambit

root + rm + -r = sinistre

Alors qu'as-tu condamné à la perdition?

ls -l /var/lib/dpkg/
total 9964
drwxr-xr-x 2 root root    4096 nov 28 11:18 alternatives
-rw-r--r-- 1 root root      11 sep 18 14:08 Arch
-rw-r--r-- 1 root root 2573807 nov 28 11:18 available
-rw-r--r-- 1 root root 2561322 nov 28 10:25 available-old
-rw-r--r-- 1 root root       8 abr 24  2013 cmethopt
-rw-r--r-- 1 root root     538 sep 25 17:24 diversions
-rw-r--r-- 1 root root     457 sep 25 17:24 diversions-old
drwxr-xr-x 2 root root  483328 nov 28 11:17 info
-rw-r----- 1 root root       0 nov 28 11:18 lock
drwxr-xr-x 2 root root    4096 mar 22  2013 parts
-rw-r--r-- 1 root root     135 abr 24  2013 statoverride
-rw-r--r-- 1 root root 2269113 nov 28 11:18 status
-rw-r--r-- 1 root root 2268870 nov 28 11:18 status-old
drwxr-xr-x 2 root root    4096 nov 28 11:18 triggers
drwxr-xr-x 2 root root    4096 nov 28 11:18 updates

Vous avez supprimé 5 répertoires, le fichier de statut, etc. Essayons donc de corriger le problème. Tout d'abord, créez le répertoire:

Sudo mkdir -p /var/lib/dpkg/{alternatives,info,parts,triggers,updates}

Récupérer des sauvegardes:

Sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status

Voyons maintenant si votre dpkg fonctionne (commencez à prier):

apt-get download dpkg
Sudo dpkg -i dpkg*.deb

Si tout est "ok", alors réparez aussi vos fichiers de base:

apt-get download base-files
Sudo dpkg -i base-files*.deb

Maintenant, essayez de mettre à jour votre liste de paquets, etc.:

dpkg --audit
Sudo apt-get update
Sudo apt-get check

Maintenant, prenons une profonde respiration. Phew. Faites ls -l /var/lib/dpkg et comparez avec la liste ci-dessus. Si un fichier -old n'est pas présent, ne vous inquiétez pas, il le sera demain.

59
Braiam

Le paquetage dpkg (système de gestion de paquets Debian) fournit l’infrastructure de bas niveau nécessaire au traitement de l’installation et de la suppression des progiciels Debian.

Téléchargement du fichier en utilisant wget:

wget https://launchpad.net/ubuntu/+archive/primary/+files/dpkg_1.16.1.2ubuntu7.2.tar.bz2

Extrayez-le dans le dossier xxx.

cd xxx
./configure
make
Sudo make install

j'espère que ça va marcher.

2
Sukupa91

Récupérez votre système à partir d'une sauvegarde. Vous avez bien fait les sauvegardes? La sauvegarde de votre système et de vos données est essentielle pour faire face à des situations inattendues telles que celle-ci (erreur de l'utilisateur) et une défaillance matérielle. Si vous ne parvenez pas à créer des sauvegardes telles que celles décrites ici , vous pouvez essayer récupération de données.

À l'avenir, je vous suggère de backup sur une base régulière pour éviter toute perte de données catastrophique. Et je doute que vous oublierez que, comme @Braiam a dit " racine + rm + -r = catastrophe "

1
Elder Geek