Эта проблема возникает при работе с утилитой управления пакетами apt (или apt-get в более ранних версиях) при попытке установить / обновить любые программные компоненты.
Начиная с Ubuntu 18.04, текст ошибки был немного изменен, и теперь он выглядит так:
E: Could not get lock /var/lib/dpkg/lock-frontend – open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
Решение проблемы
Во-первых, вам нужно проверить, запущен ли экземпляр apt в одном из терминалов, и дождаться его завершения.
Принудительное закрытие также часто используется в данном случае, так как это быстрее и не представляет серьезной опасности для системы (прежде всего, если apt был склонен к отказу).
Есть два способа сделать это.
Убить процесс
Программа может быть завершена с помощью встроенной команды kill, которая отправляет определенный сигнал процессам.
Если вы не укажете номер сигнала, пользователи получат сообщение с предложением завершить процесс.
Если вы укажете девятку, процесс останавливается без предупреждения и выделения времени для правильного завершения.
Команда kill также может работать с именами процессов, но в следующем примере используется ID.
Поэтому сначала мы узнаем идентификатор процесса (PID):
pgrep apt
sudo kill -9 1339
Поскольку родительский процесс всегда выше, чем его дочерний процесс, эту процедуру можно выполнить намного быстрее, создав скрипт fix-apt.sh со следующим содержимым:
#!/bin/bash sudo kill -9 $(ps ax | grep apt | head -1 | gawk ‘{print $1}’)
sudo chmod +x fix-apt.sh
Удалить файлы блокировки
За это отвечают 3 файла блокировки, которые находятся в архивах /var/lib/apt/lists, /var/lib/dpkg и /var/cache/apt/.