Ожидание блокировки кэша не удалось получить блокировку файла var lib dpkg lock

Обновлено: 06.07.2024

Невозможно заблокировать

El ошибка «не удалось получить блокировку / var / lib / dpkg / lock» довольно часто встречается в Debian, Ubuntu и производных и это обычно он запускается, когда другой процесс, использующий apt он работает либо в фоновом режиме, либо когда у вас открыт программный центр Ubuntu, Synaptic и другие.

Оттого в этой статье мы увидим, как решить эту ошибку несмотря на то, что применили решения к вышеупомянутому.

Обычно, отчаявшись увидеть эту ошибку и не имея возможности что-либо сделать с помощью apt, они выбирают классический вариант «sudo rm», который является наименее указанным вариантом.

Но прежде чем перейти непосредственно к этому, мы можем увидеть, что другие причины блокируют использование apt.

решения

Кomo упомянутая выше, эта ошибка обычно отображается, когда у вас есть возможность работать в другом процессеПоэтому, если вы хотите выполнить обновление или установку с терминала, и у вас есть программный центр Ubuntu, Synaptic или менеджер пакетов, открытый в фоновом режиме, это основная причина этой ошибки.

Решение 1

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

При этом мы перестанем получать ошибку:

Но что, если у вас ничего этого не работает?

Эсто Это связано с тем, что Ubuntu по умолчанию разрешает фоновые обновления для обновления безопасности.

Когда Ubuntu завершает загрузку, он автоматически запускает команду apt-get update.

Если обновления безопасности доступны, он установит их в фоновом режиме.

Поэтому, если они одновременно запускают команду sudo apt upgrade, отображается указанная выше ошибка.

Обычно это случается довольно редко, но это случилось со всеми нами, потому что, когда мы включаем компьютер и хотим сделать какое-то движение с помощью apt, терминал выдает нам эту ошибку.

Здесь рекомендуется позволить Ubuntu сделать соответствующие обновления.

Решение 2

убунт-18.10

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

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

В части проверки обновлений мы меняем ее на «еженедельно или каждые две недели» - это ваш выбор.

Затем введите свой пароль пользователя, чтобы это изменение вступило в силу.

так же вы можете добиться тех же результатов из командной строки. В вашем терминале откройте файл /etc/apt/apt.conf.d/20auto-upgrades:

Исходное содержание выглядит следующим образом:

Чтобы отключить автоматическое обновление безопасности, измените их на:

Они сохраняют файл с помощью Ctrl + O и для выхода должны нажать Ctrl + X.

Позже перезапускаем наше оборудование.

Решение 3

Невозможно заблокировать

Наконец, если вы все еще продолжаете получать эту ошибку, не отчаивайтесь, рекомендуется разрешить вашей команде выполнять обновления, но если это занимает слишком много времени, возможно, настроенное вами зеркало переполнено или не работает.

Поэтому рекомендуется сменить сервер, с которого вы получаете пакеты Ubuntu.

Решение 4

В конце всего этого, если проблема не исчезнет, ​​вы можете применить окончательное решение, которое заключается в удалении файла, блокирующего apt.

Они могут удалить файл блокировки с помощью следующей команды:

Им также может потребоваться удалить файл блокировки в каталоге кеша.

Но они должны знать, что этот последний метод наименее рекомендован.

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Убунлог » Ubuntu » Учебники » Решения ошибки "не удалось получить блокировку / var / lib / dpkg / lock"

Этичный хакинг и тестирование на проникновение, информационная безопасность

Иногда при использовании менеджера пакетов apt для установки программы или обновления пакетов, возникает ошибка:


В Интернете уже достаточно часто обсуждалась эта ошибка, но я решил вернуться к её решению, поскольку обычно дают неправильный совет, что нужно удалить /var/lib/dpkg/lock. Если не было аварийного завершения работы менеджера пакетов apt, то не надо удалять файлы-блокировщики. Это приведёт к тому, что apt при последующем использовании будет сообщать об ошибке и придётся запускать команду для наведения порядка в пакетах.

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

Для других дистрибутивов это вызывает временное неудобство, поскольку нужно подождать, когда apt завершит свои фоновые задачи. Если нужно скачать много пакетов, а Интернет-соединение медленное, то придётся довольно долго ждать. Для Kali Linux, специализированного дистрибутива, такое поведение может для некоторых быть вообще неприемлемым. Кстати, авторы Kali Linux утверждают, что по умолчанию сетевые службы отключены. Тем не менее apt всё равно может автоматически скачивать обновления в фоне, когда вы об этом не подозреваете.

Дело в том, что, например, окружение рабочего стола (GNOME) могут запускать apt в фоне. Я, вроде бы, нашёл все настройки, после отключения которых apt уже никогда не будет ничего загружать без вашего ведома. Если после их применения у вас всё равно возникла ошибка «Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock - open (11: Ресурс временно недоступен)», пишите в комментариях — будем копать ещё глубже.

Итак, начинаем с самого очевидного, отключаем скачивание обновлений по расписанию. Проверить, включены ли какие-либо автоматические обновления, можно командой:

Для их отключения:

Теперь отключаем Unattended (самостоятельные) обновления, для этого откройте файл файл /etc/apt/apt.conf.d/20auto-upgrades

