Corrigir pacote quebrado no Linux Mint e Ubuntu e liberar espaço no disco

Correção de pacote quebrado no Linux Mint ou Ubuntu: desinstale, configure, reinstale e libere espaço do disco


É comum encontrar pacotes quebrados no Linux e atrapalhar a instalação de um aplicativo pela falta daqueles. Alguns usuários leigos recorrem à formatação para deixar o sistema operacional novamente com padrão de fábrica.

Corrigir pacote quebrado no Linux Mint e Ubuntu e liberar espaço no disco
Terminal do Linux Mint

Não somente rupturas no software, incompatibilidade de versões entre pacote e sistema operacional podem acontecer. Neste segundo caso, a solução é conferir a lista de compatibilidade no site da desenvolvedora. Contudo, este texto é solucionar os pacotes quebrados.

Para facilitar o entendimento a palavra Linux representará o Linux Mint e o Ubuntu de modo a evitar redundâncias.

 

E o que é um pacote no Linux?

Podemos dizer que é um programa compilado e pronto para uso. Dentro do Linux, um pacote pode ser qualquer programa pronto para ser executado, mas pode ter scrpits que são roteiros de instrução para uma aplicação rodar e documentações, por exemplo.

Deste modo, o pacote é um programão cheio de programas complementares prontos para ajudar o programa principal a executar suas funções. Isso facilita a vida dos usuários.

No Windows não é diferente. Para navegar na internet com algum navegador como o Chrome, Firefox ou Edge também é necessário programas secundários como .NET Framework, DirectX e Java. Há mais de 10 anos atrás, instalava-se o Adobe Flash Player para assistir vídeos no Youtube.

A maioria dos usuários do Windows não percebem a necessidade desses programas complementares porque o técnico faz instalação após a formatação. E, geralmente, quem instala o Linux é o próprio usuário, por isso os iniciantes enfrentam mais dificuldades e julgam erroneamente ser mais complexo.

Outro exemplo no do Linux é a instalação do LAMP. O PHP é mais do que enviar informações por HTML, a edição e manipulação de imagens com a linguagem é necessário instalar a biblioteca PHP-GD.

Se ainda não entendeu, pense assim. No restaurante se vai para almoçar. É um pacote. A marmita tem arroz, feijão e carne. É o programa principal. A salada ou a carne extra são extras e entram como programas complementares.

 

Entenda os comandos

Depois de entender os pacotes e sua relação com os programas principais e complementares, agora é hora de entrar nos comandos: a parte mais legal do Linux. 

Os comandos são códigos e digitados pelo usuário no terminal para solicitar ao sistema operacional a executação de uma ação. O terminal é uma tela preta na imagem do começo do texto e parecida com o Prompt do Windows.

Vamos usar o exemplo do restaurante. Veja abaixo:

 

Usuário = cliente

Comandos já existentes = cardápio

Terminal = pedido feito para o garçom

Sistema operacional = cozinha

Execução da ação = entrega da marmita


Agora bora para o terminal. Aperte tudo junto na área de trabalho: Ctrl + Alt + T. Surgirá a famigerada tela preta. Se já estiver com o terminal aberto, retorne para o início do diretório com o comando abaixo:

 

cd ~


Lembre-se que após cada comando digitado, é necessário digitar Enter e ter acesso à internet.

O ~ é para retornar no começo e cd vem de Change Directory: mudar de diretório. O cd pode ser usado para acessar outras pastas.

Diretório são as localizações das pastas. No Windows, o diretório principal é o famoso System32 que fica em C:\Windows\System32. No Linux, por exemplo, a área de trabalho pode ficar em /home/nome_do_usuario/Desktop.

Para resolver o problema de pacote quebrado, desinstale assim:


sudo apt-get remove --purge NOME_DO_PACOTE

 

O termo sudo vem de Super User Do e significa executar como super usuário. Ele libera o usuário a ter privilégios máximos dentro do Linux. É o mesmo no Windows com as instalações como Administrador. Se logado no sudo, pode-se instalar, modificar, mover e deletar qualquer arquivo, pasta ou programa e também alterar senhas. Algumas atualizações são possíveis apenas como super usuário. O sudo precisa da senha de acesso.

apt-get vem de advanced packing tool e o get, por não encontrar nenhuma informação oficial, é suporto que seja a palavra inglesa get e traduzida é obter. O apt-get serve para instalar, atualizar e remover pacotes. Você verá este comando mais vezes abaixo.

Se algum leitor souber o que é realmente o get do apt-get, por favor, deixe nos comentários que este texto será corrigido caso seja um equívoco o exposto acima.

O remove é para remover o pacote e o --purge, além de desinstalar o aplicativo, induz o sistema a remover os arquivos de configuração do Linux. Em nome_do_pacote coloque o nome do pacote a ser removido.

Se for um pacote que está instalado com diferentes versões, você pode incluir o número da versão seguido pelo ponto final e asterisco. Veja o exemplo para remover as versões 7.3 e 7.4 do PHP mutuamente:


sudo apt-get remove --purge php7.*

 

Pode sobrar algumas pastas ou arquivos do pacote que ficaram fora do diretório próprio ou podem ter sido copiadas para outros locais em uma tentativa do usuário de resolver o problema. Se isso aconteceu, use o comando abaixo para identificar no sistema onde elas estão.


whereis NOME_DO_PACOTE


O whereis mostrará arquivos e pastas do pacote ou que tenham relação com o pacote pesquisado.

Atenção! Delete apenas o que é do pacote. Cuidado para não excluir pastas indevidas. Para executar esta ação é recomendado experiência com Linux.

