Jak naprawić błąd „nie można uzyskać blokady” w systemie Ubuntu

Czasami podczas próby zainstalowania oprogramowania na Ubuntu w terminalu zobaczysz błąd nie można uzyskać blokady. Ten błąd jest irytujący, ponieważ blokuje system i skutecznie uniemożliwia zainstalowanie potrzebnego oprogramowania.

Nie udało się uzyskać błędu blokady

Powodem tego błędu jest to, że często użytkownicy Ubuntu zamykają terminal, który instaluje coś przedwcześnie, gdy jest uruchomiony. Kiedy otwierają drugi terminal i próbują użyć menedżera pakietów, pojawia się błąd „nie można uzyskać blokady”, ponieważ nie pozwala on na uruchomienie więcej niż jednej instancji systemu pakowania na raz.

Chociaż łatwo jest zrozumieć, dlaczego menedżer pakietów się blokuje, jest to denerwujące. Niestety, gdy użytkownicy Ubuntu napotykają ten problem, wpadają w panikę, ponieważ system operacyjny nie wyjaśnia, jak to naprawić.

Naprawienie błędu „nie można uzyskać blokady” jest dość łatwe, mimo że monit terminala sprawia, że ​​wydaje się on przerażający i skomplikowany. W tym poście pokażemy Ci dokładnie, co zrobić, gdy napotkasz to, jak to naprawić i jak zapobiec wystąpieniu błędu w przyszłości.

Uwaga: Czy jesteś użytkownikiem Debiana? Zapraszam do śledzenia! Ubuntu jest zbudowany na systemie operacyjnym Debian, więc polecenia, których używamy w tym poście, będą idealnie pasować! Ta metoda będzie również działać dla Linux Mint, Elementary OS i innych pochodnych Ubuntu.

Zabij Apt / Apt-get

Jak wspomniano we wstępie do tego posta: przyczyna błędu „nie można uzyskać blokady” pojawia się, gdy menedżer pakietów Ubuntu jest już uruchomiony (w tle), a użytkownik próbuje go uruchomić po raz drugi.

Dopóki problem z menedżerem pakietów Ubuntu będzie występował w tle, nie będzie można używać narzędzia instalacyjnego do instalowania programów, a irytujący błąd będzie się powtarzał.

Na szczęście menedżer pakietów Ubuntu to program jak każdy inny i można nim zarządzać jak jednym.

Istnieje kilka sposobów na zabicie procesów w systemie Linux. Najlepszym (i najszybszym) sposobem jest użycie polecenia ps w celu uzyskania identyfikatora procesu powodującego problem (w tym przypadku Apt / Apt-get). Następnie użyj polecenia kill, aby go zatrzymać.

Aby rozpocząć, uruchom terminal i uruchom komendę ps aux z Apt na końcu (lub Apt-get, jeśli tego używasz).

ps aux | egrep 'apt'

Lub dla użytkowników Apt-get:

ps aux | egrep 'apt-get'

Spójrz na terminal i przeczytaj liczby, które pojawiają się na wyjściu. To numer procesu dla menedżera pakietów. Weź ten numer i podłącz go do polecenia kill, aby zatrzymać.

Uwaga: używając polecenia kill w narzędziach systemowych, zawsze używaj przełącznika „SIGTERM” lub „SIGKILL”. Jeśli tego nie zrobisz, proces może się nie zatrzymać.

sudo kill -SIGKILL process-id-number

Lub

sudo kill -SIGTERM process-id-number

Uruchomienie polecenia kill powinno zakończyć proces menedżera pakietów. Jeśli nie masz pewności, czy menedżer pakietów Ubuntu rzeczywiście został zatrzymany, możesz ponownie uruchomić powyższe polecenie ps aux. Jeśli żaden numer nie wróci, problem zniknął i będziesz mógł ponownie użyć menedżera pakietów Ubuntu!

Usuń pliki blokady

W większości przypadków, jeśli menedżer pakietów Apt utknie w tle i nie będzie odpowiadał, proces można zakończyć poleceniem kill. Czasami jednak zakończenie procesu nie wystarczy.

Jeśli napotkasz błąd i zabicie menedżera pakietów Ubuntu nie pomoże, możesz spróbować alternatywnej metody. Polega ona na bezpośrednim majstrowaniu przy „blokadach”, które narzędzie do pakowania umieszcza na komputerze.

Pliki blokady znajdują się w trzech oddzielnych katalogach. Aby uzyskać dostęp do plików, sesja terminala musi mieć uprawnienia administratora. Dostęp do roota w Ubuntu uzyskuje się za pomocą polecenia sudo.

sudo -s

Po uzyskaniu uprawnień roota, CD do pierwszego katalogu.

cd /var/lib/dpkg/

rm lock

Teraz, gdy zająłeś się pierwszym plikiem blokującym, czas zająć się drugim.

cd /var/lib/apt/lists/

rm lock

Mając zajęty drugi plik blokady, pozbądź się trzeciego i ostatniego pliku blokady.

cd /var/cache/apt/archives/

rm lock

Gdy wszystkie trzy pliki blokady zostaną usunięte za pomocą polecenia rm, będziesz gotowy, a menedżer pakietów Ubuntu powinien ponownie zacząć działać. Aby to przetestować, uruchom:

sudo apt update

Napraw uszkodzone pakiety

Gdy zamykasz terminal przedwcześnie w systemie Ubuntu podczas instalacji programów, pakiety zwykle się psują. Aby to naprawić, musisz uruchomić polecenie Dpkg wraz z opcją „konfiguruj”.

dpkg --configure -a

Po zakończeniu wykonywania powyższego polecenia wszystko powinno zostać naprawione, a uszkodzone pakiety powinny być gotowe do użycia.