в нём имеются следующие строки:

Первая отвечает за обновление списка пакетов, а вторая – за обновления самих пакетов в системе. Вместо единиц впишете нули.

Теперь проверьте, настроен ли GNOME делать автоматические обновления:

Если будет выведено true, значит да, графическая оболочка также в фоне скачивает обновления.

Чтобы это отключить выполните:

Аварийное завершение работы во время обновления системы или установки программ

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

Скорее всего, чтобы вновь появилась возможность использовать apt понадобиться выполнить следующую команду, для исправления проблем:


Ошибка dpkg lock

Ошибка может появляться не только при выполнении apt install, но и при любых других действиях с apt или apt-get.

Данные ошибки появляются, когда программа apt-get (apt) не может получить доступ к файлу блокировки /var/lib/dpkg/lock* . Данный файл используется, чтобы запретить одновременное выполнение операций, связанных с управлением пакетами в системе, так как при одновременном изменении данных о пакетах будет нарушена целостность «пакетной базы».

Обычно существует две основные причины появления, описанных выше ошибок:

  1. В данный момент уже выполняется экземпляр программы apt-get (apt).
  2. Предыдущий вызов apt-get (apt) завершился некорректно.

Способ первый

Сначала нужно проверить, что уже не запущен другой экземпляр программы apt-get (apt). Выполним следующую команду, чтобы проверить есть ли apt в списке запущенных процессов:

Вывод команды может быть следующим:

dpkg lock завершение apt

В первой строке мы видим, что уже есть работающий экземпляр программы apt-get, который имеет PID (идентификатор) 9425. Вторая строка относится к нашей команде grep, которую мы запустили с аргументом apt, поэтому она вывела саму себя. Итак, нас интересует только первая строка.

Если вы уверены, что не запускали программу apt-get сами, или она не запущена в фоновом режиме, например, выполняется автоматическое обновление системы, то нужно принудительно завершить ее выполнение. Для этого воспользуемся командой kill −9 . Команде нужно указать числовой идентификатор процесса. В нашем случае это 9425. Выполняем команду:

После выполнения данной команды, процесс с идентификатором 9425 завершится.

Можно воспользоваться еще одним простым способом — это завершить все экземпляры программ apt и apt-get сразу. Для этого можно выполнить команду:

Способ второй

Если первый способ вам не помог, то рассмотрим еще один способ решения проблемы. Обычно он используется, когда нет работающих экземпляров программ apt или apt-get, а значит предыдущее их выполнение завершилось аварийно, и файлы блокировки остались закрытыми.

Нам нужно удалить все файлы блокировки. Для этого выполняем команды:

После этого нужно выполнить переконфигурацию (донастройку) пакетов:

Заключение

Мы рассмотрели два способа решения ошибок, связанных с доступом к файлу блокировки dpkg. Как правило, эти способы помогают. Если у вас остались какие-либо вопросы, оставляйте их в комментариях.

linux-logo

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

При выполнении в Ubuntu команды вида:

в терминале появляется ошибка:

Ошибка может появляться не только при выполнении apt install , но и при любых других действиях с apt или apt-get .

Данные ошибки появляются, когда программа apt-get (apt) не может получить доступ к файлу блокировки /var/lib/dpkg/lock* . Данный файл используется, чтобы запретить одновременное выполнение операций, связанных с управлением пакетами в системе, так как при одновременном изменении данных о пакетах будет нарушена целостность «пакетной базы».

Обычно существует две основные причины появления, описанных выше ошибок:

  • В данный момент уже выполняется экземпляр программы apt-get (apt).
  • Предыдущий вызов apt-get (apt) завершился некорректно.

Способ первый

Сначала нужно проверить, что уже не запущен другой экземпляр программы apt-get (apt). Выполним следующую команду, чтобы проверить есть ли apt в списке запущенных процессов:

Вывод команды может быть следующим:

В первой строке мы видим, что уже есть работающий экземпляр программы apt-get, который имеет PID (идентификатор) 9425.

Вторая строка относится к нашей команде grep , которую мы запустили с аргументом apt, поэтому она вывела саму себя. Итак, нас интересует только первая строка.

Если вы уверены, что не запускали программу apt-get сами, или она не запущена в фоновом режиме, например, выполняется автоматическое обновление системы, то нужно принудительно завершить ее выполнение. Для этого воспользуемся командой kill −9 . Команде нужно указать числовой идентификатор процесса. В нашем случае это 9425. Выполняем команду:

После выполнения данной команды, процесс с идентификатором 9425 завершится.

Можно воспользоваться еще одним простым способом — это завершить все экземпляры программ apt и apt-get сразу. Для этого можно выполнить команду:

Способ второй

Если первый способ вам не помог, то рассмотрим еще один способ решения проблемы. Обычно он используется, когда нет работающих экземпляров программ apt или apt-get, а значит предыдущее их выполнение завершилось аварийно, и файлы блокировки остались закрытыми.

Нам нужно удалить все файлы блокировки. Для этого выполняем команды:

После этого нужно выполнить переконфигурацию (донастройку) пакетов:

Заключение

Мы рассмотрели два способа решения ошибок, связанных с доступом к файлу блокировки dpkg. Как правило, эти способы помогают в решении.

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

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

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

Читайте также: