Risposte:
Scarica il pacchetto complementare alla versione della tua distribuzione. https://launchpad.net/ubuntu/+source/dpkg/1.16.1.2ubuntu7
Decomprimi il file.
cd
alla radice della directory dei sorgenti di dpkg.
./configure
make
sudo make install
In caso di ./configure
errore potrebbe essere necessario scaricare alcuni pacchetti
A seconda esattamente ciò che è stato rimosso, si potrebbe essere in grado di salvare la situazione estraendo le parti necessarie da un scaricato manualmente .deb
file. Il trucco, ovviamente, è trovare un modo per decomprimere il .deb
file senza funzionare dpkg
- fortunatamente c'è una soluzione qui
Come estrarre e installare .deb senza il comando dpkg?
Per prima cosa vai su packages.ubuntu.com e scarica il .deb
file appropriato per la versione e l'architettura del tuo sistema operativo, ad es
mkdir debroot && cd debroot
wget http://mirrors.kernel.org/ubuntu/pool/main/d/dpkg/dpkg_1.18.4ubuntu1_amd64.deb
Ora decomprimere il file deb usando ar
al posto del solitodpkg -x
ar -x dpkg_1.18.4ubuntu1_amd64.deb
(sostituisci dpkg_1.18.4ubuntu1_amd64.deb
con il nome del deb che hai scaricato). Ora dovresti avere i seguenti contenuti
control.tar.gz data.tar.gz debian-binary dpkg_1.18.4ubuntu1_amd64.deb
I file del pacchetto devono trovarsi in data.tar.gz
modo da estrarre localmente ildpkg
file binario
tar xf data.tar.gz ./usr/bin/dpkg
Se ha funzionato, dovresti avere un file in ./usr/bin/dpkg
cui puoi copiarlo nella tua /usr/bin
directory
sudo cp ./usr/bin/dpkg /usr/bin/
[Si noti che è possibile decomprimere il file direttamente in relazione /
all'utilizzo, sudo tar -C ...
ma farlo in due passaggi sembra un po 'più sicuro.]
Se funziona, consiglierei di reinstallare tutto dal repository per coerenza, ad es
sudo apt-get update
sudo apt-get install --reinstall dpkg
(sui sistemi più recenti, è possibile sostituire apt-get
con apt
).