Zastanawiałem się, czy ktoś mógłby mi powiedzieć, co to znaczy:
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
reidsr@ubuntu:~$ sudo dpkg --configure -a
dpkg: error: dpkg status database is locked by another process
reidsr@ubuntu:~$
Jak uruchomić sudo dpkg --configure -a
ręcznie?
Odpowiedzi:
Pierwszy bieg:
Następnie upewnij się, że proces nie działa:
Jeśli jest uruchomiony:
Upewnij się, że proces został zakończony:
Następnie usuń plik blokady:
Pozwól dpkg sam się naprawić:
Potem powinno być dobrze :)
źródło
lsof /var/lib/dpkg/lock
.Nie można uruchomić kilku pakietów aplikacji / poleceń / narzędzi jednocześnie. Czasami oznacza to, że narzędzie synaptic, apt-get lub narzędzie do aktualizacji pakietów działa w tle. Po prostu zamknij inne narzędzia pakietu lub poczekaj na ich zakończenie. I uruchomi się dpkg.
źródło
Można również spróbować:
Aby naprawić wszelkie uszkodzone pakiety:
źródło
Następujące powinny pomóc:
źródło
Jednym z podejść jest ponowne uruchomienie komputera. To zadziałało dla mnie.
źródło
Może się to zdarzyć, jeśli proces aktualizacji zostanie przerwany (jakby Twoje połączenie zostało utracone). Możesz spróbować użyć screena jako root (
sudo su
), aby wrócić do sesji.źródło
Jest tu kilka dobrych odpowiedzi, ale chciałem tylko dodać metodę nie-lsof znajdującą użytkownika blokady dpkg
Krok 1: Dowiedz się, kto blokuje dpkg:
Opcja nr 1: Korzystanie z lsof (nie zawsze instalowane na komputerze)
lsof /var/lib/dpkg/lock
Opcja # 2: Używanie bash
for pid in $(ls /proc | egrep [0-9]+); do sudo ls -l /proc/$pid/fd 2>/dev/null | grep /var/lib/dpkg/lock && echo $pid; done
Krok 2: Zdecyduj, co chcesz zrobić z bieżącym użytkownikiem dpkg
Jeśli nie ma takiego procesu, nie ma co decydować, po prostu przejdź do następnego kroku.
W przeciwnym razie musisz zdecydować, czy chcesz zabić proces, czy zakończyć go z wdziękiem. Jeśli zdecydujesz się go zabić, po prostu użyj
kill <pid>
. Jeśli proces nadal nie umrze, możesz rozważyć zabicie go za pomocąkill -9 <pid>
, ale może to spowodować pewne niespójności, a ja odradzam, chyba że wiesz, co robisz.Krok 3: Usuń plik blokady
sudo rm /var/lib/dpkg/lock
Krok 4: Napraw stan wewnętrzny dpkg
sudo dpkg --configure -a
źródło
W naszym przypadku nie było uruchomionego procesu (PID), więc mocno się zatrzymałem i ponownie uruchomiłem VPS.
Następnie istnieje kilka plików blokady, które mogą wymagać usunięcia:
Następnie możesz naprawić
dpkg
zgodnie z sugestią:źródło