Ao tentar instalar software no Ubuntu através do terminal, é possível encontrar o erro “não foi possível obter o bloqueio”. Este erro pode ser bastante frustrante, pois impede a instalação de programas necessários e bloqueia o sistema.
Entendendo o Erro de Bloqueio
Esse problema surge frequentemente quando usuários do Ubuntu encerram um terminal prematuramente enquanto uma instalação está em andamento. Ao abrir um segundo terminal e tentar usar o gerenciador de pacotes, o erro “não foi possível obter o bloqueio” é exibido, pois o sistema não permite múltiplas instâncias do gerenciador de pacotes simultaneamente.
A lógica por trás do bloqueio do gerenciador de pacotes é compreensível, mas a falta de explicações claras do sistema operacional sobre como corrigir o problema pode levar ao pânico dos usuários.
Felizmente, a correção do erro “não foi possível obter o bloqueio” é simples, apesar da aparência complexa do terminal. Este artigo explicará detalhadamente como lidar com o erro, corrigi-lo e prevenir sua ocorrência futura.
Observação: Se você utiliza o Debian, sinta-se à vontade para acompanhar! O Ubuntu é baseado no Debian, então os comandos apresentados aqui são compatíveis! Este método também se aplica ao Linux Mint, Elementary OS e outras distribuições derivadas do Ubuntu.
Interrompendo Processos Apt/Apt-get
Como mencionado anteriormente, o erro “não foi possível obter o bloqueio” ocorre quando o gerenciador de pacotes do Ubuntu já está em execução em segundo plano, e o usuário tenta iniciá-lo novamente.
Enquanto o gerenciador de pacotes estiver ativo em segundo plano, você não poderá usar a ferramenta de instalação de programas, e o erro persistirá.
Por sorte, o gerenciador de pacotes do Ubuntu é um programa como qualquer outro e pode ser gerenciado da mesma forma.
Existem várias formas de interromper processos no Linux. A maneira mais eficiente e rápida é usar o comando `ps` para identificar o ID do processo problemático (neste caso, Apt/Apt-get) e, em seguida, utilizar o comando `kill` para finalizá-lo.
Para começar, abra um terminal e execute o comando `ps aux` seguido de `apt` (ou `apt-get`, caso utilize).
ps aux | egrep 'apt'
Para usuários de `apt-get`, utilize:
ps aux | egrep 'apt-get'
Observe a saída do terminal e identifique o número do processo do gerenciador de pacotes. Use esse número no comando `kill` para interromper o processo.
Importante: Ao utilizar o comando `kill` em utilitários do sistema, sempre inclua as opções “SIGTERM” ou “SIGKILL”. Caso contrário, o processo pode não ser encerrado corretamente.
sudo kill -SIGKILL numero-do-processo
Ou
sudo kill -SIGTERM numero-do-processo
Após executar o comando `kill`, o processo do gerenciador de pacotes deve ser encerrado. Para verificar se o gerenciador de pacotes do Ubuntu foi realmente interrompido, execute o comando `ps aux` novamente. Se nenhum número for retornado, o problema foi resolvido, e você poderá usar o gerenciador de pacotes normalmente!
Removendo Arquivos de Bloqueio
Em geral, quando o gerenciador de pacotes Apt está travado em segundo plano, o processo pode ser finalizado com o comando `kill`. No entanto, em alguns casos, finalizar o processo não é suficiente.
Se você ainda estiver enfrentando o erro após interromper o gerenciador de pacotes, existe um método alternativo que envolve a manipulação direta dos arquivos de “bloqueio” utilizados pelo sistema de empacotamento.
Os arquivos de bloqueio estão localizados em três diretórios distintos. Para acessá-los, é necessário ter acesso root através do comando `sudo`.
sudo -s
Após obter acesso root, navegue para o primeiro diretório:
cd /var/lib/dpkg/ rm lock
Com o primeiro arquivo de bloqueio resolvido, avance para o segundo:
cd /var/lib/apt/lists/ rm lock
Por fim, remova o terceiro e último arquivo de bloqueio:
cd /var/cache/apt/archives/ rm lock
Após excluir os três arquivos de bloqueio com o comando `rm`, o gerenciador de pacotes do Ubuntu deverá funcionar corretamente. Para testar, execute:
sudo apt update
Corrigindo Pacotes Quebrados
Quando um terminal é fechado prematuramente durante a instalação de programas no Ubuntu, os pacotes podem ficar corrompidos. Para corrigir isso, utilize o comando `dpkg` com a opção “configure”.
dpkg --configure -a
Após executar este comando, todos os pacotes quebrados devem ser corrigidos e estar prontos para uso.