Como corrigir o erro "falha ao bloquear /var/lib/dpkg/lock"

falha ao bloquear ⁄var⁄lib⁄dpkg⁄lock

Embora uma distribuição Linux possa optar por instalar o software da maneira que achar melhor, na maioria das vezes, eles podem, no mínimo, instalá-lo de seus repositórios oficiais. Esses repositórios podem ser mantidos diretamente pela distribuição e/ou baseados em outras, como acontece com Debian->Ubuntu->Linux Mint, por exemplo. Nesses casos, o gerenciador de pacotes é o APT, e às vezes podemos ver a mensagem "não foi possível bloquear /var/lib/dpkg/lock" no terminal ou mesmo em uma ferramenta com interface gráfica.

Este artigo tentará lançar alguma luz. sobre o que é e como o erro pode ser resolvido que nos faz ver a mensagem "/var/lib/dpkg/lock não pôde ser bloqueado", mas posso dizer que existe uma solução muito simples que pode corrigir esse e muitos outros problemas, seja em um Linux- distribuição baseada ou qualquer outro sistema operacional, incluindo móvel.

O que significa o erro "não foi possível bloquear /var/lib/dpkg/lock"?

Em geral, quando vemos o erro "não foi possível bloquear /var/lib/dpkg/lock", o terminal ou o software que o exibe está indicando que outro processo APT está em execução e usa o mesmo banco de dados que estamos tentando acessar . Em outras palavras, o novo processo APT tenta bloquear o arquivo /var/lib/dpkg/lock, ele não pode atender porque está ocupado e nos informe disso.

O mais comum é que outro processo APT, como a atualização, já está em execução e bloqueou o arquivo de bloqueio, portanto não pode dar o primeiro passo, que é justamente bloquear o referido arquivo.

Como consertar o erro

A primeira coisa que devemos fazer, especialmente se não gostamos de usar o terminal, é verifique se há algum aplicativo de software em execução. Por exemplo, no Ubuntu podemos ver se o Ubuntu Software (fork do GNOME Software) está fazendo algo, e também o Software Update, o aplicativo que se encarrega, como o próprio nome sugere, de atualizar o software. Se não virmos nenhum desses aplicativos abertos, também podemos iniciar o monitor do sistema e procurá-los, para ver se estão sendo executados em segundo plano.

Os os aplicativos que devemos procurar dependerão da distribuição que estamos usando, já que o Ubuntu Software não está no Kubuntu, nem o Discover está na versão principal do Debian. Cada distribuição gerencia o software com as ferramentas que escolhe adicionar e pode bloquear o arquivo GNOME Software, o Discover, qualquer outra loja de software ou a ferramenta de atualização.

Quer estejam em primeiro plano ou em segundo plano, uma opção é ter paciência e espere para ver se o trabalho que você está fazendo está concluído. Às vezes vemos uma mensagem de erro e queremos que ela seja corrigida instantaneamente, quando a solução é esperar um pouco.

Uma reinicialização ou logoff deve ser suficiente

Muitos anos atrás, um amigo sempre me perguntava como consertar seus travamentos no Windows. Chegou uma hora que eu quase não pedi mais, e recomendei reiniciar porque quase sempre era a melhor solução para ele. No caso do erro "não foi possível bloquear /var/lib/dpkg/lock" também é uma solução possível. Ao começar do zero, você pode começar com o arquivo bloqueado pela ferramenta de atualização, mas ele irá desbloqueá-lo logo, quando você verificar que não há nada novo para instalar ou existe, mas você já nos informou sobre isso.

Claro, não é a solução mais elegante, mas é a menos cara e pode ser a melhor e mais rápida se não tivermos motivos para ficar logados.

Quando a mensagem "failed to lock /var/lib/dpkg/lock" não desaparece

Quando reiniciamos ou esperamos um pouco e continuamos a ver a mensagem, o que está acontecendo conosco não é algo normal. O bloqueio foi "pendurado" ou, valendo a redundância, bloqueado, então já vale a pena puxar o terminal.

  1. A primeira coisa que faremos é abrir um terminal e identificar o processo APT em execução com este comando:
sudo lsof /var/lib/dpkg/lock
  1. Com o processo identificado, o matamos com este comando, substituindo o PID pelo número do processo que teremos descoberto com o comando do passo 1:
sudo kill PID
  1. Por fim, tentamos novamente realizar o gerenciamento APT que o erro estava retornando. Deve nos permitir seguir em frente.

Se isso não resolver, podemos fazer algo mais drástico, então você terá que tomar precauções ou tomar medidas extras. Isso é feito "da maneira mais difícil": removendo o arquivo /var/lib/dpkg/lock. Os passos a seguir para fazê-lo com segurança seriam estes:

  1. Fazemos um backup do arquivo /var/lib/dpkg/lock. Como o que faremos é copiá-lo, podemos usar o gerenciador de arquivos, pois não são necessárias permissões de superusuário. Do terminal, isso pode ser feito com cp /var/lib/dpkg/lock novo caminho, alterando "new-path" para o caminho no qual queremos fazer a cópia de segurança.
  2. Excluímos o arquivo. Para isso, será necessário obter privilégios. Se nosso gerenciador de arquivos permitir, podemos escrever, por exemplo, "sudo nautilus" sem as aspas para removê-lo com uma interface gráfica, mas acho que será mais rápido e fácil abrir o terminal e escrever:
sudo rm /var/lib/dpkg/lock
  1. Com o arquivo excluído, podemos tentar novamente o que não nos foi permitido. se escrevermos sudo apt update e não vemos o erro, o bug foi corrigido.

Reinicialização e paciência são geralmente melhores

Embora existam formas de corrigir, como as explicadas no ponto anterior, o erro "não foi possível bloquear /var/lib/dpkg/lock" não é nada muito sério e pode ser consertado esperando um pouco ou reiniciando. É algo que geralmente se conserta e, se não, uma reinicialização é a menos agressiva e mais eficaz. Agora, isso é Linux, e tudo ou quase tudo tem solução do terminal, sem falar que podemos "matar" o que quisermos.

Seja qual for o motivo, espero que o que está aqui exposto tenha podido ajudá-lo, seja para fazer a mensagem desaparecer com um processo mais agressivo ou para que você tenha um pouco de paciência.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Danilo Quispe Lucana dito

    Olá:

    Este comando funciona para mim (testado no Xubuntu 18.04 LTS):

    sudo fuser -vki /var/lib/dpkg/lock

    Também é válido para outros arquivos bloqueados, como /var/lib/dpkg/lock-frontend ou /var/lib/apt/lists/lock.

    lembranças