debian: удалить или переустановить пакет в очень плохом несогласованном состоянии

У меня проблема с управлением пакетами:

В какой-то момент я должен был прервать обновление или что-то еще, потому что пакет bluez сломался. Я попытался удалить и / или переустановить, но я не получаю ничего, кроме ошибок. Я не могу выполнять какие-либо операции с apt, пока этот пакет не работает.

Результат моей попытки удалить пакет

$ sudo aptitude remove bluez The following packages will be REMOVED: bluez The following partially installed packages will be configured: dictionaries-common dmsetup grub-pc ifupdown install-info rsyslog 0 packages upgraded, 0 newly installed, 1 to remove and 235 not upgraded. Need to get 0 B of archives. After unpacking 1,737 kB will be freed. dpkg: error processing bluez (--remove): Package is in a very bad inconsistent state - you should reinstall it before attempting a removal. configured to not write apport reports Errors were encountered while processing: bluez E: Sub-process /usr/bin/dpkg returned an error code (1) A package failed to install. Trying to recover: Setting up install-info (4.13a.dfsg.1-8) ... /var/lib/dpkg/info/install-info.postinst: 32: /var/lib/dpkg/info/install-info.postinst: update-info-dir: not found dpkg: error processing install-info (--configure): subprocess installed post-installation script returned error exit status 127 Setting up ifupdown (0.7~alpha5+really0.6.15) ... /var/lib/dpkg/info/ifupdown.postinst: 122: /var/lib/dpkg/info/ifupdown.postinst: update-rc.d: not found dpkg: error processing ifupdown (--configure): subprocess installed post-installation script returned error exit status 127 Setting up locales (2.13-18) ... /var/lib/dpkg/info/locales.postinst: 64: /var/lib/dpkg/info/locales.postinst: locale-gen: not found dpkg: error processing locales (--configure): subprocess installed post-installation script returned error exit status 127 Setting up dictionaries-common (1.11.6) ... /var/lib/dpkg/info/dictionaries-common.postinst: 45: /var/lib/dpkg/info/dictionaries-common.postinst: update-dictcommon-aspell: not found dpkg: error processing dictionaries-common (--configure): subprocess installed post-installation script returned error exit status 127 Setting up grub-pc (1.99-12) ... /var/lib/dpkg/info/grub-pc.postinst: line 438: grub-mkdevicemap: command not found /var/lib/dpkg/info/grub-pc.postinst: line 263: grub-probe: command not found /var/lib/dpkg/info/grub-pc.postinst: line 263: grub-probe: command not found /var/lib/dpkg/info/grub-pc.postinst: line 263: grub-probe: command not found /var/lib/dpkg/info/grub-pc.postinst: line 559: grub-install: command not found /var/lib/dpkg/info/grub-pc.postinst: line 669: update-grub: command not found dpkg: error processing grub-pc (--configure): subprocess installed post-installation script returned error exit status 127 Setting up dmsetup (2:1.02.65-1) ... /var/lib/dpkg/info/dmsetup.postinst: 8: /var/lib/dpkg/info/dmsetup.postinst: update-initramfs: not found dpkg: error processing dmsetup (--configure): subprocess installed post-installation script returned error exit status 127 Setting up rsyslog (5.8.5-1) ... /var/lib/dpkg/info/rsyslog.postinst: 45: /var/lib/dpkg/info/rsyslog.postinst: update-rc.d: not found dpkg: error processing rsyslog (--configure): subprocess installed post-installation script returned error exit status 127 Errors were encountered while processing: install-info ifupdown locales dictionaries-common grub-pc dmsetup rsyslog 

