Решение проблемы «E: Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock» в Kali Linux
Иногда при использовании менеджера пакетов apt для установки программы или обновления пакетов, возникает ошибка:
E: Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock - open (11: Ресурс временно недоступен) E: Не удалось выполнить блокировку управляющего каталога (/var/lib/dpkg/); он уже используется другим процессом?
В Интернете уже достаточно часто обсуждалась эта ошибка, но я решил вернуться к её решению, поскольку обычно дают неправильный совет, что нужно удалить /var/lib/dpkg/lock. Если не было аварийного завершения работы менеджера пакетов apt, то не надо удалять файлы-блокировщики. Это приведёт к тому, что apt при последующем использовании будет сообщать об ошибке и придётся запускать команду для наведения порядка в пакетах.
Причина ошибки в том, что apt уже работает в фоне — скорее всего, просто скачивает пакеты обновлений, поскольку по умолчанию apt не устанавливает обновления самостоятельно.
Для других дистрибутивов это вызывает временное неудобство, поскольку нужно подождать, когда apt завершит свои фоновые задачи. Если нужно скачать много пакетов, а Интернет-соединение медленное, то придётся довольно долго ждать. Для Kali Linux, специализированного дистрибутива, такое поведение может для некоторых быть вообще неприемлемым. Кстати, авторы Kali Linux утверждают, что по умолчанию сетевые службы отключены. Тем не менее apt всё равно может автоматически скачивать обновления в фоне, когда вы об этом не подозреваете.
Дело в том, что, например, окружение рабочего стола (GNOME) могут запускать apt в фоне. Я, вроде бы, нашёл все настройки, после отключения которых apt уже никогда не будет ничего загружать без вашего ведома. Если после их применения у вас всё равно возникла ошибка «Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock - open (11: Ресурс временно недоступен)», пишите в комментариях — будем копать ещё глубже.
Итак, начинаем с самого очевидного, отключаем скачивание обновлений по расписанию. Проверить, включены ли какие-либо автоматические обновления, можно командой:
systemctl list-unit-files | grep enabled | grep apt
Для их отключения:
sudo systemctl disable apt-daily-upgrade.timer sudo systemctl disable apt-daily.timer
Теперь отключаем Unattended (самостоятельные) обновления, для этого откройте файл файл /etc/apt/apt.conf.d/20auto-upgrades
sudo gedit /etc/apt/apt.conf.d/20auto-upgrades
в нём имеются следующие строки:
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1";
Первая отвечает за обновление списка пакетов, а вторая – за обновления самих пакетов в системе. Вместо единиц впишете нули.
Теперь проверьте, настроен ли GNOME делать автоматические обновления:
gsettings get org.gnome.software download-updates
Если будет выведено true, значит да, графическая оболочка также в фоне скачивает обновления.
Чтобы это отключить выполните:
sudo gsettings set org.gnome.software download-updates false
Чуть более подробно на эту тему я писал в статье Как правильно и навсегда исправить ошибку «E: Не удалось получить доступ к файлу блокировки /var/lib/apt/lists/lock – open (11: Resource temporarily unavailable)».
Аварийное завершение работы во время обновления системы или установки программ
Если рассматриваемая ошибка была вызвана тем, что система была выключена во время обновления, то для её исправления нужно выполнить:
sudo rm /var/lib/dpkg/lock sudo rm /var/lib/dpkg/lock-frontend
Скорее всего, чтобы вновь появилась возможность использовать apt понадобиться выполнить следующую команду, для исправления проблем:
sudo dpkg --configure -a
Связанные статьи:
- Как установить пакет, для которого отсутствует зависимость нужной версии (88.9%)
- Решение проблемы в Kali Linux «W: Произошла ошибка при проверке подписи. Репозиторий не обновлён и будут использованы предыдущие индексные файлы. Ошибка GPG» (75.6%)
- Структура APT пакета: разбираемся в строении пакета Debian (75.3%)
- Метапакеты Kali Linux (75.3%)
- Управление пакетами в Kali Linux и других дистрибутивах на основе Debian (поиск, установка и удаление программ, решение проблем) (75.3%)
- Полное руководство по mod_rewrite (часть 6): Продвинутые техники применения mod_rewrite (RANDOM - 50%)
спасибо ! помогло очень
igor@kali:~$ /etc/apt/apt.conf.d/20auto-upgrades
bash: /etc/apt/apt.conf.d/20auto-upgrades: Нет такого файла или каталога
Что делать с этим
Ничего не делать. В последних Kali Linux всё отключено по умолчанию.
Здравия. Вначале обрадовался, два автообновления отключило, два таймера. А поом попробовал - всё равно ошибку пишет /var/lib/dpkg/lock-frontend-open (13: Отказано в доступе). По всему списку прошёлся пару раз с правами, но - увы. Вам, думаю, всё уже известно по эой ошибке. Надоели, думаю. Потратьте, пожалуйста, немного времени на мою проблему, подскажите - что и как сделать.
Приветствую! Когда я писал эту статью, то действительно постоянно натыкался на эту ошибку. Но в последние месяцы на новых версиях Kali Linux я с этой ошибкой больше не сталкивался, хотя использую её только в виртуальном компьютере. На основном компьютере у меня Arch Linux там такой проблемы нет в принципе — работает ровно то, что я сам запустил.
В следующий раз в момент, когда столкнётесь с этой ошибкой, сразу выполните такую команду:
Возможно, она покажет, через какую команду был запущен процесс apt.
Кстати, какое у вас окружение рабочего стола? GNOME или что-то ещё? Какая версия Kali Linux?
Если команда lsof /usr/bin/apt не поможет и если у вас последняя версия Kali Linux, то тогда вам нужно писать о проблеме в официальном багтрекере Kali Linux.
kali@kali:~$ apt update
Чтение списков пакетов… Готово
E: Не удалось открыть файл блокировки /var/lib/apt/lists/lock - open (13: Отказано в доступе)
E: Невозможно заблокировать каталог /var/lib/apt/lists/
W: Проблема при удалении файла /var/cache/apt/pkgcache.bin - RemoveCaches (13: Отказано в доступе)
W: Проблема при удалении файла /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Отказано в доступе)
Огромное спасибо за помощь, сработало!
404 Not Found [IP: 192.99.200.113 80]
Чтение списков пакетов… Готово
E: Репозиторий «http://http.kali.org/kali sana Release» не содержит файла Release.
N: Обновление из этого репозитория нельзя выполнить безопасным способом, поэтому по умолчанию он отключён.
N: Информацию о создании репозитория и настройках пользователя смотрите в справочной странице apt-secure(8).
Kali 2.0 Sana — 2015 год.
Спасибо, это помогло.