Мне просто интересно, может кто-нибудь сказать мне, что это значит:
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
reidsr@ubuntu:~$ sudo dpkg --configure -a
dpkg: error: dpkg status database is locked by another process
reidsr@ubuntu:~$
Как мне запустить sudo dpkg --configure -a
вручную?
Ответы:
Первый забег:
Затем убедитесь, что процесс не запущен:
Если он работает:
Убедитесь, что процесс завершен:
Затем удалите файл блокировки:
Позвольте dpkg исправить себя:
Вы должны быть в порядке потом :)
источник
lsof /var/lib/dpkg/lock
.Вы не можете запускать несколько пакетов приложений / команд / инструментов одновременно. Иногда это означает, что в фоновом режиме работают synaptic, apt-get или инструмент обновления пакетов. Просто закройте другие инструменты пакета или дождитесь их завершения. И дпкг побежит.
источник
Можно также попробовать:
Чтобы исправить любые сломанные пакеты:
источник
Следующее должно помочь:
источник
Один из подходов - просто перезагрузить компьютер. Это сработало для меня.
источник
Это может произойти, если процесс обновления был прерван (как будто ваше соединение было потеряно). Вы можете попробовать использовать screen как root (
sudo su
), чтобы вернуться в сессию.источник
Здесь есть несколько хороших ответов, но я просто хотел добавить не-lsof метод поиска пользователя блокировки dpkg
Шаг 1: Узнайте, кто блокирует dpkg:
Вариант № 1: Использование lsof (не всегда установлен на машине)
lsof /var/lib/dpkg/lock
Вариант № 2: Использование Bash
for pid in $(ls /proc | egrep [0-9]+); do sudo ls -l /proc/$pid/fd 2>/dev/null | grep /var/lib/dpkg/lock && echo $pid; done
Шаг 2: Решите, что вы хотите сделать с текущим пользователем dpkg
Если такого процесса нет, решать нечего, просто перейдите к следующему шагу.
В противном случае вы должны решить, хотите ли вы убить процесс или позволить ему закончить изящно. Если вы решили убить его, просто используйте
kill <pid>
. Если процесс все равно не умрет, вы можете подумать об его уничтоженииkill -9 <pid>
, но это может привести к определенным несоответствиям, и я советую не делать этого, если вы не знаете, что делаете.Шаг 3: Удалить файл блокировки
sudo rm /var/lib/dpkg/lock
Шаг 4: Исправьте внутреннее состояние dpkg
sudo dpkg --configure -a
источник
В нашем случае не было запущенного процесса (PID), поэтому я жестко остановил и перезагрузил VPS.
Далее, есть несколько файлов блокировки, которые, возможно, потребуется удалить:
Тогда вы можете исправить
dpkg
как предложено:источник