Impossível bloquear o diretório de administração (/var/lib/dpkg/) é outro processo usando-o?

Eu recebo este erro quando tento utilizar o apt-get:

E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/) is another process using it?  

Como posso resolver isto?

Você receberá esta mensagem se você esquecer de utilizar o sudo ao executar um comando apt.

Caso contrário, isto é um sinal de que algo mais está instalando ou removendo software e bloqueou o banco de dados apt enquanto ele executa as ações. Os programas que podem fazer isso são:

  • O Centro de Software
  • O Gerente de Atualizações
  • O instalador do link apt (acho que isso agora passa pelo SC)
  • Os utilitários de linha de comando apt-get ou aptitude.
  • O Gerenciador de Pacotes Synaptic

IMPORTANTE: tente apenas o abaixo como último recurso, pois pode danificar o seu sistema. Primeiro tente matar qualquer instância de apt ou aptitude como descrito em Resposta de Faheem.

Você pode forçar o bloqueio removendo o arquivo, mas não é recomendado sem antes fechar o programa que está segurando o bloqueio com segurança, já que você pode causar corrupção ou interromper uma instalação (ruim). O comando fornecido pelo João deve fechar o programa que está segurando a trava e depois remover a trava, mas não vai proteger você contra a interrupção da instalação:

sudo fuser -cuk /var/lib/dpkg/lock; sudo rm -f /var/lib/dpkg/lock   

E o mesmo comando pode ser usado para o cache lock do apt:

sudo fuser -cuk /var/cache/apt/archives/lock; sudo rm -f /var/cache/apt/archives/lock
Comentários (15)

A maneira mais provável de atingir isto é:

  • porta-bagagens Ubuntu
  • iniciar um terminal
  • digite sudo apt-get install whatever

e a linha de comando apt se sobrepõe ao update-manager automaticamente.

Então, se você tentar novamente em alguns minutos que deve consertar isso.

Comentários (9)

Apenas um programa pode segurar a fechadura. Certifique-se de que você não está correndo aptidão, sináptico ou adepto. Feche o programa e execute-o novamente. Você pode ter o synaptic aberto, ou ter outra janela de terminal aberta rodando apt-get, ou ter o gerenciador de atualizações rodando. Verifique isso e veja se algum deles está rodando, se algum deles está rodando feche-o e tente novamente.

Tente este comando no terminal para encontrar o que está rodando

ps -e | grep -e apt -e adept | grep -v grep

Nota: Se isso não imprimir nada, digite o seguinte no terminal para remover o cadeado

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

Agora você pode instalar qualquer Pacote.

Comentários (7)