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

Вопрос или проблема

ОС: Ubuntu 12.04

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

В зависимости от того, что именно вы удалили, вы можете спасти ситуацию, извлекая необходимые части из вручную загруженного файла .deb. Трюк, конечно, заключается в том, чтобы найти способ распаковать файл .deb без рабочего dpkg – к счастью, здесь есть решение

Как извлечь и установить .deb без команды dpkg?


Сначала перейдите на packages.ubuntu.com и скачайте соответствующий файл .deb для вашей версии ОС и архитектуры, например

mkdir debroot && cd debroot
wget https://mirrors.edge.kernel.org/ubuntu/ubuntu/pool/main/d/dpkg/dpkg_1.22.6ubuntu6_amd64.deb

Теперь распакуйте deb файл, используя ar вместо обычного dpkg -x

ar -x dpkg_1.22.6ubuntu6_amd64.deb

(замените dpkg_1.22.6ubuntu6_amd64.deb на имя фактического deb файла, который вы скачали). Теперь у вас должно быть следующее содержимое

control.tar.gz  data.tar.gz  debian-binary  dpkg_1.22.6ubuntu6_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).

Скачайте пакет dpkg для вашего релиза с
https://launchpad.net/ubuntu/+source/dpkg/.

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

cd к корню директории исходников dpkg.

./configure
make
sudo make install

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

.

Ответ или решение

Ваш запрос на восстановление удаленного или утерянного менеджера пакетов dpkg в операционной системе Ubuntu 12.04 требует внимательного подхода. В данной ситуации самым важным является правильное восстановление функциональности вашей системы, поскольку dpkg является критически важным компонентом для установки и управления программным обеспечением на системах на базе Debian, таких как Ubuntu.

Теория (Theory)

dpkg — это низкоуровневый инструмент для установки и управления пакетами .deb, который является неотъемлемой частью системы пакетного управления в Debian и его производных, включая Ubuntu. Без dpkg невозможно устанавливать, обновлять или удалять пакеты, что сильно ограничивает функциональность системы. В Ubuntu 12.04, особенно учитывая её возраст, важно восстановить dpkg, чтобы обеспечить возможность установки обновлений безопасности и другого необходимого программного обеспечения.

Пример (Example)

Для воссоздания dpkg необходимо выполнить несколько шагов. Основная задача — загрузить соответствующий .deb файл из надежного источника, извлечь его содержимое без использования самого dpkg и вручную переместить необходимые файлы в системные директории.

  1. Загрузка .deb файла:
    Откройте ваш веб-браузер и перейдите на официальный сайт пакетов Ubuntu, например launchpad.net, чтобы скачать .deb файл, соответствующий вашей архитектуре и версии Ubuntu.

  2. Извлечение файлов:
    Воспользуйтесь утилитой ar, которая может извлекать архивы в формате .deb, заменяя собой dpkg на этом этапе. Запустите следующие команды в терминале:

    mkdir ~/debroot && cd ~/debroot
    wget https://mirrors.edge.kernel.org/ubuntu/ubuntu/pool/main/d/dpkg/dpkg_1.16.1.2ubuntu7_amd64.deb
    ar -x dpkg_1.16.1.2ubuntu7_amd64.deb
  3. Извлечение содержимого:
    После извлечения используйте команду tar для извлечения файлов:

    tar -xzf data.tar.gz ./usr/bin/dpkg
  4. Копирование файла:
    Скопируйте бинарный файл dpkg в системную директорию:

    sudo cp ./usr/bin/dpkg /usr/bin/

Применение (Application)

Теперь, когда dpkg восстановлен, следует провести дополнительные действия для полной проверки и восстановления системы:

  1. Проверка работы dpkg:
    Убедитесь, что dpkg теперь корректно функционирует. Для этого попробуйте выполнить любую команду проверки, например:

    dpkg --help
  2. Переустановка для надежности:
    Рекомендуется переустановить dpkg через apt, чтобы гарантировать, что все компоненты установлены правильно:

    sudo apt-get update
    sudo apt-get install --reinstall dpkg
  3. Установка зависимостей:
    Если при компиляции из исходников возникают ошибки, необходимо установить требуемые зависимости. Обычно это делается с командой:

    sudo apt-get build-dep dpkg
  4. Информация о версии:
    Поскольку ваша система устарела, важным шагом будет рассмотреть обновление до более новой версии Ubuntu, если это возможно, чтобы поддерживать актуальное и безопасное окружение.

Применение данных шагов должно успешно восстановить пакетный менеджер dpkg в вашей системе и вернуть её в рабочее состояние. Важно всегда иметь резервные копии критических компонентов системы и быть осторожным при выполнении административных операций, чтобы избежать подобных инцидентов в будущем.

Оцените материал
Добавить комментарий

Капча загружается...