Eu apenas me perguntei se alguém poderia me dizer o que isso significa:
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:~$
Como executo sudo dpkg --configure -a
manualmente?
Respostas:
Primeira corrida:
Em seguida, verifique se o processo não está em execução:
Se estiver em execução:
Verifique se o processo está concluído:
Em seguida, remova o arquivo de bloqueio:
Deixe o dpkg se consertar:
Você deve ficar bem depois :)
fonte
lsof /var/lib/dpkg/lock
.Você não pode executar vários pacotes de aplicativos / comandos / ferramentas ao mesmo tempo. Às vezes, isso significa que o synaptic, o apt-get ou a ferramenta de atualização de pacotes estão em execução no backgroung. Apenas feche outras ferramentas de pacote ou aguarde o término. E o dpkg será executado.
fonte
Pode-se também tentar:
Para corrigir quaisquer pacotes quebrados:
fonte
A seguir, deve ajudar:
fonte
Uma abordagem é apenas reiniciar o PC. Isso funcionou para mim.
fonte
Isso pode acontecer se o processo de atualização for interrompido (como se sua conexão estivesse perdida). Você pode tentar usar a tela como root (
sudo su
) para voltar à sessão.fonte
Há algumas boas respostas aqui, mas só queria adicionar um método não-lsof para encontrar o usuário dpkg lock
Etapa 1: Descubra quem está bloqueando o dpkg:
Opção 1: Usando lsof (nem sempre instalado na máquina)
lsof /var/lib/dpkg/lock
Opção 2: Usando o 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
Etapa 2: decida o que você deseja fazer com o usuário atual do dpkg
Se não houver esse processo, não há nada a decidir, basta pular para a próxima etapa.
Caso contrário, você deve decidir se deseja interromper o processo ou deixá-lo terminar normalmente. Se você decidir matá-lo, basta usar
kill <pid>
. Se o processo ainda não morrer, considere matá-lo usando-okill -9 <pid>
, mas isso pode criar certas inconsistências e eu o aconselho a menos que você saiba o que está fazendo.Etapa 3: Remova o arquivo de bloqueio
sudo rm /var/lib/dpkg/lock
Etapa 4: Corrigir o estado interno do dpkg
sudo dpkg --configure -a
fonte
No nosso caso, não havia processo em execução (PID), então parei e reinicializei o VPS.
Em seguida, existem vários arquivos de bloqueio que podem precisar ser removidos:
Em seguida, você pode corrigir
dpkg
como sugerido:fonte