Vou responder às suas perguntas um pouco fora de ordem, porque eu posso.
Como faço para verificar meu hardware se esse é o culpado ??
O seu computador está funcionando? Se assim for, o seu hardware não está causando o problema.
Por que eu precisaria de um "bloqueio" em um diretório aberto?
O DPKG / Apt bloqueia /var/lib/dpkg
para garantir que possa instalar o software em paz, sem causar conflitos ao banco de dados de pacotes instalados (presente em /var/lib/dpkg/status
). É um mecanismo de segurança para evitar que o APT se assopre acidentalmente.
Como descubro qual processo está sendo usado?
Você já tem! Veja a saída de: sudo lsof /var/lib/dpkg/lock
:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
aptitude 2166 root 3uW REG 252,0 0 49021509 /var/lib/dpkg/lock
O programa aptitude
(um gerenciador de pacotes bonito) está ativo e é o atual proprietário do bloqueio.
Como corrijo isso? Alguém poderia me acompanhar pelos passos?
Existem algumas coisas que você pode fazer.
Primeiro, você pode quebrar o bloqueio executando sudo rm /var/lib/dpkg/lock
. Entretanto, é uma boa idéia não quebrar esse bloqueio para forçar a execução de outros processos apt
, pois você pode estar interrompendo algo importante, o que pode deixar seu sistema em um estado inutilizável. Só faça isso se você tiver 100% de certeza de que apt
ou dpkg
não está sendo executado. Você pode verificar isso executando ps -aux | grep dpkg
ou ps -aux | grep apt
. Se um deles retornar algo diferente de uma linha com grep
, não será seguro quebrar o bloqueio.
Em segundo lugar, você pode ir a todos os seus terminais para ver onde o aptitude
está sendo executado e para verificar o que está acontecendo. Se você não consegue encontrar o terminal que está ligado, o comando w
irá ajudá-lo muito.
Terceiro, você pode simplesmente matar o processo à força, embora isso ainda possa precisar de você para quebrar a fechadura. Faça isso executando sudo kill <PID>
, onde <PID>
é o número na entrada lsof
, no seu caso, 2166
. Não execute kill -9
para o apt, já que ele irá matá-lo com força, enquanto o kill
regular dará a chance de limpar tudo antes que ele morra. Você também pode matar o processo reiniciando, efetuando logout ou saindo do terminal em que está sendo executado.
Se você matar com força apt
e quebrar o bloqueio, é uma boa ideia executar dpkg --configure -a
para permitir que o DPKG corrija o que estava potencialmente quebrado.