Ошибки

Ошибка apt Could not get lock: пакеты ставит другая программа

Пакеты на сервере в эту минуту ставит или обновляет другая программа — например, автоматические обновления. Дождитесь, пока она закончит, и повторите команду. Файл блокировки не удаляйте.

Обновлено 09.10.2026≈ 6 мин чтения
Содержание 10

Что сделать прямо сейчас

  1. Посмотрите в сообщении номер и имя процесса, который держит блокировку, — шаг 1.
  2. Подождите несколько минут и повторите ту же команду — шаг 2.
  3. Если блокировку держит ваша же команда в другом окне, доведите её до конца там — шаг 3.
  4. Не удаляйте файлы lock и не перезагружайте сервер посреди установки — чего не делать.

Все команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне.

Что значит это сообщение

E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 1234 (unattended-upgr)
N: Be aware that removing the lock file is not a solution and may break your system.
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

Ставить, обновлять и удалять пакеты одновременно может только одна программа. Пока она работает, она держит блокировку файла /var/lib/dpkg/lock-frontend. Вторая команда видит, что блокировка занята, и останавливается, чтобы не испортить базу установленных пакетов.

В сообщении сказано, кто держит блокировку: номер процесса (здесь 1234) и его имя в скобках. Строка N: предупреждает, что удалять файл блокировки бесполезно и опасно.

Если такое пишет sudo apt update, в сообщении будет другой файл — /var/lib/apt/lists/lock. Смысл тот же: список пакетов в эту минуту обновляет другая программа.

E: Could not get lock /var/lib/apt/lists/lock. It is held by process 1234 (apt-get)
N: Be aware that removing the lock file is not a solution and may break your system.
E: Unable to lock directory /var/lib/apt/lists/

Причины:

  • работают автоматические обновления: в Ubuntu Server программа unattended-upgrades стоит с самого начала, запускается по расписанию и ставит обновления безопасности сама;
  • в другом окне терминала или в другом подключении по SSH идёт установка, которую вы запустили раньше;
  • установку запустил скрипт или панель управления сервером.

Шаг 1. Посмотрите, кто держит блокировку

Имя процесса — в скобках в конце строки E: Could not get lock. Что оно значит:

Имя в скобкахЧто это
unattended-upgrАвтоматические обновления. Полное имя программы — unattended-upgrade, в сообщении оно обрезано
apt или apt-getДругая установка или обновление — ваша или запущенная скриптом
dpkgУстановка пакета, которую запустил apt или другая программа

Подробнее о процессе — полная команда и время запуска:

ps -fp 1234

Вместо 1234 подставьте номер из своего сообщения. В столбце CMD будет команда целиком, в столбце STIME — время запуска. Если команда вывела только строку заголовка UID PID PPID …, процесса уже нет: повторите свою команду.

Шаг 2. Подождите и повторите команду

Автоматические обновления заканчиваются сами. Подождите несколько минут и повторите ту же команду. Повторять можно сколько угодно раз: пока блокировка занята, apt ничего на сервере не меняет.

Команда apt, запущенная вами в терминале, умеет ждать сама. Вместо ошибки она выводит строку, которая начинается со слов Waiting for cache lock: — «жду блокировку», — и продолжит работу, как только блокировка освободится. Окно в это время не закрывайте.

Команда apt-get сама не ждёт и сразу выводит ошибку. Если вы ставите пакеты через apt-get, подождите и запустите её снова.

Шаг 3. Если это ваша установка в другом окне

Если в выводе ps -fp в столбце CMD видна команда, которую вы запускали сами, — например, sudo apt upgrade, — найдите то окно терминала. Установка может стоять на вопросе и ждать ответа: Do you want to continue? [Y/n] или окно с выбором настроек. Прочитайте вопрос, ответьте и дождитесь, пока вернётся приглашение командной строки.

Если то окно уже закрыто и подключение по SSH оборвалось, установка могла завершиться вместе с ним. Повторите свою команду. Если apt напишет dpkg was interrupted, прошлую установку нужно доделать — как, сказано в разборе этой ошибки.

Чего не делать

  • Не удаляйте файлы lock-frontend, lock и lists/lock. Блокировку держит работающий процесс, а не сам файл: файл без процесса ничему не мешает. Если удалить его во время установки, две программы смогут менять пакеты одновременно и испортят базу пакетов. Об этом и предупреждает строка N:.
  • Не завершайте процесс командой kill и не перезагружайте сервер, пока идёт установка: пакет останется установленным наполовину.
  • Если установка всё же прервалась, apt при следующем запуске напишет dpkg was interrupted — тогда доделайте её по шагам из того разбора.

Как проверить

Повторите свою команду. Если блокировка свободна, apt покажет, что собирается поставить, и спросит подтверждение или сразу начнёт работу.

Похожие ошибки

СообщениеЧем отличается
are you root?Блокировку не взять из-за прав: команда запущена без sudo
dpkg was interruptedБлокировка свободна, но прошлая установка не закончена

Тексты сообщений на этой странице сверены с исходным кодом apt 2.7.14 — эта версия стоит в Ubuntu 24.04. В других версиях Ubuntu слова могут немного отличаться.

Источники

Сверено 9 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 09.10.2026