К основному контенту

За какими важными жидкостями в современном автомобиле нужно следить?

Ошибка Unable to lock the administration directory /var/lib/dpkg

Когда вы пытаетесь использовать утилиту apt для установки программного обеспечения или обновления системы в Ubuntu, Debian, и других дистрибутивах вы можете столкнуться с ошибкой: Unable to lock the administration directory /var/lib/dpkg.

Эта ошибка по своей сути очень проста и исправить ее не сложно, но для новых пользователей она может стать серьезным препятствием на пути к освоению Linux систем. В этой статье мы рассмотрим что означает Unable to lock the administration directory /var/lib/dpkg, а также как решить эту проблему.

Содержание статьи: Что значит эта ошибка? Как исправить Unable to lock the administration directory? 1. Завершение программы apt 2. Удалить файл блокировки Выводы Что значит эта ошибка?

В Ubuntu 16.10 строки с сообщением об ошибке будут выглядеть вот так:

sudo apt install neofetch

[sudo] password for sergiy: 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?

Если перевести значение ошибки дословно, то утилита нам сообщает что не может создать файл блокировки /var/lib/apt/lists/lock или /var/lib/dpkg/lock, а поэтому не может быть уверена что она одна использует папку /var/lib/dpkg. Затем утилита спрашивает нет ли у нас уже запущенного второго экземпляра этой программы, который уже создал этот файл и сейчас работает с папкой. Дальше мы рассмотрим несколько способов решения этой проблемы. Как исправить Unable to lock the administration directory?

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

Но это только если действительно запущена другая версия программы. Посмотрите список процессов и проверьте есть ли там уже запущенный процесс apt или apt-get. Для этого можно использовать ps:

ps -A | grep apt



Вы также можете посмотреть какой процесс сейчас использует этот файл с помощью команды:

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

1. Завершение программы apt

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

sudo kill -9 PID

Или:

sudo kill -SIGKILL PID

Например, если PID процесса apt будет 13433, то команда будет выглядеть вот так:

sudo kill -9 13433 $ sudo kill -SIGKILL 13433

Также вы можете уничтожить все процессы apt за раз с помощью комады:

killall apt

2. Удалить файл блокировки

Если в папке есть файл lock, то утилита не будет трогать другие файлы в этой папке, таким образом, создавая файл, программа говорит, что работает с этими данными и если еще кто-то попытается их менять то это вызовет повреждение. Такой концепт используется не только в Linux, но и в Windows и других операционных системах.

Когда запускается утилита apt создается файл блокировки в таких директориях: /var/lib/apt/lists/, /var/lib/dpkg/ и /var/cache/apt/archives/. Это помогает утилите обнаружить уже запущенную копию и не повредить свои данные. Когда утилита завершает работу, данные удаляются.

Но файл блокировки может остаться в одной из директорий даже после завершения программы, если утилита завершила работу неправильно, например, с ошибкой сегментации или было неожиданное отключение электричества. В таком случае вам будет достаточно удалить эти файлы чтобы исправить ошибку. Сначала удалите файл блокировки из /var/lib/dpkg:

sudo rm /var/lib/dpkg/lock

Теперь запустите процесс перенастройки dpkg:

sudo dpkg --configure -a

Или же можно вручную удалить оставшиеся файлы блокировок:

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

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

Мы рассмотрели два способа решения ошибки unable to lock the administration directory var lib dpkg которая может вызвать затруднения у новых пользователей. Но теперь вы знаете почему она появляется и как с ней бороться. Если у вас остались вопросы, пишите в комментариях!

Комментарии


Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

Популярные сообщения из этого блога

Лучшие плагины для OBS Studio

Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользователям пр…

Установка операционной системы Raspberry pi 3

Raspberry Pi - это недорогой микрокомпьютер, который  помещается на ладони и может сделать очень многое. На основе этого микрокомпьютера можно создавать как серьезные проекты, по управлению умным домом, так и использовать в качестве медиацентра или даже легковесного домашнего компьютера с Linux. В одной из предыдущих статей мы подробно рассматривали начало работы с Raspberry Pi 3, как подключить устройство и что для этого необходимо, сейчас же остановимся более подробно на такой задаче, как установка операционной системы Raspberry Pi 3. Здесь используется процессор на архитектуре ARM, а значит вы можете установить любой поддерживаемый ARM дистрибутив, или же созданный специально для Raspberry дистрибутив Raspbian. Содержание статьи: Установка системы Raspberry с помощью NOOBS 1. Подготовка SD карты 2. Загрузка образ NOOBS 3. Запись на SD карту 4. Запуск системы Установка системы Raspberry из образа 1. Загрузка образа 2. Запись образ на карту Выводы Установка системы Raspberry …

Подключение OneDrive в Linux

OneDrive (Ранее известный как SkyDrive) это популярное облачное хранилище файлов от Майкрософт. Сейчас OneDrive бесплатно предоставляет 7 гигабайт пространства новым пользователям. Как вы знаете OneDrive хорошо интегрирован с другими продуктами компании  Microsoft. В OneDrive Также есть официальный клиент который автоматически загружает ваши видео и фотографии с камеры в облако. Но к сожалению этот клиент недоступен для операционных систем семейства Linux. Но не все так плохо. Сообщество открытого программного обеспечения уже нашло решение. Это opedrive-d от Boilermaker. Запустившись как демон программа автоматически синхронизирует локальную папку с облаком OneDrive. Содержание статьи: Установка Onedrive-d в Linux Настройка Синхронизация локальной папки с OneDrive Установка Onedrive-d в Linux Несмотря на то что onedrive-d разрабатывается для Ubuntu/Debian, CentOs/Fedora/RHEL поддерживается тоже хорошо. Для установки достаточно набрать несколько команд: $ git clone https://gith…