Lost / Deleted dpkg (administrador de paquetes para Debian). ¿Cómo lo recupero?

8

SO: Ubuntu 12.04

Borrados accidentalmente dpkg. Ahora, los paquetes no se pueden instalar. Entonces, necesita un dpkginstalador que instale paquetes.

Raghu G
fuente

Respuestas:

2

Descargue el paquete complementario a la versión de su distribución. https://launchpad.net/ubuntu/+source/dpkg/1.16.1.2ubuntu7

Descomprima el archivo.

cd a la raíz del directorio fuente dpkg.

./configure

make

sudo make install

Es posible que deba descargar algunos paquetes si ./configurefalla

j0h
fuente
cuando escribo "./configure" dice algo y al final de ellos: "configure: error: no se encontró la biblioteca de maldiciones" ...
Mohammad Mahdi Naderi
En realidad, esto no explica nada y no funciona actualmente. ./configure requiere un montón de cosas y no está claro qué es exactamente lo que quiere.
G_V
1
@G_V Si tiene una nueva pregunta, estoy seguro de que a alguien le encantaría darle una larga explicación. Publique sus errores de configuración en su nueva pregunta. Parece que necesita instalar algunos paquetes para que dpkg funcione.
j0h
@ j0h Terminé haciendo una instalación de reparación de mi partición del sistema operativo, sin problemas. Realmente no entendí para qué era ./configure o qué make realmente hizo ya que nunca antes había instalado nada a través de make. Este enlace ayudó a comprender lo que realmente estaba sucediendo.
G_V
9

Dependiendo exactamente de lo que eliminó, puede rescatar la situación extrayendo las partes necesarias de un .debarchivo descargado manualmente . El truco, por supuesto, es encontrar una manera de descomprimir el .debarchivo sin funcionar dpkg; afortunadamente, aquí hay una solución

¿Cómo extraer e instalar .deb sin el comando dpkg?


Primero vaya a packages.ubuntu.com y descargue el .debarchivo apropiado para la versión y arquitectura de su sistema operativo, por ejemplo

mkdir debroot && cd debroot
wget http://mirrors.kernel.org/ubuntu/pool/main/d/dpkg/dpkg_1.18.4ubuntu1_amd64.deb

Ahora descomprima el archivo deb usando aren lugar de lo habitualdpkg -x

ar -x dpkg_1.18.4ubuntu1_amd64.deb

(reemplace dpkg_1.18.4ubuntu1_amd64.debcon el nombre de la deb actual que descargó). Ahora debería tener los siguientes contenidos

control.tar.gz  data.tar.gz  debian-binary  dpkg_1.18.4ubuntu1_amd64.deb

Los archivos del paquete deben ubicarse en el data.tar.gzpara extraer el dpkgarchivo binario localmente

tar xf data.tar.gz ./usr/bin/dpkg

Si eso funcionó, debe tener un archivo en el ./usr/bin/dpkg que pueda copiar a su /usr/bindirectorio

sudo cp ./usr/bin/dpkg /usr/bin/

[Tenga en cuenta que puede descomprimir el archivo directamente en relación con el /uso, sudo tar -C ...pero hacerlo en dos pasos se siente un poco más seguro].


Si eso funciona, recomendaría reinstalar todo desde el repositorio para mantener la coherencia, es decir

sudo apt-get update
sudo apt-get install --reinstall dpkg

(en sistemas más nuevos, puede reemplazar apt-getpor apt).

conductor de acero
fuente