Início
» Como fazer
»
Libere o APT Lock do Ubuntu com segurança e conclua a atualização.
Libere o APT Lock do Ubuntu com segurança e conclua a atualização.
O erro “Não foi possível obter o bloqueio /var/lib/dpkg/lock-frontend” geralmente significa que outro processo de gerenciamento de pacotes já está em execução. Aguarde a conclusão dessa tarefa, identifique o processo caso ele não seja finalizado e somente então repare qualquer configuração de pacote interrompida; excluir o arquivo de bloqueio não é uma solução segura.
O APT é a ferramenta de gerenciamento de pacotes do Ubuntu, enquanto o apt dpkgrealiza a instalação e configuração de pacotes em nível mais baixo. Eles usam bloqueios para que duas operações não possam alterar o estado de um pacote simultaneamente. Um arquivo de bloqueio pode permanecer no disco durante a operação normal, portanto, sua presença por si só não significa que esteja obsoleto.
1. Deixe o atualizador do Ubuntu terminar.
Primeiro, feche qualquer outra tarefa de pacote que você tenha iniciado, como outro comando do Terminal, o Atualizador de Software ou a instalação de um aplicativo da loja. Se uma caixa de diálogo de atualização estiver aberta, deixe-a terminar em vez de iniciar um segundo aptcomando. No Ubuntu para desktop, os serviços de atualização em segundo plano também podem estar funcionando.
Verifique os serviços relevantes do systemd e aguarde caso algum esteja ativo:
systemctl status apt-daily.service apt-daily-upgrade.service
Essas unidades podem estar inativas mesmo quando outro frontend de pacote detém o bloqueio, portanto, inspecione também o processo que usa o bloqueio exato. Não execute mais comandos de instalação ou atualização enquanto a operação atual estiver ativa.
A mensagem de bloqueio indica o recurso em uso e pode incluir um ID de processo para investigação.
2. Identifique quem detém o controle da interface.
Use esta ferramenta fuserpara exibir os processos que acessam o bloqueio e, em seguida, inspecione qualquer PID que ela reportar:
Substitua 2468pelo PID real da sua saída. Um nome de processo como `<nome_do_processo>` apt, apt-get`<nome_do_processo> dpkg`, `<nome_do_processo>` ou um serviço de atualização indica que o trabalho do pacote ainda pode estar em andamento. Se precisar ver uma lista de processos mais completa, execute:
ps -eo pid,etime,cmd | grep -E '[a]pt|[d]pkg'
Não presuma que um processo está congelado apenas porque não há progresso visível. Downloads de pacotes, scripts de manutenção e reinicializações de serviços podem levar tempo. Se for uma atualização iniciada em outro terminal, retorne a ele e deixe-a terminar. Se um atualizador gráfico estiver em execução, use esse aplicativo para cancelar ou encerrar a operação normalmente.
Utilize o PID e o nome do comando relatados para distinguir um atualizador ativo do comando que você está tentando executar.
3. Lide com uma operação verdadeiramente emperrada com cuidado.
Se o processo for uma atualização automática, verifique seu status e registros antes de intervir:
systemctl status apt-daily-upgrade.service
sudo journalctl -u apt-daily-upgrade.service -b --no-pager
Enquanto o serviço estiver em execução, deixe-o em paz. Se você reconhecer um comando de pacote que você mesmo executou e ele estiver claramente travado, interrompa-o uma vez a partir do próprio terminal com `sudo` Ctrl+Ce aguarde até que ele retorne ao shell. Não use `sudo` kill -9, killall dpkg`sudo` ou remova arquivos em `/etc /var/lib/dpkg/package`; interromper abruptamente os scripts de pacotes pode deixar os pacotes descompactados, mas não configurados.
Se o processo foi encerrado, mas a operação do pacote foi interrompida, reiniciar o sistema é uma maneira razoável de limpar o trabalho órfão do espaço do usuário. Após a reinicialização, certifique-se de que nenhuma tarefa de atualização de software ou instalação esteja em execução antes de continuar. Se um serviço permanecer travado repetidamente, use a saída do registro (journal) para diagnosticar esse serviço em vez de excluir repetidamente os arquivos de bloqueio.
Um serviço apt-daily-upgrade ativo é motivo para aguardar e verificar seu progresso, não para remover seu bloqueio.
4. Estado do pacote de reparo após a liberação do bloqueio
Assim que nenhum gerenciador de pacotes estiver usando o bloqueio, conclua qualquer configuração de pacote pendente:
sudo dpkg --configure -a
Isso configura pacotes que foram descompactados, mas não totalmente instalados. Se forem relatados problemas de dependência, peça ao APT para resolvê-los:
sudo apt-get -f install
Leia as alterações propostas antes de confirmar. Não adicione nada -ydurante a resolução de problemas: o aviso permite que você verifique se o APT planeja alguma remoção ou alteração inesperada. Após a conclusão do reparo, atualize as listas de pacotes e tente novamente a tarefa original.
Substitua PACKAGE_NAMEpelo pacote que você pretendia instalar. O manual do APT-get do Ubuntu documenta isso -fcomo uma tentativa de corrigir dependências quebradas, e o manual do dpkg explica a ação de configuração do pacote. Se o APT ainda reportar o bloqueio, repita a verificação do processo; uma segunda tarefa de pacote pode ter sido iniciada nesse meio tempo.
Após o bloqueio ser liberado, configure os pacotes pendentes e verifique se o APT consegue ler um estado consistente dos pacotes.
Confirme se o reparo funcionou.
A correção estará completa quando o comando original de instalação ou atualização for executado sem o erro de bloqueio, sudo dpkg --configure -aterminar sem uma falha de configuração pendente e sudo apt-get checknão relatar dependências quebradas. Se o bloqueio retornar, outro processo ainda está tentando adquiri-lo; identifique esse processo antes de tomar qualquer outra providência.
Os manuais atuais do Noble para Ubuntu descrevem os comandos de pacote acima. O tempo exato de execução do serviço e os nomes dos processos variam de acordo com a versão do Ubuntu e com as ferramentas de gerenciamento de pacotes instaladas, mas a regra principal permanece a mesma: aguarde o proprietário do bloqueio e, em seguida, repare o dpkg se a operação anterior tiver sido interrompida.