Як виправити помилку «не вдалося заблокувати /var/lib/dpkg/lock».

не вдалося заблокувати ⁄var⁄lib⁄dpkg⁄lock

Незважаючи на те, що дистрибутив Linux може встановити програмне забезпечення так, як вважає за потрібне, найчастіше він може, як мінімум, встановити його зі своїх офіційних сховищ. Ці репозиторії можуть підтримуватися безпосередньо дистрибутивом та/або на основі інших, як це відбувається, наприклад, з Debian->Ubuntu->Linux Mint. У цих випадках менеджером пакетів є APT, і іноді ми можемо побачити повідомлення "не вдалося заблокувати /var/lib/dpkg/lock" в терміналі або навіть в інструменті з графічним інтерфейсом.

Ця стаття спробує пролити світло. про те, що це таке і як можна усунути помилку це призводить до того, що ми бачимо повідомлення «/var/lib/dpkg/lock не вдалося заблокувати», але я можу сказати вам, що є дуже просте рішення, яке може вирішити цю та багато інших проблем, чи то в Linux- на основі дистрибутива або будь-якої іншої операційної системи, включаючи мобільні.

Що означає помилка «не вдалося заблокувати /var/lib/dpkg/lock»?

Загалом, коли ми бачимо помилку «не вдалося заблокувати /var/lib/dpkg/lock», термінал або програмне забезпечення, яке її показує, вказує, що інший процес APT запущено та використовує ту саму базу даних, до якої ми намагаємося отримати доступ . Іншими словами, новий процес APT намагається заблокувати файл /var/lib/dpkg/lock, він не може отримати, тому що він зайнятий і повідомте нам про це.

Найпоширенішим є такий інший процес APT, як-от оновлення, уже запущено та заблокував файл блокування, тому він не може зробити перший крок, який полягає саме в блокуванні зазначеного файлу.

Як виправити помилку

Перше, що ми повинні зробити, особливо якщо нам не подобається користуватися терміналом, це перевірте, чи запущено програмне забезпечення. Наприклад, в Ubuntu ми можемо побачити, чи програмне забезпечення Ubuntu (розгалуження програмного забезпечення GNOME) щось робить, а також Оновлення програмного забезпечення, програма, яка, як випливає з назви, відповідає за оновлення програмного забезпечення. Якщо жодна з цих програм не відкрита, ми також можемо запустити системний монітор і пошукати їх, щоб перевірити, чи працюють вони у фоновому режимі.

The програми, які ми маємо шукати, залежатимуть від дистрибутива який ми використовуємо, оскільки програмного забезпечення Ubuntu немає в Kubuntu, а також Discover в основній версії Debian. Кожен дистрибутив керує програмним забезпеченням за допомогою інструментів, які він вибирає для додавання, і вони можуть блокувати архів програмного забезпечення GNOME, Discover, будь-який інший магазин програмного забезпечення або інструмент оновлення.

Незалежно від того, чи вони на передньому плані чи на задньому плані, один із варіантів мати терпіння і чекайте, щоб побачити, чи закінчено роботу, яку ви виконуєте. Іноді ми бачимо повідомлення про помилку й хочемо, щоб її виправили миттєво, тоді як рішення полягає в тому, щоб трохи почекати.

Перезавантаження або виходу з системи має бути достатньо

Багато років тому друг постійно запитував мене, як виправити його збої в Windows. Був момент, коли я вже навіть не питав його, і я порекомендував його перезавантажити тому що це майже завжди було найкращим рішенням для нього. У випадку помилки «не вдалося заблокувати /var/lib/dpkg/lock» також є можливим рішенням. Починаючи з нуля, ви можете розпочати з файлу, заблокованого інструментом оновлення, але незабаром він розблокує його, коли ви переконаєтеся, що немає нічого нового для встановлення або є, але ви вже повідомили нас про це.

Звичайно, це не найелегантніше рішення, але воно найменш дороге та може бути найкращим і найшвидшим, якщо у вас немає жодних причин залишатися в системі.

Коли повідомлення «не вдалося заблокувати /var/lib/dpkg/lock» не зникає

Коли ми перезапустили або почекали деякий час, але ми продовжуємо бачити повідомлення, те, що відбувається з нами, не є чимось звичним. Блокування «зависло» або, варте надмірності, заблоковано, тому вже варто тягнути термінал.

  1. Перше, що ми зробимо, це відкриємо термінал і визначимо запущений процес APT за допомогою цієї команди:
sudo lsof /var/lib/dpkg/lock
  1. Визначивши процес, ми вбиваємо його за допомогою цієї команди, замінюючи PID на номер процесу, який ми знайдемо за допомогою команди з кроку 1:
sudo kill PID
  1. Нарешті, ми знову намагаємося виконати керування APT, що повертає помилку. Це має дозволити нам рухатися далі.

Якщо це не вирішить проблему, ми можемо зробити щось більш радикальне, тож вам доведеться вжити запобіжних заходів або вжити додаткових заходів. Це робиться «важким способом»: видаляється файл /var/lib/dpkg/lock. Щоб зробити це безпечно, слід виконати такі дії:

  1. Робимо резервну копію файлу /var/lib/dpkg/lock. Оскільки ми будемо скопіювати його, ми можемо використовувати файловий менеджер, оскільки дозволи суперкористувача не потрібні. З терміналу це можна зробити cp /var/lib/dpkg/lock новий шлях, змінюючи «новий шлях» на шлях, у якому ми хочемо створити резервну копію.
  2. Видаляємо файл. Для цього потрібно буде підтягнути привілеї. Якщо наш файловий менеджер дозволяє, ми можемо написати, наприклад, «sudo nautilus» без лапок, щоб видалити його за допомогою графічного інтерфейсу, але я думаю, що буде швидше та легше відкрити термінал і написати:
sudo rm /var/lib/dpkg/lock
  1. Після видалення файлу ми можемо спробувати ще раз те, що нам було заборонено. якщо ми пишемо sudo apt update і ми не бачимо помилку, помилку виправлено.

Перезавантаження та терпіння зазвичай найкращі

Хоча є способи виправити помилку, як-от описано в попередньому пункті, «не вдалося заблокувати /var/lib/dpkg/lock». це нічого серйозного і це можна виправити, почекавши деякий час або перезавантаживши. Це те, що зазвичай виправляється само собою, а якщо цього не відбувається, перезавантаження є найменш агресивним і найефективнішим. Тепер це Linux, і все чи майже все має рішення з терміналу, не кажучи вже про те, що ми можемо «вбити» все, що забажаємо.

З будь-якої причини я сподіваюся, що те, що викладено тут, допомогло вам або змусити повідомлення зникнути за допомогою більш агресивного процесу, або щоб ви мали трохи терпіння.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Данило Квіспе Лукана - сказав він

    Здравствуйте:

    Ця команда працює для мене (перевірено на Xubuntu 18.04 LTS):

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

    Він також дійсний для інших заблокованих файлів, таких як /var/lib/dpkg/lock-frontend або /var/lib/apt/lists/lock.

    привіт