E: Подпроцесс / usr / bin / dpkg вернул код ошибки (1) - но как мне найти значимые сообщения об ошибках в выходных данных APT?

Я столкнулся с различными проблемами управления пакетами, которые приводят к сбою команд APT с выводом, который заканчивается этой строкой:

E: Sub-process /usr/bin/dpkg returned an error code (1)

Иногда могут появляться другие коды ошибок, такие как 100 , что означает dpkg там нет , но 1 является наиболее распространенным кодом ошибки.

К сожалению, этот код ошибки почти ничего не говорит мне о том, что на самом деле вызвало ошибку или как я должен ее исправить. Почти каждая проблема управления пакетами, которую я вижу, независимо от ее причины или решения, приводит к одной и той же ошибке!

Итак, где я найду полезную часть вывода, которую я могу найти в Интернете или задать вопросы по Спросить Ubuntu?

8
задан 19 August 2019 в 13:10

2 ответа

Кв. регистрируется, это - действия последовательно, точно так же, как человек делает.

Просто считайте вывод линию за линией.

Вот неспособный пример. Считайте его линию за линией, и Вы будете видеть, что это рассказывает историю:

I am going to build a tower out of five blocks...
Clearing a working surface in the kitchen.
Kitchen: Put 7 dirty dishes from the counter into the dishwasher
Kitchen: Wiped the counter clean
Opening the box of blocks.
Warning: There are only three blocks in the box.
Build: Placed the first block.
Build: Placed the second block.
Build: Placed the third block.
Build: ERROR: Cannot keep building - ran out of blocks.
Closing the box of blocks.
ERROR (summary): Failed to complete the five-block tower.

Кв. и dpkg регистрирующиеся работы точно таким же образом - Вы читаете историю линию за линией. Вы видите, что диспетчер пакетов предпринимает, это - приключение: подготовьте, выполните подзадачи, встретьтесь с нефатальными проблемами (Предупреждения), преодолейте бедственную ситуацию и т.д.

Большая часть вывода является стандартной программой, но Вам нужен он для маркировки прогресса Кв. Тот контекст - то, как Вы понимаете то, что происходило. Это действительно - история.

Ошибка (1) является распространенной. Это - сводный код ошибки, указывая, что проблема произошла с подзадачей ("некоторое здание задач"). Перейдите назад в истории туда, где та конкретная подзадача произошла, и Вы будете видеть, определенная деталь ("исчерпал блоки").

5
ответ дан 23 November 2019 в 05:37

В полном выводе sudo apt update или sudo apt upgrade или sudo apt install -f необходимо найти некоторые сообщения от dpkg о том, что на самом деле пошло не так, как надо.

Эти строки запустятся с dpkg: так как это - название программы, возвращая ошибку. Строки вывода, сразу предшествующего или после этих строк, являются часто самыми полезными.


Несколько примеров многих возможных ошибок Вы могли бы видеть:

Setting up install-info (6.4.90.dfsg.1-1build1) ...
/usr/sbin/update-info-dir: 3: /etc/environment: $: not found
dpkg: error processing package install-info (--configure):
    subprocess installed post-installation script returned error exit status 127

Это означает, что сценарий после установки не мог работать. Оболочки используют статус выхода 127 для значения "команды, не найденной", таким образом, команда, названная post-inst сценарием, не была найдена. Строки перед dpkg строка дает подсказку относительно причины: существует что-то не так с /etc/environment файл (который должен установить переменные среды как PATH).

start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
No apport report written because the error message indicates its a followup error from a previous failure.
dpkg: error processing package runit (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of git-daemon-run:
 git-daemon-run depends on runit; however:
  Package runit is not configured yet.

Вышеупомянутая ошибка была вызвана ошибкой в runit пакет, который ожидал находить Выскочку установленной, хотя за ним следовал systemd как значение по умолчанию init система для Ubuntu. Так, сообщение failed to connect to Upstart лучшая подсказка, но нам нужен контекст, чтобы узнать, как это вызывает проблему управления пакета.

Unpacking libjline-java (from .../libjline-java_1.0-1_all.deb) ...
dpkg: error processing /var/cache/apt/archives/libjline-java_1.0-1_all.deb (--unpack):
 trying to overwrite '/usr/share/java/jline.jar', which is also in package scala 2.9.2-400

Это означает, что существуют конфликты пакета, возможно, вызванные при наличии смеси версий репозитория или репозиториев сторонних производителей.


TL; DR

В любом случае, где Вы видите ошибку Sub-process /usr/bin/dpkg returned an error code (1), необходимо посмотреть выше для строк, запускающихся с dpkg: и строки прежде и после них для полезных ключей к разгадке того, что пошло не так, как надо. Попытайтесь искать эти определенные ошибки.

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

5
ответ дан 23 November 2019 в 05:37

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

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