- Ошибка Unable to lock the administration directory /var/lib/dpkg
- Что значит эта ошибка?
- Как исправить Unable to lock the administration directory?
- 1. Завершение программы apt
- 2. Удалить файл блокировки
- Выводы
- compizomania
- Страницы
- 18 декабря 2012
- Как избавиться от сообщения «Не удалось получить доступ к файлу блокировки» в Ubuntu/Linux Mint
- Ошибка при выполнении apt: Unable to acquire the dpkg lock /var/lib/dpkg/lock
- Описание проблемы. Ошибка
- Как исправить
- Способ первый
- Способ второй
- Заключение
- Решения ошибки «не удалось получить блокировку / var / lib / dpkg / lock»
- решения
- Решение 1
- Решение 2
- Решение 3
- Решение 4
- Как исправить `Не удалось получить блокировку /var/lib/dpkg/lock – открыто (11 Ресурс временно недоступен)` Ошибки
Ошибка 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, а также как решить эту проблему.
Что значит эта ошибка?
В 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:
Вы также можете посмотреть какой процесс сейчас использует этот файл с помощью команды:
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 за раз с помощью комады:
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 которая может вызвать затруднения у новых пользователей. Но теперь вы знаете почему она появляется и как с ней бороться. Если у вас остались вопросы, пишите в комментариях!
Источник
compizomania
Азбука в Linux для начинающих и не только. Я знаю только то, что ничего не знаю, но другие не знают и этого. Сократ
Страницы
18 декабря 2012
Как избавиться от сообщения «Не удалось получить доступ к файлу блокировки» в Ubuntu/Linux Mint
$ sudo apt-get update
E: Не удалось получить доступ к файлу блокировки /var/lib/apt/lists/lock — open (11: Ресурс временно недоступен)
E: Невозможно заблокировать каталог со списками пакетов
Подобное сообщение появляется иногда в терминале после выполнения команды apt-get. Это обозначает что где то есть процесс который закрыл базу apt для использования. Хотя, казалось бы, ни один процесс не запущен.
Как правило перезагрузка компьютера или системы помогает избавится от данного сбоя. Но мы постараемся справиться с этой проблемой без перезагрузки. Для этого выполните следующие действия:
Посмотрим запущенные процессы занявшие базу apt, выполнив команду в терминале:
sudo pgrep apt-get
Команда pgrep ищет запущенные процессы по шаблону имени. В данном случае она ищет запущенные процессы, в имени которых есть apt-get. Если команда ответит числом (одним или несколькими) это значит, что есть процессы с именем в котором есть apt-get.
Если такие процессы есть, их можно убить командой pkill:
sudo pkill apt-get
После выполнения данной команды, выполните команду на обновление, чтобы убедиться что база apt разблокирована:
sudo apt-get update
Сообщение «Не удалось получить доступ к файлу блокировки» не должно появиться и обновление пройдёт успешно.
Источник
Ошибка при выполнении apt: Unable to acquire the dpkg lock /var/lib/dpkg/lock
Описание проблемы. Ошибка
При выполнении в 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, а значит предыдущее их выполнение завершилось аварийно, и файлы блокировки остались закрытыми.
Нам нужно удалить все файлы блокировки. Для этого выполняем команды:
Если при выполнении каких-нибудь из этих команд появится сообщение: rm: невозможно удалить ’/var/../lock’: Нет такого файла или каталога , это нормально, не обращайте на него внимания.
После этого нужно выполнить переконфигурацию (донастройку) пакетов:
Заключение
Мы рассмотрели два способа решения ошибок, связанных с доступом к файлу блокировки dpkg. Как правило, эти способы помогают. Если у вас остались какие-либо вопросы, оставляйте их в комментариях.
Источник
Решения ошибки «не удалось получить блокировку / var / lib / dpkg / lock»
El ошибка «не удалось получить блокировку / var / lib / dpkg / lock» довольно часто встречается в Debian, Ubuntu и производных и это обычно он запускается, когда другой процесс, использующий apt он работает либо в фоновом режиме, либо когда у вас открыт программный центр Ubuntu, Synaptic и другие.
Оттого в этой статье мы увидим, как решить эту ошибку несмотря на то, что применили решения к вышеупомянутому.
Обычно, отчаявшись увидеть эту ошибку и не имея возможности что-либо сделать с помощью apt, они выбирают классический вариант «sudo rm», который является наименее указанным вариантом.
Но прежде чем перейти непосредственно к этому, мы можем увидеть, что другие причины блокируют использование apt.
решения
Кomo упомянутая выше, эта ошибка обычно отображается, когда у вас есть возможность работать в другом процессеПоэтому, если вы хотите выполнить обновление или установку с терминала, и у вас есть программный центр Ubuntu, Synaptic или менеджер пакетов, открытый в фоновом режиме, это основная причина этой ошибки.
Решение 1
Первое решение закрыть эти программы, пока они не работают в качестве обновления или установки приложения, потому что в этом случае настоятельно рекомендуется подождать.
При этом мы перестанем получать ошибку:
Но что, если у вас ничего этого не работает?
Сообщение об ошибке уже дает понять причину проблемы: используется другой процесс / var / lib / dpkg /.
Эсто Это связано с тем, что Ubuntu по умолчанию разрешает фоновые обновления для обновления безопасности.
Когда Ubuntu завершает загрузку, он автоматически запускает команду apt-get update.
Если обновления безопасности доступны, он установит их в фоновом режиме.
Поэтому, если они одновременно запускают команду sudo apt upgrade, отображается указанная выше ошибка.
Обычно это случается довольно редко, но это случилось со всеми нами, потому что, когда мы включаем компьютер и хотим сделать какое-то движение с помощью apt, терминал выдает нам эту ошибку.
Здесь рекомендуется позволить Ubuntu сделать соответствующие обновления.
Решение 2
Чтобы решить эту проблему достаточно зайти в приложение «Программное обеспечение и обновления», которое мы будем искать в меню наших приложений.
И в открывшемся окне мы должны перейти на вкладку Updates, среди опций, которые показывают нам по умолчанию, обновления безопасности загружаются и устанавливаются автоматически. чтобы изменить это, мы должны изменить это на «Показать немедленно».
В части проверки обновлений мы меняем ее на «еженедельно или каждые две недели» — это ваш выбор.
Затем введите свой пароль пользователя, чтобы это изменение вступило в силу.
так же вы можете добиться тех же результатов из командной строки. В вашем терминале откройте файл /etc/apt/apt.conf.d/20auto-upgrades:
Исходное содержание выглядит следующим образом:
Чтобы отключить автоматическое обновление безопасности, измените их на:
Они сохраняют файл с помощью Ctrl + O и для выхода должны нажать Ctrl + X.
Позже перезапускаем наше оборудование.
Решение 3
Наконец, если вы все еще продолжаете получать эту ошибку, не отчаивайтесь, рекомендуется разрешить вашей команде выполнять обновления, но если это занимает слишком много времени, возможно, настроенное вами зеркало переполнено или не работает.
Поэтому рекомендуется сменить сервер, с которого вы получаете пакеты Ubuntu.
Решение 4
В конце всего этого, если проблема не исчезнет, вы можете применить окончательное решение, которое заключается в удалении файла, блокирующего apt.
Они могут удалить файл блокировки с помощью следующей команды:
Им также может потребоваться удалить файл блокировки в каталоге кеша.
Но они должны знать, что этот последний метод наименее рекомендован.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Убунлог » Ubuntu » Учебники » Решения ошибки «не удалось получить блокировку / var / lib / dpkg / lock»
Источник
Как исправить `Не удалось получить блокировку /var/lib/dpkg/lock – открыто (11 Ресурс временно недоступен)` Ошибки
В последнее время я получаю много ошибок “Could not get lock /var/lib/dpkg/lock”, когда “Could not get lock /var/lib/dpkg/lock – open (11 Resource temporarily unavailable)” пытаюсь установить или обновить пакеты из командной строки в Ubuntu, поэтому я решил написать статью о том, как можно избавиться от таких проблем.
Вот полное сообщение об ошибке:
E: Не удалось получить блокировку /var/lib/dpkg/lock – открыто (11 Ресурс временно недоступен)
E: Невозможно заблокировать каталог администрирования (/var/lib/dpkg/), его использует другой процесс?
Для более новых версий Ubuntu это сообщение изменилось, и теперь оно показывает, какой процесс удерживает “/var/lib/dpkg/lock-frontend”, примерно вот так:
Как и говорится в сообщении, это может произойти, если другой процесс использует /var/lib/dpkg/lock. Поэтому первое что нужно сделать, если вы столкнулись с этой ошибкой, это убедиться, что вы закрыли менеджеры пакетов, такие как Synaptic и т.д. Также проверьте, нет ли у вас других открытых терминалов, которые в данный момент выполняют процедуру установки / обновления, и дождитесь завершения этих процессов.
Если вы используете более новую версию Ubuntu, сообщение само подскажет вам, какой процесс удерживает “/var/lib/dpkg/lock” / “/var/lib/dpkg/lock-frontend”.
Если ни один процесс не использует /var/lib/dpkg/lock, следующим шагом будет… ожидание. В некоторых случаях этого достаточно для устранения ошибок “Could not get lock /var/lib/dpkg/lock” и “Could not get lock /var/lib/dpkg/lock-frontend”.
Другой потенциальный способ обойти эту проблему – перезагрузить систему и посмотреть, будет ли она по-прежнему возникать.
Однако бывают случаи, когда вышеупомянутых решений может быть недостаточно. Для таких случаев вот что вы можете сделать.
Используйте это только в том случае, если ничто другое не помогло! Использование приведенных ниже команд может привести к поломке пакетов / повреждению. Используйте их на свой страх и риск!
Если ничего не помогло (по моему опыту, это обычно происходит, если система была принудительно выключена или перезагружена во время установки или обновления пакетов, например, из-за отключения электричества), вы можете удалить файл apt lock/lock-frontend и посмотреть, устранит ли это проблему на вашей системе Ubuntu / Debian / Linux Mint (и любой системе, использующей APT):
Если вы все еще получаете ошибки о блокировке кэша apt (/var/cache/apt/archives/lock) или блокировке dpkg (/var/lib/dpkg/lock), вы можете удалить их:
После этого может потребоваться переконфигурация пакетов, а также исправление любых потенциально неработающих пакетов:
В некоторых редких случаях после попытки запустить sudo dpkg –configure -a вы можете увидеть ошибку, подобную приведенной ниже:
$ sudo dpkg –configure -a
dpkg: error: parsing file ‘/var/lib/dpkg/updates/0004’ near line 0:
newline in field name ‘#padding’
В таких случаях удалите ошибочный файл, а затем снова запустите команду sudo dpkg –configure -a. В моем примере файл /var/lib/dpkg/updates/0004 (в вашем случае он может быть другим!), поэтому для его удаления и повторной настройки dpkg нужно использовать:
Надеюсь, после выполнения этих команд вы перестанете получать ошибки “Could not get lock /var/lib/dpkg/lock – open (11 Resource temporarily unavailable)” и “Could not get lock /var/lib/dpkg/lock-frontend – open (11 Resource temporarily unavailable)”.
Но если и это не помогло, можно попробовать ввести в терминале следующую команду
Обычно, мне это помогает.
Одной из основных причин повторного возникновения этой ошибки является то, что Ubuntu по умолчанию включает автоматическое обновление, и либо обновление находится в процессе, когда вы видите эту ошибку (в этом случае вам следует подождать, пока обновление не будет выполнено успешно!), либо обновление не удалось, и в этом случае вы остаетесь с этой ошибкой, пока не исправите ее.
Надеюсь статья была полезной? И если это так, не забудьте поделиться ею в социальных сетях.
Источник