Косяки dpkg

Автор: Admin | 14.04.2014

Ошибка dpkg. С которой, рано или поздно, сталкивается каждый

Пример возникновения ошибки раз

При обновлении Debian7 оборвалась ssh сессия, после переподключения и повторного запуска обновления вылезла ошибка:

debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Ресурс временно недоступен
...
dpkg: ошибка при обработке параметра openssh-server (--configure):
проблемы зависимостей — оставляем не настроенным
dpkg: зависимости пакетов не позволяют настроить пакет openssl:
openssl зависит от libssl1.0.0 (>= 1.0.1), однако:
Пакет libssl1.0.0:amd64 пока не настроен.
...
E: Sub-process /usr/bin/dpkg returned an error code (1)

Решилось так:

rm /var/cache/debconf/*.dat 
apt-get -f install

Пример возникновения ошибки два

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

#apt-get upgrade
...
Хотите продолжить [Д/н]?
Настраивается пакет libssl1.0.0:amd64 (1.0.1e-2+deb7u7) …
Checking for services that may need to be restarted...done.
Checking init scripts...
dpkg: ошибка при обработке параметра libssl1.0.0:amd64 (--configure):
 подпроцесс установлен сценарий post-installation возвратил код ошибки 10
dpkg: зависимости пакетов не позволяют настроить пакет php5-cli:
 php5-cli зависит от libssl1.0.0 (>= 1.0.0), однако:
  Пакет libssl1.0.0:amd64 пока не настроен.

dpkg: ошибка при обработке параметра php5-cli (--configure):
 проблемы зависимостей — оставляем не настроенным
dpkg: зависимости пакетов не позволяют настроить пакет libapache2-mod-php5:
 libapache2-mod-php5 зависит от libssl1.0.0 (>= 1.0.0), однако:
  Пакет libssl1.0.0:amd64 пока не настроен.

dpkg: ошибка при обработке параметра libapache2-mod-php5 (--configure):
 проблемы зависимостей — оставляем не настроенным
dpkg: зависимости пакетов не позволяют настроить пакет php5-gd:
 php5-gd зависит от phpapi-20100525, однако:
  Пакет phpapi-20100525 не установлен.
  Пакет libapache2-mod-php5, предоставляющий phpapi-20100525, пока не настроен.
  Пакет php5-cli, предоставляющий phpapi-20100525, пока не настроен.

dpkg: ошибка при обработке параметра php5-gd (--configure):
 проблемы зависимостей — оставляем не настроенным
dpkg: зависимости пакетов не позволяют настроить пакет php5-mcrypt:
 php5-mcrypt зависит от phpapi-20100525, однако:
  Пакет phpapi-20100525 не установлен.
  Пакет libapache2-mod-php5, предоставляющий phpapi-20100525, пока не настроен.
  Пакет php5-cli, предоставляющий phpapi-20100525, пока не настроен.

dpkg: ошибка при обработке параметра php5-mcrypt (--configure):
 проблемы зависимостей — оставляем не настроенным
dpkg: зависимости пакетов не позволяют настроить пакет php5-mysql:
 php5-mysql зависит от phpapi-20100525, однако:
  Пакет phpapi-20100525 не установлен.
  Пакет libapache2-mod-php5, предоставляющий phpapi-20100525, пока не настроен.
  Пакет php5-cli, предоставляющий phpapi-20100525, пока не настроен.

dpkg: ошибка при обработке параметра php5-mysql (--configure):
 проблемы зависимостей — оставляем не настроенным
dpkg: зависимости пакетов не позволяют настроить пакет libssl-dev:
 libssl-dev зависит от libssl1.0.0 (= 1.0.1e-2+deb7u7), однако:
  Пакет libssl1.0.0:amd64 пока не настроен.

dpkg: ошибка при обработке параметра libssl-dev (--configure):
 проблемы зависимостей — оставляем не настроенным
dpkg: зависимости пакетов не позволяют настроить пакет openssl:
 openssl зависит от libssl1.0.0 (>= 1.0.1e-2+deb7u5), однако:
  Пакет libssl1.0.0:amd64 пока не настроен.

dpkg: ошибка при обработке параметра openssl (--configure):
 проблемы зависимостей — оставляем не настроенным
dpkg: зависимости пакетов не позволяют настроить пакет php5:
 php5 зависит от libapache2-mod-php5 (>= 5.4.4-14+deb7u9) | libapache2-mod-php5filter (>= 5.4.4-14+deb7u9) | php5-cgi (>= 5.4.4-14+deb7u9) | php5-fpm (>= 5.4.4-14+deb7u9), однако:
  Пакет libapache2-mod-php5 пока не настроен.
  Пакет libapache2-mod-php5filter не установлен.
  Пакет php5-cgi не установлен.
  Пакет php5-fpm не установлен.

dpkg: ошибка при обработке параметра php5 (--configure):
 проблемы зависимостей — оставляем не настроенным
При обработке следующих пакетов произошли ошибки:
 libssl1.0.0:amd64
 php5-cli
 libapache2-mod-php5
 php5-gd
 php5-mcrypt
 php5-mysql
 libssl-dev
 openssl
 php5
E: Sub-process /usr/bin/dpkg returned an error code (1)

Собственно, в первую очередь надо закомментить все левые репы и сделать apt-get update
Затем удалить всю информацию о сломанных пакетах (только о сломанных. Не вздумай удалять все, сделав rm /var/lib/dpkg/info/*):

rm /var/lib/dpkg/info/libssl1*
rm /var/lib/dpkg/info/php5-cli*
rm /var/lib/dpkg/info/libapache2-mod-php5*
rm /var/lib/dpkg/info/php5-gd*
rm /var/lib/dpkg/info/php5-mcrypt*
rm /var/lib/dpkg/info/php5-mysql*
rm /var/lib/dpkg/info/libssl-dev*
rm /var/lib/dpkg/info/openssl*
rm /var/lib/dpkg/info/php5*

Наконец, почистить неверные зависимости от бэкпортов:

apt-get clean
apt-get autoclean
apt-get autoremove

И починить зависимости:

apt-get -f install

Комментарии к посту “Косяки dpkg

  1. Vladimir Triv

    Зачем так то:
    rm /var/cache/debconf/*.dat

    Неужели fsuser /var/cache/debconf/config.dat затем kill -9 pid — не помогло?

    1. admin

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

  2. Та-лян

    Очень благодарен! Спас мне сегодняшний день! Респект и уважуха! Себе в мемориз!

  3. Денис

    после запуска команды: apt-get autoremove
    вылетает:

    dpkg: ошибка при обработке архива /var/cache/apt/archives/apport_2.20.1-0ubuntu2.5_all.deb (—unpack):
    подпроцесс новый сценарий pre-removal возвратил код ошибки 1

    как лечить?

    1. admin Автор записи

      Просто очистите каталог /var/cache/apt/archives/

      rm -f /var/cache/apt/archives/*.deb
      1. Денис

        запустил: rm -f /var/cache/apt/archives/*.deb (все ок)
        затем apt-get autoremove
        Вот листинг после ввода команды:

        Чтение списков пакетов… Готово
        Построение дерева зависимостей
        Чтение информации о состоянии… Готово
        Будут установлены следующие дополнительные пакеты:
        apport
        Пакеты, которые будут обновлены:
        apport
        обновлено 1, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 256 пакетов не обновлено.
        не установлено до конца или удалено 49 пакетов.
        Необходимо скачать 120 kБ архивов.
        После данной операции, объём занятого дискового пространства возрастёт на 0 B.
        Хотите продолжить? [Д/н] Д
        Пол:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 apport all 2.20.1-0ubuntu2.5 [120 kB]
        Получено 120 kБ за 2с (55,2 kБ/c)
        dpkg: предупреждение: список файлов пакета «python-py» отсутствует; предполагаем, что на данный момент у пакета нет установленных файлов
        dpkg: предупреждение: список файлов пакета «apport-gtk» отсутствует; предполагаем, что на данный момент у пакета нет установленных файлов
        (Чтение базы данных … на данный момент установлено 352182 файла и каталога.)
        Подготовка к распаковке …/apport_2.20.1-0ubuntu2.5_all.deb …
        File «/usr/bin/pyclean», line 63
        except (IOError, OSError), e:
        ^
        SyntaxError: invalid syntax
        dpkg: предупреждение: подпроцесс старый сценарий pre-removal возвратил код ошибки 1
        dpkg: попытка использовать сценарий из нового пакета …
        File «/usr/bin/pyclean», line 63
        except (IOError, OSError), e:
        ^
        SyntaxError: invalid syntax
        dpkg: ошибка при обработке архива /var/cache/apt/archives/apport_2.20.1-0ubuntu2.5_all.deb (—unpack):
        подпроцесс новый сценарий pre-removal возвратил код ошибки 1
        Traceback (most recent call last):
        File «/usr/bin/pycompile», line 35, in
        from debpython.version import SUPPORTED, debsorted, vrepr, \
        File «/usr/share/python/debpython/version.py», line 24, in
        from ConfigParser import SafeConfigParser
        ImportError: No module named ‘ConfigParser’
        dpkg: ошибка при очистке:
        подпроцесс установлен сценарий post-installation возвратил код ошибки 1
        При обработке следующих пакетов произошли ошибки:
        /var/cache/apt/archives/apport_2.20.1-0ubuntu2.5_all.deb
        E: Sub-process /usr/bin/dpkg returned an error code (1)

        Пробовал ставить «python-py», ошибка такая же. Что я не так делаю?

        1. admin Автор записи

          Вероятно я опоздал с ответом. Сам с подобным не сталкивался, но в инете много чего можно найти по запросу «File «/usr/bin/pyclean», line 63 except (IOError, OSError)»

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *