Erro “não foi possível obter trava /var/lib/dpkg/lock-frontend”

Como corrigir o erro não foi possível obter trava /var/lib/dpkg/lock-frontend

Em uma aula de Linux, recentemente, um aluno estava tentando fazer a atualização de pacotes no sistema (era o Ubuntu Linux 18.04), e se deparou com seguinte mensagem de erro ao tentar realizar o procedimento:

“não foi possível obter trava /var/lib/dpkg/lock-frontend”

Por mais que ele tentasse repetir a operação, a mensagem persistia. Então, ele me chamou e perguntou do que se tratava.

Este é um erro comum em distribuições baseadas no Debian, como o Ubuntu, Mint e outras, ocasionado por vários problemas diferentes, mas que pode ser corrigido de forma simples.

A causa mais comum desse erro é que algum processo está usando a ferramenta de gerenciamento de pacotes apt no momento (apt / apt-get). Por exemplo, a Central de Software do Ubuntu ou o Synaptic podem estar executando alguma tarefa de atualização do sistema.

Podemos descobrir qual  processo está travando o apt executando o comando seguinte:

$ ps aux | grep -i apt

Se houver algum processo listado, você pode matá-lo com o comando kill, conforme a sintaxe a seguir:

$ sudo kill -9 id_processo

Nem sempre isso funcionará. Algumas vezes não há, aparentemente, nenhum processo em execução relacionado ao apt, mas ainda assim você será brindado com a mensagem de erro anterior.

Neste caso, o que pode estar acontecendo é um problema com arquivos de trava (“lock files”), que são arquivos usados para impedir que dois ou mais processos distintos usem os mesmos dados, simultaneamente. Quando o apt (ou outro comando relacionado) é executado, ele cria arquivos de trava no sistema. Se, por algum motivo, o apt não for encerrado corretamente – por exemplo, foi interrompido durante uma atualização – os arquivos de trava não são excluídos e permanecem no sistema, realizando seu trabalho, que é o de impedir que outras instâncias do apt sejam executadas.

Neste caso, vamos proceder de forma diferente para resolver o problema – vamos simplesmente remover os arquivos de trava.

Para isso, execute os comandos a seguir no terminal do Linux:

$ sudo rm /var/lib/apt/lists/lock
$ sudo rm /var/lib/dpkg/lock
$ sudo rm /var/cache/apt/archives/lock

Reconfigure os pacotes na sequência:

$ sudo dpkg --configure -a

Logo após, o sistema apt deve estar novamente liberado, e você será capaz de executar suas tarefas normalmente, como atualizar listas de repositórios, atualizar programas e instalar ou excluir pacotes do sistema.

 

Sobre Fábio dos Reis (1332 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*