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

При обновлении пакетов в ОС Ubuntu иногда выскакивает ошибка Не удалось получить доступ к файлу блокировки. Эта ошибка говорит пользователю, что в данный момент идет обновление и Ваш запрос тут ему мешает. Но как ни пользователю знать: идет обновление или нет. Если Вы полностью уверены, что у Вас никакого обновления не идет, то смело избавляемся от этого нижеприведенным способом.
От чего появляется ошибка мы разобрались, теперь разберемся как от нее избавится.
Если копнуть поглубже, то ошибка Не удалось получить доступ к файлу блокировки возникает двух видов:
/var/lib/dpkg/lock
E: Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
Лечится такая ошибка простым удалением файла /var/lib/dpkg/lock:
sudo rm /var/lib/dpkg/lock
/var/cache/apt/archives/lock
E: Не удалось получить доступ к файлу блокировки /var/cache/apt/archives/lock - open (11: Resource temporarily unavailable) E: Невозможно заблокировать каталог, куда складываются скачиваемые файлы
Данная проблема исправляется удалением файла /var/cache/apt/archives/lock:
sudo rm /var/cache/apt/archives/lock
После удаления заблокированного файла можно дальше обновлять систему любым удобным способам.
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Решение проблемы «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
Аварийное завершение работы во время обновления системы или установки программ
Если рассматриваемая ошибка была вызвана тем, что система была выключена во время обновления, то для её исправления нужно выполнить:
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%)
- Вышла новая версия Parrot Security OS 3.6 (RANDOM — 50%)
факультете информационной безопасности от GeekBrains? Комплексная годовая программа практического обучения с охватом всех основных тем, а также с дополнительными курсами в подарок. По итогам обучения выдаётся свидетельство установленного образца и сертификат. По этой ссылке специальная скидка на любые факультеты и курсы!
Снимаем блокировку с /var/lib/dpkg/
Если во время установки или обновления программ через apt-get процесс был прерван нажатием Ctrl+Z, то при следующей попытке запуска apt-get получим ошибку:
E: Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock - open (11: Ресурс временно недоступен) E: Не удалось выполнить блокировку управляющего каталога (/var/lib/dpkg/); он уже используется другим процессом?
Хорошо, что можно разблокировать каталог всего одной командой. А избавиться от этой проблемы просто, достаточно выполнить команду:
sudo fuser -vki /var/lib/dpkg/lock
Должно получиться примерно так:
ПОЛЬЗ-ЛЬ PID ДОСТУП КОМАНДА /var/lib/dpkg/lock: root 4581 F. dpkg Завершить процесс 4581? (y/N) Y
Нажимаем «Y» и наслаждаемся нормальной работой apt-get . Я думаю многие пользователи знали об этой команде, но некоторые новички единственным выходом считали — sudo reboot .
[РЕШЕНО] Ошибка при выполнении apt: E: Не удалось получить доступ к файлу блокировки.

Сегодня в статье рассмотрим, как можно избавиться от надписи в командной строке:
E: Не удалось получить доступ к файлу блокировки .
При выполнении в Ubuntu команды вида:
sudo apt install имя_программы
в терминале появляется ошибка:
E: Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock-frontend - open (11: Ресурс временно недоступен)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
Ошибка может появляться не только при выполнении apt install , но и при любых других действиях с apt или apt-get .
Сообщение об ошибке может немного отличаться в зависимости от различных условий. Например, могут появляться следующие ошибки:
E: Could not get lock /var/lib/dpkg/lock – open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
E: Could not get lock /var/lib/apt/lists/lock – open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
E: Could not get lock /var/lib/dpkg/lock – open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
Как исправить данную ошибку.
Содержание
- 1. Как исправить данную ошибку.
- 2. Способ первый
- 3. Способ второй
- 4. Заключение
Данные ошибки появляются, когда программа apt-get (apt) не может получить доступ к файлу блокировки /var/lib/dpkg/lock* . Данный файл используется, чтобы запретить одновременное выполнение операций, связанных с управлением пакетами в системе, так как при одновременном изменении данных о пакетах будет нарушена целостность «пакетной базы».
Обычно существует две основные причины появления, описанных выше ошибок:
- В данный момент уже выполняется экземпляр программы apt-get (apt).
- Предыдущий вызов apt-get (apt) завершился некорректно.
Способ первый
Сначала нужно проверить, что уже не запущен другой экземпляр программы apt-get (apt). Выполним следующую команду, чтобы проверить есть ли apt в списке запущенных процессов:
ps aux | grep -i apt
Вывод команды может быть следующим:
root 9425 0.0 0.0 79516 3752 pts/1 S+ 10:31 0:00 sudo apt-get install inkscape pingvin+ 9456 0.0 0.0 38892 944 pts/0 S+ 10:32 0:00 grep --color=auto -i apt lock dpkg завершение apt
В первой строке мы видим, что уже есть работающий экземпляр программы apt-get, который имеет PID (идентификатор) 9425.
Вторая строка относится к нашей команде grep , которую мы запустили с аргументом apt, поэтому она вывела саму себя. Итак, нас интересует только первая строка.
Если вы уверены, что не запускали программу apt-get сами, или она не запущена в фоновом режиме, например, выполняется автоматическое обновление системы, то нужно принудительно завершить ее выполнение. Для этого воспользуемся командой kill −9 . Команде нужно указать числовой идентификатор процесса. В нашем случае это 9425. Выполняем команду:
sudo kill -9 9425
После выполнения данной команды, процесс с идентификатором 9425 завершится.
Можно воспользоваться еще одним простым способом — это завершить все экземпляры программ apt и apt-get сразу. Для этого можно выполнить команду:
sudo killall apt apt-get
Способ второй
Если первый способ вам не помог, то рассмотрим еще один способ решения проблемы. Обычно он используется, когда нет работающих экземпляров программ apt или apt-get, а значит предыдущее их выполнение завершилось аварийно, и файлы блокировки остались закрытыми.
Нам нужно удалить все файлы блокировки. Для этого выполняем команды:
sudo rm /var/lib/apt/lists/lock sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock
Если при выполнении каких-нибудь из этих команд появится сообщение: rm: невозможно удалить ’/var/../lock’: Нет такого файла или каталога , это нормально, не обращайте на него внимания.
После этого нужно выполнить переконфигурацию (донастройку) пакетов:
sudo dpkg --configure -a
Заключение
Мы рассмотрели два способа решения ошибок, связанных с доступом к файлу блокировки dpkg. Как правило, эти способы помогают в решении.
Если есть вопросы, то пишем в комментариях в Телеграмм и ВК.
Ссылки в шапке страницы.
Заранее всем спасибо.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Сегодня в статье настроим и русифицируем Ubuntu Server 16.04/18.04/20.04. Чтобы поддерживался русский язык, и перевод системы стал русским

Начиная с сентября 2017 года удостоверяющим центрам предписано обязательно проверять CAA-записи в DNS перед генерацией сертификата

В этой статье рассмотрим пример обновления Ubuntu Server 16.04 до Ubuntu Server 18.04 Все наши действия нам придется выполнять из Читать
В связи с последними блокировками IP-адресов Роскомнадзором, встала необходимость завести свой собственный VPN сервер. Если VPN у вас ещё не Читать