Я запускаю тестирование Debian. Действительно ли эта проблема связана с этим конкретным пакетом, или это проблема с dpkg? Что мне нужно сделать, чтобы исправить мой менеджер пакетов?

  • Какой самый надежный способ указать установленное программное обеспечение в дистрибутивах на основе debian?
  • Где хранится информация для файлов управления debian?
  • После создания предупреждения .deb: dpkg: warning при удалении каталог / usr / local / bin не пуст, поэтому не удаляется
  • Может ли dpkg или apt быть установлен на Arch Linux?
  • Как заставить переопределять файлы при создании пакета deb?
  • Создать dpkg .deb имя файла
  • "Invoke-rc.d: initscript cups, действие" start "failed." While configure cups
  • Как я могу создать полный список файлов, установленных пакетом?
  • 5 Solutions collect form web for “debian: удалить или переустановить пакет в очень плохом несогласованном состоянии”

    Раньше я не встречал этого сообщения, поэтому я предполагаю, что он имеет значение bluez. Вы пытались переустановить сообщение?

     apt-get install --reinstall bluez 

    Вы также можете попробовать использовать dpkg для установки / настройки пакета bluez из кеша apt. Найдите пакет bluez в / var / cache / apt. Установите как это (как root):

     dpkg -i <bluez debian package> 

    Это может быть совпадением, но все ошибки связаны с вызовом программ в /usr/sbin : update-info-dir , update-rc.d , locale-gen , update-dictcommon-aspell , grub-mkdevicemap , grub-probe , grub-install , update-grub , update-initramfs , update-rc.d , а также invoke-rc.d bluez из bluez alls в live /usr/sbin .

    Первое, что нужно проверить, – это /usr/sbin в корневом PATH , но вряд ли это будет проблемой, потому что dpkg обычно громко жалуется, если это не так. Фактически, из-за сжатия, dpkg громко жалуется, если он не может найти update-rc.d в PATH , поэтому странно, что rsyslog postinst не может найти этот исполняемый файл, хотя dpkg не жалуется.

    Что произойдет, если вы запустите эти команды (с правами root)?

     type update-rc.d ls -l /usr/sbin/update-rc.d file /usr/sbin/update-rc.d update-rc.d --help file /bin/sh 

    Результат этих команд может предложить исправить. Если вы найдете интересные предложения, но не понимаете, что они означают, отредактируйте свой вопрос, чтобы добавить эту информацию. Также сообщайте о какой-либо «необычной» о вашей системе (SELinux, chroot, установке с двойной архитектурой, …).

    Эта ошибка обычно появляется, если пакет не установлен правильно. Что значит

     dpkg -l bluez 

    показать? Обычно это происходит двумя способами

    • Установка была прервана.

    • Что-то не так с сценарием {pre / post} -install bluez (или аналогичным).

    Что касается первого, знаете ли вы о прерванной установке? Если это проблема, переустановка может решить проблему.

    Если последнее, вы должны сначала попробовать переустановить. Однако в последнее время вам, возможно, придется вручную отредактировать скрипты {pre / post} – {install / remove}, в зависимости от того, где проблема, и хотите ли вы попытаться установить ее правильно или просто хотите полностью удалите его. Обычно проблема в том, что что-то в скриптах терпит неудачу и вызывает ошибку dpkg, поэтому решение заключается в том, чтобы отредактировать эту вещь. Все такие скрипты находятся в /var/lib/dpkg/info . Ищите bluez.postinst или подобное. NB: Если это проблема, это может быть ошибка, поэтому, пожалуйста, обязательно отправьте отчет об ошибке в систему отслеживания ошибок Debian.

    Мне кажется, что у вас здесь несколько ошибок, а не только для пакета bluez .

    Когда вы запускаете aptitude remove , он продолжает настраивать несколько пакетов, большинство из которых реализуют базовые функциональные возможности системы (например, grub, ifupdown), что говорит о том, что обновление было прервано или существует некоторая ошибка в дисковой / файловой системе, которая помешала ему выполнить чистое ,

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

     /var/lib/dpkg/info/install-info.postinst: 32: /var/lib/dpkg/info/install-info.postinst: update-info-dir: not found dpkg: error processing install-info (--configure): subprocess installed post-installation script returned error exit status 127 

    Таким образом, конфигурация install-info не может быть завершена, потому что update-info-dir не может быть найден. Обратите внимание, что «не найден» в этом контексте также может означать «не выполнимый». Аналогично, другие пакеты терпят неудачу, потому что эти программы не могут быть найдены:

     grub-install, grub-mkdevicemap, grub-probe, locale-gen, update-dictcommon-aspell, update-grub, update-info-dir, update-initramfs, update-rc.d 

    В моей системе из этих пакетов устанавливаются отсутствующие файлы:

     ================================== =================== File location Package ================================== =================== /usr/sbin/update-dictcommon-aspell dictionaries-common /usr/sbin/grub-mkdevicemap grub-common /usr/sbin/grub-probe grub-common /usr/lib/grub-legacy/update-grub grub-pc /usr/sbin/grub-install grub-pc /usr/sbin/update-grub grub-pc /usr/sbin/update-initramfs initramfs-tools /usr/sbin/update-info-dir install-info /usr/sbin/locale-gen locales /usr/sbin/update-rc.d sysv-rc 

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

    Затем попробуйте запустить каждый из них с параметром --help : они работают правильно?

    Если оба вышеуказанных теста завершатся успешно, вы можете переустановить эти пакеты, начиная с sysv-rc, initramfs-tools, grub-pc и grub-common ( aptitude reinstall grub-pc grub-common ).

    Когда вы aptitude reinstall bluez эту часть, aptitude reinstall bluez чтобы вернуть bluez в нормальное состояние, после чего вы можете удалить его.

     sudo dpkg-reconfigure <packages> --force 

    с последующим

     sudo dpkg --purge --force-all <packages> 
    Linux и Unix - лучшая ОС в мире.