Odpowiedzi:
Pobierz pakiet uzupełniający do wersji swojej dystrybucji. https://launchpad.net/ubuntu/+source/dpkg/1.16.1.2ubuntu7
Rozpakuj plik.
cd do katalogu głównego katalogu źródłowego dpkg.
./configure
make
sudo make install
W razie ./configureniepowodzenia może być konieczne pobranie niektórych pakietów
W zależności, co dokładnie usunięte, to może być w stanie ratować sytuację poprzez wydobycie niezbędnych części z pobranego ręcznie .debpliku. Sztuką jest oczywiście znalezienie sposobu na rozpakowanie .debpliku bez działania dpkg- na szczęście jest tutaj rozwiązanie
Jak wyodrębnić i zainstalować .deb bez polecenia dpkg?
Najpierw przejdź do packages.ubuntu.com i pobierz odpowiedni .debplik dla swojej wersji systemu operacyjnego i architektury, np
mkdir debroot && cd debroot
wget http://mirrors.kernel.org/ubuntu/pool/main/d/dpkg/dpkg_1.18.4ubuntu1_amd64.deb
Teraz rozpakuj plik deb, używając arzamiast zwykłegodpkg -x
ar -x dpkg_1.18.4ubuntu1_amd64.deb
(zamień na dpkg_1.18.4ubuntu1_amd64.debnazwę faktycznie pobranego deba). Powinieneś teraz mieć następującą zawartość
control.tar.gz data.tar.gz debian-binary dpkg_1.18.4ubuntu1_amd64.deb
Pliki pakietu powinny znajdować się w data.tar.gzso, aby wyodrębnić dpkgplik binarny lokalnie
tar xf data.tar.gz ./usr/bin/dpkg
Jeśli to zadziałało, powinieneś mieć plik, ./usr/bin/dpkg
który możesz skopiować do swojego /usr/binkatalogu
sudo cp ./usr/bin/dpkg /usr/bin/
[Pamiętaj, że możesz rozpakować plik bezpośrednio względem /używania, sudo tar -C ...ale wykonanie go w dwóch krokach jest po prostu trochę bezpieczniejsze.]
Jeśli to zadziała, zalecam ponowną instalację całej rzeczy z repozytorium dla zachowania spójności, tj
sudo apt-get update
sudo apt-get install --reinstall dpkg
(w nowszych systemach możesz zastąpić apt-getprzez apt).