Bóson Treinamentos em Ciência e Tecnologia

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 no Linux

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/lib/dpkg/lock-frontend
$ 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.

 

Sair da versão mobile