Jak naprawić błąd „nie udało się zablokować /var/lib/dpkg/lock”.

nie udało się zablokować ⁄var⁄lib⁄dpkg⁄lock

Chociaż dystrybucja Linuksa może zdecydować się na zainstalowanie oprogramowania w sposób, jaki uzna za stosowny, najczęściej może przynajmniej zainstalować je ze swoich oficjalnych repozytoriów. Te repozytoria mogą być utrzymywane bezpośrednio przez dystrybucję i/lub w oparciu o inne, jak na przykład Debian->Ubuntu->Linux Mint. W takich przypadkach menedżerem pakietów jest APT i czasami możemy zobaczyć komunikat „nie można zablokować /var/lib/dpkg/lock” w terminalu lub nawet w narzędziu z interfejsem graficznym.

Ten artykuł spróbuje rzucić trochę światła. o tym, co to jest i jak można rozwiązać błąd powoduje to, że widzimy komunikat „/var/lib/dpkg/lock nie można zablokować”, ale mogę powiedzieć, że istnieje bardzo proste rozwiązanie, które może rozwiązać ten i wiele innych problemów, niezależnie od tego, czy jest to w systemie Linux- opartej na dystrybucji lub innym systemie operacyjnym, w tym mobilnym.

Co oznacza błąd „nie można zablokować /var/lib/dpkg/lock”?

Ogólnie rzecz biorąc, gdy widzimy błąd „nie można zablokować /var/lib/dpkg/lock”, terminal lub oprogramowanie, które go pokazuje, wskazuje, że inny proces APT jest uruchomiony i korzysta z tej samej bazy danych, do której próbujemy uzyskać dostęp . Innymi słowy, nowy proces APT próbuje zablokować plik /var/lib/dpkg/lock, nie może go dostać, bo jest zajęty i poinformuj nas o tym.

Najczęstsze jest to kolejny proces APT, taki jak aktualizacja, jest już uruchomiony i zablokował plik blokady, więc nie może wykonać pierwszego kroku, którym jest właśnie zablokowanie tego pliku.

Jak naprawić błąd

Pierwszą rzeczą, którą musimy zrobić, zwłaszcza jeśli nie lubimy korzystać z terminala, jest sprawdź, czy jest uruchomiona jakaś aplikacja. Na przykład w Ubuntu możemy zobaczyć, czy oprogramowanie Ubuntu (fork oprogramowania GNOME) coś robi, a także Aktualizacja oprogramowania, aplikacja odpowiedzialna, jak sama nazwa wskazuje, za aktualizację oprogramowania. Jeśli nie widzimy otwartej żadnej z tych aplikacji, możemy również uruchomić monitor systemu i poszukać ich, aby sprawdzić, czy działają w tle.

Te aplikacji, których musimy szukać, będzie zależeć od dystrybucji którego używamy, ponieważ Ubuntu Software nie jest w Kubuntu, ani Discover w głównej wersji Debiana. Każda dystrybucja zarządza oprogramowaniem za pomocą narzędzi, które chce dodać, i może zablokować archiwum oprogramowania GNOME, Discover, dowolny inny sklep z oprogramowaniem lub narzędzie do aktualizacji.

Niezależnie od tego, czy są na pierwszym planie, czy w tle, jedna opcja jest mieć cierpliwość i poczekaj, aby zobaczyć, czy praca, którą wykonujesz, została zakończona. Czasami widzimy komunikat o błędzie i chcemy, aby został natychmiast naprawiony, gdy rozwiązaniem jest poczekanie chwili.

Ponowne uruchomienie lub wylogowanie powinno wystarczyć

Wiele lat temu przyjaciel zawsze pytał mnie, jak naprawić jego awarie w systemie Windows. Przyszedł czas, kiedy prawie go już nie prosiłem, a poleciłem go uruchom ponownie ponieważ prawie zawsze było to dla niego najlepsze rozwiązanie. W przypadku błędu „could not lock /var/lib/dpkg/lock” jest również możliwym rozwiązaniem. Zaczynając od zera, możesz zacząć z plikiem zablokowanym przez narzędzie do aktualizacji, ale wkrótce go odblokuje, gdy zweryfikujesz, że nie ma nic nowego do zainstalowania lub jest, ale już nas o tym poinformowałeś.

