Antworten:
Laden Sie das Paket herunter, das die Version Ihrer Distribution ergänzt. https://launchpad.net/ubuntu/+source/dpkg/1.16.1.2ubuntu7
Dekomprimieren Sie die Datei.
cd
zum Stammverzeichnis des dpkg-Quellverzeichnisses.
./configure
make
sudo make install
Möglicherweise müssen Sie einige Pakete herunterladen, wenn dies ./configure
fehlschlägt
Je nachdem, was Sie entfernt haben, können Sie die Situation möglicherweise beheben, indem Sie die erforderlichen Teile aus einer manuell heruntergeladenen .deb
Datei extrahieren . Der Trick besteht natürlich darin, einen Weg zu finden, die .deb
Datei ohne Arbeit zu entpacken dpkg
- zum Glück gibt es hier eine Lösung
Wie extrahiere und installiere ich .deb ohne den Befehl dpkg?
Gehen Sie zuerst zu packages.ubuntu.com und laden Sie die entsprechende .deb
Datei für Ihre Betriebssystemversion und -architektur herunter, z
mkdir debroot && cd debroot
wget http://mirrors.kernel.org/ubuntu/pool/main/d/dpkg/dpkg_1.18.4ubuntu1_amd64.deb
Entpacken Sie nun die Deb-Datei ar
anstelle der üblichendpkg -x
ar -x dpkg_1.18.4ubuntu1_amd64.deb
(Ersetzen Sie dpkg_1.18.4ubuntu1_amd64.deb
durch den Namen der tatsächlichen Deb, die Sie heruntergeladen haben). Sie sollten jetzt den folgenden Inhalt haben
control.tar.gz data.tar.gz debian-binary dpkg_1.18.4ubuntu1_amd64.deb
Die Dateien des Pakets sollten sich in der Datei befinden data.tar.gz
, um die dpkg
Binärdatei lokal zu extrahieren
tar xf data.tar.gz ./usr/bin/dpkg
Wenn das funktioniert hat, sollten Sie eine Datei haben, in ./usr/bin/dpkg
die Sie in Ihr /usr/bin
Verzeichnis kopieren können
sudo cp ./usr/bin/dpkg /usr/bin/
[Beachten Sie, dass Sie die Datei direkt im Verhältnis entpacken kann /
mit sudo tar -C ...
aber tun fühlt es sich in zwei Schritten nur ein wenig sicherer zu machen.]
Wenn das funktioniert, würde ich empfehlen, das Ganze aus Gründen der Konsistenz erneut aus dem Repository zu installieren
sudo apt-get update
sudo apt-get install --reinstall dpkg
(auf neueren Systemen können Sie ersetzen apt-get
durch apt
).