Подпроцесс /usr/bin/dpkg вернул код ошибки (100) ошибка dpkg

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

Я использую Ubuntu 18.04.5 LTS. У меня был заблокирован dpkg, когда я пытался установить новый пакет. Затем я разблокировал dpkg и обнаружил ошибку dpkg, называемую “dpkg не найден”. Я попробовал “sudo apt install dpkg”, но он говорит, что уже установлен новый dpkg.

Вывод команды sudo apt install dpkg:

Чтение списков пакетов... Готово
Формирование дерева зависимостей       
Чтение информации о состоянии... Готово
dpkg уже является самой новой версией (1.19.0.5ubuntu2.3).
0 обновлено, 0 новой установки, 0 к удалению и 37 не обновлено.

После этого я попытался “sudo apt-get install --reinstall dpkg” и получил следующий вывод:

Чтение списков пакетов... Готово
Формирование дерева зависимостей       
Чтение информации о состоянии... Готово
0 обновлено, 0 новой установки, 1 переустановлен, 0 к удалению и 37 не обновлено.
Необходимо загрузить 1,136 кБ архивов.
После этой операции дополнительно будет использовано 0 Б дискового пространства.
Получено:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 dpkg amd64 1.19.0.5ubuntu2.3 [1,136 кБ]
Загружено 1,136 кБ за 1 с (1,450 кБ/с)                  
Не удалось выполнить dpkg!
/usr/lib/libdvd-pkg/b-i_libdvdcss.sh: 7: /usr/lib/libdvd-pkg/b-i_libdvdcss.sh: dpkg: не найден
E: Подпроцесс /usr/bin/dpkg вернул код ошибки (100)

Таким образом, я не могу установить dpkg и также не могу исправить эту ошибку.

Примечание: sudo apt upgrade вообще не работает. Вывод:

Чтение списков пакетов... Готово
Формирование дерева зависимостей       
Чтение информации о состоянии... Готово
Вычисление обновлений... Готово
Следующие НОВЫЕ пакеты будут установлены:
  distro-info python3-click python3-colorama
Следующие пакеты будут обновлены:
  apt apt-utils docker.io gnome-shell gnome-shell-common grub-common grub-efi-amd64-bin grub-efi-amd64-signed grub-pc grub-pc-bin grub2-common
  initramfs-tools initramfs-tools-bin initramfs-tools-core isc-dhcp-client isc-dhcp-common libapt-inst2.0 libapt-pkg5.0 libnss-myhostname
  libnss-systemd libpam-systemd libseccomp2 libsystemd0 libudev1 linux-firmware python3-distupgrade sbsigntool systemd systemd-sysv
  ubuntu-advantage-tools ubuntu-drivers-common ubuntu-keyring ubuntu-release-upgrader-core ubuntu-release-upgrader-gtk udev update-notifier
  update-notifier-common
37 обновлено, 3 новой установки, 0 к удалению и 0 не обновлено.
Необходимо загрузить 0 Б/126 МБ архивов.
После этой операции дополнительно будет использовано 2,394 кБ дискового пространства.
Вы хотите продолжить? [Y/n] Y
Извлечение шаблонов из пакетов: 100%
Предварительная настройка пакетов ...
/tmp/ubuntu-advantage-tools.config.idFIRB: 7: /tmp/ubuntu-advantage-tools.config.idFIRB: dpkg: не найден
/tmp/grub-pc.config.YIkgdy: 1: /tmp/grub-pc.config.YIkgdy: dpkg: не найден
Не удалось выполнить dpkg!
/usr/lib/libdvd-pkg/b-i_libdvdcss.sh: 7: /usr/lib/libdvd-pkg/b-i_libdvdcss.sh: dpkg: не найден
E: Подпроцесс /usr/bin/dpkg вернул код ошибки (100)

Следуйте этим шагам:

mkdir /tmp/dpkg
cd /tmp/dpkg
wget http://archive.ubuntu.com/ubuntu/pool/main/d/dpkg/dpkg_1.15.5.6ubuntu4_i386.deb
ar x dpkg*.deb data.tar.gz
tar xfvz data.tar.gz ./usr/bin/dpkg
sudo cp ./usr/bin/dpkg /usr/bin/
sudo apt-get update
sudo apt-get install --reinstall dpkg

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

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

Шаг 1: Понимание ошибки

Ошибка E: Sub-process /usr/bin/dpkg returned an error code (100) обычно означает, что системный менеджер пакетов dpkg не может выполнить команды из-за отсутствия самой программы или повреждения её исполняемого файла. Ваша первоначальная ошибка "dpkg not found" указывает на то, что исполняемый файл dpkg не найден в ожидаемом расположении, что могло произойти, например, в результате случайного удаления или повреждения.

Шаг 2: Устранение блокировки

Сначала убедитесь, что процесс dpkg не работает и нет блокировок, которые могли бы препятствовать доступу к его ресурсам:

sudo fuser -v /var/lib/dpkg/lock
sudo fuser -v /var/lib/apt/lists/lock
sudo fuser -v /var/cache/apt/archives/lock

Если эти команды обнаруживают активные процессы, вы можете завершить их с помощью команды:

sudo kill -9 <PID>

где <PID> — идентификатор процесса.

Шаг 3: Восстановление dpkg

Как следует из вашего сообщения, dpkg не доступен для выполнения, и попытки переустановить его через apt также не дают результата. Для решения данной проблемы выполните следующие действия:

  1. Создайте временную папку для загрузки:

    mkdir /tmp/dpkg
    cd /tmp/dpkg
  2. Загрузите исходный пакет dpkg для вашей версии Ubuntu. Убедитесь, что вы загружаете правильный архитектурный вариант (amd64 или i386):

    wget http://archive.ubuntu.com/ubuntu/pool/main/d/dpkg/dpkg_1.19.0.5ubuntu2.3_amd64.deb
  3. Извлеките файл dpkg из скачанного .deb пакета:

    ar x dpkg*.deb data.tar.xz
    tar -xf data.tar.xz ./usr/bin/dpkg
  4. Копируйте восстановленный исполняемый файл dpkg в системную директорию:

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

Шаг 4: Обновление и переустановка

После восстановления файла dpkg, выполните обновление списка пакетов и переустановку dpkg:

sudo apt-get update
sudo apt-get install --reinstall dpkg

Шаг 5: Устранение оставшихся проблем

Теперь, когда dpkg восстановлен, попробуйте снова выполнить команду sudo apt upgrade для обновления системы. Если возникнут другие проблемы, их можно устранить, используя следующие команды:

sudo apt-get install -f  # для исправления недостающих или поврежденных пакетов
sudo dpkg --configure -a  # для завершения конфигурации пакетов

Заключение

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

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

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