Ошибка доступа к файлу блокировок

[РЕШЕНО] Ошибка при выполнении apt: E: Не удалось получить доступ к файлу блокировки.

06.06.2019

linux-logo

Сегодня в статье рассмотрим, как можно избавиться от надписи в командной строке:

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?

Как исправить данную ошибку.

Данные ошибки появляются, когда программа 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. Как правило, эти способы помогают в решении.

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВКонтакте или подписаться на Twitter. Ссылки в шапке страницы.
Заранее всем спасибо!!!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

0
0
голоса

Рейтинг статьи

25.11

2020

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

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

При обновлении пакетов в ОС 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

После удаления заблокированного файла можно дальше обновлять систему любым удобным способам.

Теги: ubuntu

Комментарии

Сегодня рассмотри еще одну очень часто встречающеюся ошибку которая может появиться во время установки нового пакета в Astra Linux. Это даже не ошибка а предупреждение о том что необходимый ресурс (каталог) заблокирован, т.е. используется либо другим пользователем либо приложением. Решений тут два, самый простой способ это перезагрузка системы, но это не всегда удобно, да и в принципе не совсем правильно и второй вариант узнать какой процесс в данный момент его использует и завершить его. Делается все это очень просто, выполнением двух команд.

Astra не удалось выполнить блокировку управляющего каталога /var/lib/dpkg/

И так во время установки нового пакета (программы) в Astra Linux, с помощью команды.

sudo apt install название пакета

Система выдает следующие сообщение.

Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock — open (11: Ресурс временно недоступен)

Не удалось выполнить блокировку управляемого каталога (/var/lib/dpkg/); он уже используется другим процессом.

Astra Не удалось получить доступ

Для того чтобы узнать какой пользователь и процесс блокирует установку нового пакета, необходимо ввести команду.

sudo fuser -v /var/lib/dpkg/lock

В результате видим что его использует пользователь «root» и процесс «synaptic». В моем случае просто открыть «менеджер пакетов Synaptic». Для возможности установки достаточно его закрыть.

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

Если Вы не знаете что за это за процесс, то его можно завершить командой.

sudo fuser -vki /var/lib/dpkg/lock

Подтверждаем завершение данного процесса.

Astra  не удалось выполнить блокировку управляющего каталога /var/lib/dpkg/

После этого можно пробовать устанавливать пакеты.

Права доступа

Ошибка, связанная с недостаточными правами пользователя, может возникнуть после того, как в системе заведен новый пользователь. У каждого пользователя 1С на программном уровне есть определенные права доступа. Такой набор прав называется ролью, а определяется он в конфигураторе. Если используется клиент-серверная версия программы, установка прав осуществляется на уровне сервера SQL.

При использовании варианта «файл-сервер» права доступа сотрудников настраиваются непосредственно в базе данных. Однако в данном случае сервер базы данных отсутствует в принципе, поэтому ответственность за соблюдение прав доступа лежит на самой программе.

Но стабильная работа 1С не обеспечивается только настройкой прав на уровне программы. Связано это с тем, что доступ к базе данных, как и к любому другому типу файлов, регламентируется путем настройки прав на уровне операционной системы. Ошибка открытия файла блокировок может возникать, если таких прав недостаточно. В данном случае речь идет о файле 1Cv8.1CL, находящемся внутри базы 1Cv8.1CD.

Соответственно, для того, чтобы пользователь смог полноценно работать с файлом, он должен получить ряд разрешений. Для этого необходимо открыть окно свойств папки или файла и перейти на вкладку «Безопасность». Чтобы сделать этот процесс проще и не тратить время на изменение свойств файлов и папок для каждого сотрудника отдельно, администратор может создать новую группу пользователей, которой будут предоставлены соответствующие права, а также открыт доступ к системным папкам AppData и Temp (которые тоже зачастую вызывают определенные проблемы). В дальнейшем достаточно просто добавлять в эту группу необходимые рабочие места.

Антивирусное ПО

Пользователи некоторых редакций операционных систем семейства Windows заметили, что их брандмауэры могут блокировать удаленный доступ к базе данных 1С. Аналогичная ситуация возникает с антивирусом «Kaspersky». Во избежание подобных проблем файл 1Cv8.1CD необходимо внести в список исключений брандмауэра Windows и антивирусной программы.

Остались вопросы? Мы с радостью поможем Вам в их решении.

Unable to acquire the dpkg frontend lock error is the most common error that happens with Linux systems, this can be solved easily.  This error is being displayed because another programme is attempting to update Ubuntu. A command or application locks the dpkg file when upgrading the system or installing new software (Debian package manager).

The error “unable to acquire the dpkg frontend lock” happened due to various reasons and can be solved by understanding the cause of the problem.

We can run the following command to check the error log and take a look at the process ID and error message.

$ sudo lsof /var/lib/dpkg/lock-frontend

frontend-lock-log

So here are a few common causes and their fixes:- 

1.  Unprivileged access 

sudo-error

$ apt install nano

E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)

E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?

In this case, the user doesn’t have access to run the particular command without having root access so users must use sudo to run the command before running it.

2. Broken package

dpkg: error:

his package provides frequent translation

updates.': version string has embedded spaces

E: Sub-process /usr/bin/dpkg returned an error code (2)

sometimes when we try to install the app, the app can be broken due to connection loss and various other reasons, in this case, we can run the following command to fix this:-

$ sudo dpkg --configure -a
or
$ sudo apt install -f

3. Installing an app from unlisted repositories or missing repositories

add=ppa

$ sudo apt install grub-customizer 

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)

E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

installed

Due to a typo or unavailability of apps in the repository it happens, in this case, you have to check the app ppa repository and add to the package repository, see in this thread for more details.

4. Frontend is locked by another process

Check if any process is running and using apt/dpkg

$ ps aux | grep -i apt

this is a dpkg error and finding the process id using the log command and by killing that PID will fix the issue

$ sudo kill -9 <PID>
or
$ sudo killall program_name

kill-example

5. Delete the lock file to fix the issue

This is a brute force method and you should use it carefully, although this also fixes the issue but system can be broken if you use this without understanding the error. Often restarting system can also fix the error so you must try restart before trying this step.

$ sudo rm /var/lib/apt/lists/lock
$ sudo rm /var/cache/apt/archives/lock
$ sudo rm /var/lib/dpkg/lock

delete-lock-file

I hope this article is helpful, give a like, happy learning.

Last Updated :
23 Nov, 2022

Like Article

Save Article

Возможно, вам также будет интересно:

  • Ошибка доступа к файлу проверьте запущенные процессы код ошибки
  • Ошибка доступа к файлу versions
  • Ошибка доступа к файлу проверьте запущенные процессы epic games
  • Ошибка доступа к файлу srvinfo
  • Ошибка доступа к файлу при открытом доступе

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии