Linux dpkg-lockedСредняя

Ошибка dpkg locked: как разблокировать пакетный менеджер

Эта статья объясняет, что такое ошибка dpkg locked в Linux, и предлагает несколько проверенных способов её решения, чтобы вы могли возобновить управление пакетами.

Обновлено 17 февраля 2026 г.
5-10 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 20.04+Debian 10+Linux Mint 20+

Что означает ошибка dpkg locked

Ошибка dpkg locked (или Could not get lock) возникает, когда система управления пакетами dpkg (или apt) не может получить доступ к своей базе данных, потому что другой процесс уже её использует. Типичные сообщения об ошибке:

E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 1234 (apt)
E: Could not get lock /var/lib/dpkg/lock. It is held by process 5678 (dpkg)

Эта ошибка появляется при попытке выполнить команды вроде sudo apt update, sudo apt install <пакет> или sudo dpkg -i <файл.deb>. Она блокирует любые операции установки, удаления или обновления пакетов до тех пор, пока блокировка не будет снята.

Причины возникновения

  1. Параллельный запуск менеджеров пакетов: Вы запустили apt в терминале, одновременно используя графический менеджер пакетов (Software Center, Synaptic) или другой экземпляр apt/dpkg.
  2. Прерванная операция: Предыдущая установка или обновление была принудительно остановлена (например, через Ctrl+C, закрытие терминала или сбой системы), оставив lock-файл.
  3. Фоновые процессы: Автоматические обновления (например, через unattended-upgrades) или другие системные службы, использующие dpkg/apt.
  4. Оставшийся lock-файл: В редких случаях lock-файл мог остаться из-за проблем с правами доступа или повреждения файловой системы.

Способы решения

Способ 1: Завершите конфликтующие процессы

Сначала определите, какой процесс удерживает блокировку.

  1. Найдите PID (идентификатор процесса) с помощью:
    sudo lsof /var/lib/dpkg/lock-frontend
    sudo lsof /var/lib/dpkg/lock
    

    Если команда возвращает процесс (например, apt или dpkg), запишите его PID.
  2. Альтернативно, используйте:
    ps aux | grep -E 'apt|dpkg'
    

    Ищите процессы вроде apt-get, apt-systemd, dpkg.
  3. Безопасно завершите процесс:
    • Если процесс активен (идёт установка), подождите его завершения.
    • Если процесс "завис" или вы уверены, что он не нужен, завершите его:
      sudo kill <PID>
      
      Если не помогает, используйте принудительное завершение:
      sudo kill -9 <PID>
      
    • Можно завершить все процессы apt и dpkg (осторожно!):
      sudo pkill -9 apt
      sudo pkill -9 dpkg
      
  4. После завершения процессов попробуйте снова выполнить вашу команду (например, sudo apt update).

Способ 2: Вручную удалите lock-файлы

Если процессы не найдены или ошибка persists, lock-файлы, вероятно, остались от прерванной операции.

  1. Убедитесь, что нет активных процессов dpkg/apt (повторите шаги из Способ 1).
  2. Удалите lock-файлы:
    sudo rm /var/lib/dpkg/lock
    sudo rm /var/lib/dpkg/lock-frontend
    sudo rm /var/cache/apt/archives/lock
    sudo rm /var/lib/apt/lists/lock
    

    ⚠️ Важно: Удаляйте lock-файлы только если уверены, что нет работающих процессов dpkg/apt. Иначе можно повредить базу пакетов.

  3. После удаления переконфигурируйте dpkg, чтобы завершить любые незавершённые операции:
    sudo dpkg --configure -a
    
  4. Теперь можно снова использовать apt или dpkg.

Способ 3: Перезапустите систему

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

  1. Перезагрузите систему:
    sudo reboot
    

    При загрузке все процессы завершатся, и lock-файлы будут автоматически освобождены.
  2. После входа в систему попробуйте выполнить команду apt снова.

Способ 4: Исправьте права доступа (если нужно)

В редких случаях проблема может быть в неправильных правах на lock-файлы или директории.

  1. Проверьте права на директорию /var/lib/dpkg/:
    ls -ld /var/lib/dpkg/
    

    Владелец должен быть root:root, права drwxr-xr-x.
  2. Если права некорректны, исправьте:
    sudo chown root:root /var/lib/dpkg/
    sudo chmod 755 /var/lib/dpkg/
    
  3. Повторите удаление lock-файлов (Способ 2) и переконфигурацию.

Профилактика

Чтобы избежать повторения ошибки dpkg locked:

  • Не запускайте параллельно несколько менеджеров пакетов. Закройте все графические утилиты (Software Center, Synaptic) перед использованием apt в терминале.
  • Не прерывайте операции установки/удаления (например, через Ctrl+C), если только это не критично. Дождитесь завершения.
  • Регулярно обновляйте систему (sudo apt update && sudo apt upgrade), чтобы минимизировать незавершённые операции.
  • Настройте автоматические обновления (если используете unattended-upgrades), чтобы они не конфликтовали с ручными действиями. Проверьте, что служба работает корректно:
    sudo systemctl status unattended-upgrades
    
  • При использовании скриптов для автоматизации, добавляйте проверку lock-файлов через flock или аналоги, чтобы избежать одновременного запуска.

Если ошибка возникает часто без видимой причины, проверьте системные журналы на наличие других проблем:

sudo journalctl -xe | grep -i dpkg

Часто задаваемые вопросы

Почему возникает ошибка dpkg locked?
Можно ли игнорировать эту ошибку и продолжить?
Как предотвратить повторение ошибки dpkg locked?
Что делать, если lock-файл не удаляется?

Полезное

Найдите процессы, удерживающие блокировку
Завершите найденные процессы
Удалите lock-файлы вручную
Переконфигурируйте dpkg

Эта статья помогла вам решить проблему?