Lost / Deleted dpkg (менеджер пакетов для Debian). Как мне вернуть его обратно?

ОС: Ubuntu 12.04

Случайно удалено dpkg. Теперь пакеты не могут быть установлены. Итак, нужен установщик dpkg, который устанавливает пакеты.

8
задан 29 April 2013 в 16:19

2 ответа

Загрузите пакет dpkg для своего выпуска из https://launchpad.net/ubuntu/+source/dpkg/ .

Извлеките файл.

cd в корень исходного каталога dpkg.

./configure
make
sudo make install

Вы можете необходимо загрузить некоторые пакеты, если ./ configure не работает

2
ответ дан 29 April 2013 в 16:19

В зависимости от того, что вы удалили, вы можете спасти ситуацию, извлекая необходимые части из загруженного вручную файла .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 ).

11
ответ дан 29 April 2013 в 16:19

Другие вопросы по тегам:

Похожие вопросы: