ОС: Ubuntu 12.04
Случайно удалено dpkg
. Теперь пакеты не могут быть установлены. Итак, нужен установщик dpkg
, который устанавливает пакеты.
Загрузите пакет dpkg для своего выпуска из https://launchpad.net/ubuntu/+source/dpkg/ .
Извлеките файл.
cd
в корень исходного каталога dpkg.
./configure
make
sudo make install
Вы можете необходимо загрузить некоторые пакеты, если ./ configure
не работает
В зависимости от того, что вы удалили, вы можете спасти ситуацию, извлекая необходимые части из загруженного вручную файла .deb
. Уловка, конечно же, заключается в том, чтобы найти способ распаковать файл .deb
без рабочего dpkg
- к счастью, здесь есть решение
Как извлечь и установить .deb без command dpkg?
Сначала перейдите на packages.ubuntu.com и загрузите соответствующий файл .deb
для вашей версии ОС и архитектуры, например
mkdir debroot && cd debroot
wget http://mirrors.kernel.org/ubuntu/pool/main/d/dpkg/dpkg_1.18.4ubuntu1_amd64.deb
Теперь распакуйте файл deb с помощью ar
вместо обычного dpkg -x
ar -x dpkg_1.18.4ubuntu1_amd64.deb
(замените dpkg_1.18.4ubuntu1_amd64.deb
на имя фактического deb что вы скачали). Теперь у вас должно быть следующее содержимое
control.tar.gz data.tar.gz debian-binary dpkg_1.18.4ubuntu1_amd64.deb
Файлы пакета должны быть расположены в data.tar.gz
, чтобы распаковать двоичный файл dpkg
локально
tar xf data.tar.gz ./usr/bin/dpkg
Если что сработало, у вас должен быть файл по адресу ./ usr / bin / dpkg
который можно скопировать в каталог / usr / bin
sudo cp ./usr/bin/dpkg /usr/bin/
[Обратите внимание, что вы можете распаковать файл непосредственно относительно /
, используя sudo tar -C ...
но сделать это в два шага будет немного безопаснее.]
Если это сработает, я бы рекомендовал переустановить все это из репозитория для согласованности, например
sudo apt-get update
sudo apt-get install --reinstall dpkg
(в более новых системах вы можете заменить apt-get
от apt
).