¿Cómo recuperar el directorio eliminado "dpkg"?

23

Lamentablemente, eliminé el directorio dpkg mientras eliminaba el bloqueo. Por error, escribí

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

Ahora, cuando intento instalar / desinstalar paquetes, me muestra el siguiente error.

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

¿Qué debo hacer ahora?

    
pregunta Sambit 28.11.2013 - 12:26

4 respuestas

47

root + rm + -r = desastre

Entonces, ¿qué condenaste a la perdición?

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

Eliminaste 5 directorios, el archivo de estado, etc. Por lo tanto, intentemos solucionarlo. Primero, crea el directorio:

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

Recuperar algunas copias de seguridad:

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

Ahora, veamos si tu dpkg está funcionando (empieza a orar):

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

Si todo está "bien", también repara tus archivos base:

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

Ahora intenta actualizar tu lista de paquetes, etc.:

dpkg --audit
sudo apt-get update
sudo apt-get check

Ahora, respiremos profundamente. Uf. Haz ls -l /var/lib/dpkg y compáralo con la lista anterior. Si algún archivo -old no está presente, no se preocupe, estará allí mañana.

    
respondido por el Braiam 29.11.2013 - 01:49
2

El paquete% dpkg (sistema de gestión de paquetes de Debian) proporciona la infraestructura de bajo nivel para manejar la instalación y eliminación de los paquetes de software Debian. Por lo tanto, eliminarlo no era una buena idea, y puede hacerlo de nuevo -

Descargar el archivo utilizando wget :

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

Extraerlo en la carpeta xxx.

cd xxx
./configure
make
sudo make install

espero que funcione.

    
respondido por el Sukupa91 28.11.2013 - 12:40
1

Recupere su sistema de la copia de seguridad. Hiciste copias de seguridad ¿verdad? Realizar una copia de seguridad de su sistema y de sus datos es fundamental para enfrentar situaciones inesperadas como esta (error del usuario) y falla del hardware. Si no pudo crear copias de seguridad como se describe aquí puede intentar recuperación de datos.

En el futuro, le sugiero que realice una copia de seguridad regularmente para evitar la pérdida catastrófica de datos. Y dudo que lo olvides porque @Braiam dijo " root + rm + -r = disaster "

    
respondido por el Elder Geek 07.02.2016 - 15:44
-1

Simplemente siga los pasos a continuación, seguro de que puede recuperar los archivos, al menos el apt-get o dpkg funcionaría.

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

sudo mv /var/backups/dpkg.status.0  /var/backups/status

sudo mkdir /var/lib/dpkg/updates

Después de esta prueba, si funcionaría o no.

sudo apt-get install {Package-name}

sudo dpkg -i {package_name}

Espero que funcionó. Si no, comenta a continuación. Tenga en cuenta que tenga mucho cuidado al jugar con sudo + rm -rf .

    
respondido por el Srudeep P A 20.01.2018 - 14:18

Lea otras preguntas en las etiquetas