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 ./configure
niepowodzenia 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 .deb
pliku. Sztuką jest oczywiście znalezienie sposobu na rozpakowanie .deb
pliku 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 .deb
plik 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 ar
zamiast zwykłegodpkg -x
ar -x dpkg_1.18.4ubuntu1_amd64.deb
(zamień na dpkg_1.18.4ubuntu1_amd64.deb
nazwę 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.gz
so, aby wyodrębnić dpkg
plik 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/bin
katalogu
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-get
przez apt
).