Em seguida, copie e cole os diretórios do pacote que deverão ser excluídos.


sudo rm -r DIRETÓRIOS_DO_PACOTE


O rm é a sigla de remove: remover. O -r é muito comum de proceder o rm porque remove a pasta e todo o seu conteúdo. Por exemplo, se existir um diretório assim /home/nome_do_usuario/Desktop/aula/programa/php/imagens/ e o comando executado for:


sudo rm -r /home/nome_do_usuario/Desktop/aula/ 

 

Todo conteúdo dentro de /aula/ será removido. O r é recursive e inglês de recursivo. Se tiver infinitas pastas e arquivos após /aula/, o comando iria apagar infinitamente tudo sem nunca cessar. O termo infinito é só um exemplo. Por isso, cuidado com as escolhas de diretórios após o whereis.

 

sudo apt autoremove

 

O autoremove é bastante verbosivo e dispensa explicações. No entanto, o autoremove retira os pacotes não mais utilizados dentro do repositório do Linux. Este comando é útil porque o pacote que causa problemas pode estar nesta lista de pacotes inutilizáveis e, assim sendo, será eliminado para evitar futuros conflitos.

O repositório é um servidor da distribuição Linux, ou seja, cada uma tem a sua. O Linux Mint tem um repositório próprio assim como o Ubuntu tem o seu. Todo o comando enviado pelo terminal é um pedido para o repositório autorizar o download e fazer a instalação. É o mesmo que a atualização do Windows, a diferença é que o Windows busca as atualizações nos servidores da Microsoft.


sudo apt-get clean


O clean é limpar na nossa língua e traz a vantagem remover pacotes depositados nas pastas temporárias e também arquivos e pastas não mais utilizáveis. Ele é mais útil para liberar espaço no disco.


sudo apt-get autoclean

 

Análogo ao clean, o autoclean remove pacotes que não concluíram a instalação, ou seja, estão pendentes e/ou ultrapassados. Tem a mesma finalidade do clean.


sudo dpkg --configure -a 

 

Surge uma nova palavra na lista dos comandos: dpkg. O dpkg permite alterações no banco de dados do pacote do sistema operacional. O exemplo a ser dado pode parecer muito surreal, mas o dpkg atinge configurações mais profundas que o apt. Pense nas cirurgias plásticas no rosto para deixar pessoas rejuvenescidas, esta é a tarefa do apt no Linux. O dpkg é uma cirurgia que modificaria o DNA da pessoa de modo que a herança do corpo retardaria o envelhecimento.

O dpkg lida diretamente com arquivos .deb que é o pacote de instalação do Debian. Em um resumo rápido para não perder o foco deste texto, o Linux Mint e o Ubuntu foram baseados no Debian, outra distribuição Linux. Na verdade, a hierarquia é assim: 

- Linux Mint baseado no Ubuntu 

- Ubuntu baseado no Debian

- Debian baseado no Linux/GNU

Pense no Debian como uma casa já construída. Esta casa foi vendida para uma família e reformou com ampliações e melhorias dos cômodos. Nasceu assim a casa Ubuntu. Novamente vendida, o terceiro proprietário fez novas modificações e surgiu a casa Linux Mint. Apesar de todas as modificações, as fundações estruturais como baldrames e sapatas que sustentam a casa ainda são as mesmas.

Como o dpkg é a base do Debian e gerencia os pacotes da referida distribuição, o nome dpkg é Debian Package: Pacote Debian. Por ser de baixo nível, ou seja, se aproximar mais da linguagem da máquina do que a humana, o dpkg é um programa e no comando acima é associado ao --configure -a porque o --configure lida com pacotes já extraídos, mas não configurados dentro do sistema operacional. Ou seja, se há algum pacote extraído que algum modo não permitiu criar usuário e senha como um banco de dados, após a execução do comando, estará apto para tal.

A última parte -a é all e no português é tudo, isto é, todos os pacotes não instalados ou descompactados serão configurados. Pode usar --pending no lugar do -a.

O comando sudo dpkg --configure -a é mais útil para usuários avançados de Linux, principalmente quando fizeram alguma configuração na raiz de um pacote ou aplicativo como a localização da pasta armanezamento em uma aplicação PHP de uma loja virtual.


sudo apt update


O update é atualizar e serve para baixar informações sobre os pacotes presentes no repositório para todas as configurações do sistema operacional. O comando acima é útil, logicamente, para o sistema operacional identificar o que precisa ser atualizado.


sudo apt upgrade 

 

Aprimorar é a palavra mais apropriada para upgrade. O update mostrou o que precisa ser feito, é a lista do supermercado. O comando upgade faz as compras. É o momento que o sistema operacional faz o download e instalação das atualizações.



sudo apt install NOME_DO_PACOTE


Com o comando acima irá instalar o pacote. Install é instalar.


sudo apt-get install -f NOME_DO_PACOTE

 

A leta -f é de fix-broken é resolver algo quebrado e é a tentativa de instalar o paote que não deu certo com sudo apt install NOME_DO_PACOTE e de modo a reparar dependências quebradas dentro do gerenciador de pacotes.

Por fim, esvazie a lixeira.

Se este tutorial não resolver o problema, é necessário entrar em fóruns e buscar auxílio de usuários mais avançados.

Uma coisa pode ficar tranquilo: tudo é resolvível.

Este é um blog da Info Usado que divulga informações e conhecimento sobre informática. A Info Usado comercializa peças usadas para informática

 

Márcio Baldo

Comentários