Fix „Nie można zablokować katalogu administracyjnego (/var/lib/dpkg/)” w Ubuntu

Podczas korzystania z polecenia apt-get lub stosunkowo nowego narzędzia do zarządzania pakietami APT w Ubuntu Linux lub jego pochodnych, takich jak Linux Mint (który faktycznie używam jako mój podstawowy system operacyjny do wykonywania codziennej pracy), można było napotkać błąd – „nie można zablokować katalog administracyjny (/var/lib/dpkg/) jest inny proces z niego korzystać” w linii poleceń.

Błąd ten może być bardzo irytujący szczególnie dla nowych użytkowników Linuksa (Ubuntu), którzy mogą nie znać dokładnie przyczyny błędu.

Poniżej znajduje się przykład, pokazujący błąd pliku blokady w Ubuntu 16.10:

tecmint@TecMint:~$ sudo apt install neofetch password for tecmint: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?

Wyjście poniżej jest inną możliwą instancją tego samego błędu:

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?

Jak możesz rozwiązać powyższy błąd w przypadku, gdy wpadniesz na niego w przyszłości? Istnieje kilka sposobów radzenia sobie z tym błędem(ami), ale w tym przewodniku przejdziemy przez dwa najłatwiejsze i prawdopodobnie najbardziej efektywne sposoby jego rozwiązania.

Znajdź i zabij wszystkie procesy apt-get lub apt

Uruchom poniższe polecenie, aby wygenerować listę wszystkich procesów, których nazwa składa się ze słowa apt, otrzymasz listę zawierającą wszystkie procesy apt lub apt-get używając komend ps i grep razem z potokiem.

$ ps -A | grep apt
Znajdź procesy apt i apt-get

Dla każdego procesu apt-get lub apt, który można zobaczyć na wyjściu powyższego polecenia, zabij każdy proces za pomocą poniższego polecenia.

Identyfikator procesu (PID) znajduje się w pierwszej kolumnie na powyższym zrzucie ekranu.

$ sudo kill -9 processnumberOR$ sudo kill -SIGKILL processnumber

Na przykład, w poleceniu poniżej, gdzie 9 jest numerem sygnału SIGKILL, zabije pierwszy proces apt:

$ sudo kill -9 13431OR$ sudo kill -SIGKILL 13431

Usuń pliki blokady

Plik blokady po prostu uniemożliwia dostęp do innego pliku(ów) lub niektórych danych w systemie Linux, ta koncepcja jest obecna w Windows i innych systemach operacyjnych, jak również.

Po uruchomieniu polecenia apt-get lub apt, plik blokady jest tworzony w którymkolwiek z tych katalogów /var/lib/apt/lists/, /var/lib/dpkg/ i /var/cache/apt/archives/.

To pomaga uniknąć przerwania procesu apt-get lub apt, który jest już uruchomiony przez użytkownika lub inne procesy systemowe, które musiałyby pracować z plikami używanymi przez apt-get lub apt. Kiedy proces zakończy się, plik blokady jest usuwany.

Ważne: W przypadku, gdy blokada jest nadal wykonywana w dwóch powyższych katalogach bez zauważalnego procesu apt-get lub apt, może to oznaczać, że proces został zatrzymany z jednego lub drugiego powodu, dlatego musisz usunąć pliki blokady, aby usunąć błąd.

Najpierw wykonaj poniższe polecenie, aby usunąć plik blokady w katalogu /var/lib/dpkg/:

$ sudo rm /var/lib/dpkg/lock

Potem wymuś pakiet(y) do rekonfiguracji jak poniżej:

$ sudo dpkg --configure -a

Alternatywnie, usuń pliki blokady w katalogu /var/lib/apt/lists/ i cache jak poniżej:

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

Następnie zaktualizuj listę źródeł pakietów w następujący sposób:

$ sudo apt updateOR$ sudo apt-get update

Podsumowując, przeszliśmy przez dwie ważne metody radzenia sobie z częstym problemem napotykanym przez użytkowników Ubuntu (i jego pochodnych), podczas uruchamiania apt-get lub apt, a także poleceń aptitude.

Czy masz jakieś inne niezawodne metody, aby podzielić się oznaczało do czynienia z tym wspólnym błędem? Następnie skontaktuj się z nami poprzez formularz opinii poniżej.

W dodatku, możesz również dowiedzieć się, jak znaleźć i zabić uruchomione procesy i przeczytać przez prosty przewodnik do kill, pkill i killall poleceń, aby zakończyć proces w systemie Linux.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.