Решить, что база данных состояния dpkg заблокирована другим процессом
В этом руководстве объясняется, как исправить ошибку «база данных состояния dpkg заблокирована другим процессом» в дистрибутивах Linux на основе Debian.
Обычно эта ошибка означает, что менеджер пакетов используется другим процессом, возможно, зависшим. Ошибка может возвращать вывод, например
Но одна и та же причина может генерировать разные сообщения об ошибках, как показано на снимке экрана ниже.
Другие симптомы той же причины могут включать следующее сообщение.
Или ошибка показана ниже.
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
В большинстве случаев предыдущие примеры сообщают, что вы уже устанавливаете, обновляете или удаляете пакеты. В некоторых случаях несколько администраторов могут управлять программным обеспечением через диспетчер пакетов, или процесс может блокировать приложение (dpkg), и удаление этого процесса, как описано ниже, решает проблему.
Примечание. Не забывайте использовать dpkg и apt с sudo.
Как исправить заблокированные или временно недоступные dpkg или apt:
Вам нужно идентифицировать процесс, занимающий dpkg или способный его убить. Чтобы идентифицировать процесс, вы можете использовать команду ниже.
Как видите, идентификатор процесса (PID) равен 16386. Чтобы убить его, выполните приведенную ниже команду, заменив 16386 на фактический PID с помощью диспетчера пакетов.
Вы также можете запустить команду ниже, чтобы определить номер PID.
Затем запустите:
Другой способ определить процесс PID и вывести информацию о его использовании — использовать команду ps с grep, как показано ниже.
Исправление других ошибок dpkg и apt
В этом разделе вы можете найти несколько комбинаций команд для устранения некоторых проблем с apt и dpkg.
Первая команда, которую вы должны выполнить, прежде чем возникнут проблемы, это apt-update, как показано ниже. Эта команда обновляет подходящие репозитории.
Ранее использовавшаяся команда dpkg –configure -a используется для устранения проблем с зависимостями.
Приведенную ниже команду также можно использовать для устранения проблем с зависимостями.
Чтобы очистить бесполезные зависимости, вы можете запустить:
О менеджерах пакетов Debian
Доступные менеджеры пакетов Debian включают dpkg, apt, apt-get, aptitude, synaptic и dpkg. -деб.
dpkg: Dpkg — это основной менеджер пакетов для Debian и основанных на нем дистрибутивов.
apt: интерфейс для dpkg, способный извлекать пакеты и разрешать зависимости.
aptitude: интерактивный интерфейс для apt.
Synaptics: графический менеджер пакетов.
dpkg-deb: другая команда для установки пакетов .deb.
Дополнительную информацию обо всех менеджерах пакетов Debian можно найти по адресу https://www.debian.org/doc/manuals/debian-faq/pkgtools.en.html#pkgprogs.
Заключение
Как видите, исправить проблемы с dpkg или apt довольно просто, и большинство ошибок имеют известные причины. Описанные выше команды могут исправить почти все проблемы, связанные с поврежденными пакетами или прерванными процедурами. Поскольку apt и aptitude являются внешними интерфейсами dpkg, обычно меры по устранению проблем одинаковы. Если все описанные шаги не работают, и ваша ошибка возникает на настольном компьютере, перезагрузка компьютера должна освободить диспетчер пакетов. Но все описанные выше шаги, если они применяются правильно, должны работать.