Jasne, nie jest to najbardziej eleganckie rozwiązanie, ale jest najtańsze i może być najlepsze i najszybsze, jeśli nie masz żadnego powodu, aby być zalogowanym.

Gdy komunikat „nie udało się zablokować /var/lib/dpkg/lock” nie znika

Kiedy ponownie uruchomiliśmy lub czekaliśmy przez chwilę i nadal widzimy komunikat, to, co się z nami dzieje, nie jest czymś zwykłym. Blokada została „zawieszona” lub warta redundancji zablokowana, więc warto już wyciągnąć terminal.

  1. Pierwszą rzeczą, którą zrobimy, jest otwarcie terminala i zidentyfikowanie działającego procesu APT za pomocą tego polecenia:
sudo lsof /var/lib/dpkg/lock
  1. Po zidentyfikowaniu procesu zabijamy go tym poleceniem, zastępując PID numerem procesu, który odkryliśmy za pomocą polecenia z kroku 1:
sudo kill PID
  1. Na koniec ponownie próbujemy przeprowadzić zarządzanie APT, które zwraca błąd. To powinno pozwolić nam iść dalej.

Jeśli to nie rozwiąże problemu, możemy zrobić coś bardziej drastycznego, więc będziesz musiał podjąć środki ostrożności lub podjąć dodatkowe kroki. Robi to „na twardo”: usunięcie pliku /var/lib/dpkg/lock. Kroki, które należy wykonać, aby zrobić to bezpiecznie, byłyby następujące:

  1. Wykonujemy kopię zapasową pliku /var/lib/dpkg/lock. Ponieważ to, co zrobimy, to skopiować, możemy użyć menedżera plików, ponieważ uprawnienia superużytkownika nie są wymagane. Z terminala można to zrobić cp /var/lib/dpkg/lock nowa-ścieżka, zmieniając „new-path” na ścieżkę, w której chcemy wykonać kopię zapasową.
  2. Usuwamy plik. W tym celu konieczne będzie pobranie uprawnień. Jeśli nasz menedżer plików nam na to pozwoli, możemy napisać na przykład „sudo nautilus” bez cudzysłowów, aby usunąć go interfejsem graficznym, ale myślę, że szybciej i łatwiej będzie otworzyć terminal i napisać:
sudo rm /var/lib/dpkg/lock
  1. Po usunięciu pliku możemy spróbować ponownie tego, czego nam nie pozwolono. jeśli piszemy sudo apt update i nie widzimy błędu, błąd został naprawiony.

Restart i cierpliwość są zwykle najlepsze

Chociaż istnieją sposoby, aby to naprawić, takie jak te wyjaśnione w poprzednim punkcie, błąd „nie można zablokować /var/lib/dpkg/lock” to nic poważnego i można to naprawić, czekając chwilę lub uruchamiając ponownie. Jest to coś, co zwykle samo się naprawia, a jeśli nie, ponowne uruchomienie jest najmniej agresywne i najbardziej skuteczne. Teraz to jest Linux i wszystko lub prawie wszystko ma rozwiązanie z terminala, nie mówiąc już o tym, że możemy „zabijać” co chcemy.

Z jakiegokolwiek powodu mam nadzieję, że to, co tu jest powiedziane, było w stanie ci pomóc, albo sprawić, że wiadomość zniknie z bardziej agresywnym procesem, albo mieć trochę cierpliwości.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Danilo Quispe Lucana powiedział

    Cześć:

    To polecenie działa dla mnie (testowane na Xubuntu 18.04 LTS):

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

    Dotyczy to również innych zablokowanych plików, takich jak /var/lib/dpkg/lock-frontend lub /var/lib/apt/lists/lock.

    pozdrowienia