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/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.

 

Sobre Fábio dos Reis (1197 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens 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.

31 Comentários em Erro “não foi possível obter trava /var/lib/dpkg/lock-frontend”

  1. Muito bom Fábio, salvou minha vida hoje, eu estava com esse erro no sistema e não sabia mais o que fazer para conseguir instalar pacotes no linux ubuntu

  2. Diogo F. de Morais // 15/08/2019 em 8:48 // Responder

    Uso o Debian 10 e a segunda opção funcionou para mim, excluindo os arquivos lock e reconfigurando o dpkg.

  3. Muito obrigado, estava enlouquecendo por causa deste erro. Como sempre, você salvando os novos usuários

  4. Danilo Gaspar // 10/12/2019 em 3:07 // Responder

    Uso o linux mint, segui os comando conforme porém não obtive êxito:/

  5. Igor Santos // 12/02/2020 em 8:47 // Responder

    Muito obrigado, resolveu meu problema

  6. Muito obrigado, ajudou muito

  7. Álisson Santos // 12/03/2020 em 18:45 // Responder

    grep -i apt.
    A Partir desse comando o terminal para e fica um tempão. Não estou conseguindo resolver.
    Me ajudem.

  8. Obrigado pela ajuda.Foi o único que explicou direito e resolveu.

  9. clovijitsu // 02/07/2020 em 22:17 // Responder

    Muito bom! Aqui resolveu.Obrigado

  10. obrigado me salvou

  11. Excelente. Funcionou aqui. Obrigado!

  12. Logo na primeira dica resolveu meu problema.
    Muito obrigado.

  13. Oi professor tudo bem, eu tava tentado resolver o problema pela a segunda solução que senhor passou mas acho que só piorou a meu caso poderia pf atualizar esse artigo obrigado.

    E: Não foi possível abrir arquivo de trava /var/lib/apt/lists/lock – open (13: Permissão negada)
    E: Impossível criar acesso exclusivo ao directório /var/lib/apt/lists/
    W: Problema ao remover o link do ficheiro /var/cache/apt/pkgcache.bin – RemoveCaches (13: Permissão negada)
    W: Problema ao remover o link do ficheiro /var/cache/apt/srcpkgcache.bin – RemoveCaches (13: Permissão negada)

  14. José Carlos // 18/10/2020 em 15:44 // Responder

    Agradeço a orientação. Meu problema foi facilmente resolvido.

  15. Shmuel Rothschild Trachtenberg // 20/11/2020 em 20:15 // Responder

    Salvou a minha vida! 🙂

  16. Top!!!!

  17. itamar gomes // 12/02/2021 em 23:44 // Responder

    Obrigado pela dica, me ajudou muito.

  18. Fiz tudo e não resolveu nada! (Linux Mint 19.3)

  19. Eu havia mandado uma mensagem anterior achando que não tinha resolvido, mas me enganei, resolveu sim!! Obrigado!!

  20. Diego Siviero // 07/05/2021 em 13:47 // Responder

    Aqui no Ubuntu 20.04 Mate funcionou perfeitamente a segunda opção. Muito obrigada.

  21. comprei o computador recentemente e não conseguia usar os aplicativos e nem instalar nada pois tinham muitos pacotes quebrados, realizei a segunda opção e ao invés de corrigir como instruído (pq não consegui) dei $ sudo apt update
    e depois
    $ sudo apt upgrade

    e consegui atualizar todos os pacotes que antes não atualizavam por erro, muito obrigada

  22. Thiago Kaipper // 18/09/2021 em 8:41 // Responder

    testei no RASPBIAN OS, funcionou perfeitamente……

  23. Guilherme // 26/10/2021 em 10:26 // Responder

    Olá! Gostaria de saber onde posso estudar esses comandos e o que eles significam e fazem o Sistema… no meu caso esses comandos funcionaram, só que tenho medo do que estou fazendo no meu Linux, é um comando perigoso? ou talvez esse problema de trava é algo grave e tal.. alguém pode me dar um help??

  24. Agora estou com outro problema… está aparecendo a mensagem >
    The Following packages have unmet dependencies

  25. Finalmente, depois de meses consegui fazer a atualização dos pacotes e graças a esse artigo. Obrigado Fábio.

  26. Robson Silveira // 14/04/2022 em 19:56 // Responder

    Apagar /var/lib/dpkg pode ser uma forma de resolver este problema, mas certamente trará problemas futuros na sua distro quando precisar atualizar pacotes do sistema. Eu a deixaria como última e remota opção.

Escreva um comentário

Seu e-mail não será divulgado


*