Найти в Дзене
Сисадмин

Не удалось получить блокировку файла в Linux? Не беда!

Классическая ошибка в Linux: Could not get lock /var/lib/apt/lists/lock или по-русски: "Не удалось получить блокировку файла /var/lib/apt/lists/lock" Это как если бы ты пришёл в библиотеку, а там уже кто-то читает ту самую книгу, и библиотекарь такой:
«Подожди, занято». APT (менеджер пакетов в Debian/Ubuntu) использует файлы блокировок, чтобы не допустить одновременного запуска двух процессов, например: Если два процесса начнут одновременно шариться в списках пакетов — будет бардак, и APT говорит: "НЕТ!" ps aux | grep apt или lsof /var/lib/apt/lists/lock Если видишь что-то вроде apt, apt-get, dpkg, и оно живое — подожди пару минут, особенно если ты только что поставил обновления или машина сама что-то тянет. Если это зомби-процесс, который повис навечно: sudo killall apt apt-get или вручную по PID: sudo kill -9 <pid> sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a ⚠️ ВАЖНО: удаляй Только если ты УВЕРЕН, что APT
Оглавление
Не удалось получить блокировку файла
Не удалось получить блокировку файла

Классическая ошибка в Linux:

Could not get lock /var/lib/apt/lists/lock

или по-русски:

"Не удалось получить блокировку файла /var/lib/apt/lists/lock"

Это как если бы ты пришёл в библиотеку, а там уже кто-то читает ту самую книгу, и библиотекарь такой:

«Подожди, занято».

Почему это происходит?

APT (менеджер пакетов в Debian/Ubuntu) использует файлы блокировок, чтобы не допустить одновременного запуска двух процессов, например:

  • apt update
  • apt upgrade
  • dpkg
  • автоматическое обновление через unattended-upgrades
  • или даже жуткий GUI типа Software Center

Если два процесса начнут одновременно шариться в списках пакетов — будет бардак, и APT говорит: "НЕТ!"

Что делать?

1. Убедись, что другой процесс не работает

ps aux | grep apt

или

lsof /var/lib/apt/lists/lock

Если видишь что-то вроде apt, apt-get, dpkg, и оно живое — подожди пару минут, особенно если ты только что поставил обновления или машина сама что-то тянет.

2. Процесс завис? Убей его (жестоко, но эффективно)

Если это зомби-процесс, который повис навечно:

sudo killall apt apt-get

или вручную по PID:

sudo kill -9 <pid>

3. Удаление файлов блокировок (только если уверен, что никто не работает)

sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a

⚠️ ВАЖНО: удаляй Только если ты УВЕРЕН, что APT нигде не работает.

Иначе — будет весело, как после rm -rf /.

🚫 Как не попасть в это снова

  • Никогда не запускай APT в двух терминалах одновременно
  • Не дерись с GUI-инсталлятором — если Software Center что-то делает, не мешай ему
  • Отключи unattended-upgrades, если хочешь всё делать вручную:
sudo systemctl disable --now unattended-upgrades