Qual é a forma correcta de remover completamente uma aplicação?

I'pesquisei na rede por tais informações e encontrei diferentes linhas de comando, como estas:

sudo apt-get remove application
sudo apt-get remove application*

sudo apt-get remove --purge application
sudo apt-get remove --purge application*

sudo apt-get purge application
sudo apt-get purge application*

Então, qual é a forma correcta? É necessário usar esse "*"?

Depois disso, eu também encontrei estes comandos:

sudo updatedb
sudo locate application
sudo rm -rf (file/folder name)
  • "retirar packagename

irá remover os binários, mas não os arquivos de configuração ou de dados do pacote packagename. Também deixará intocadas as dependências instaladas com ele no tempo de instalação.

  • "apt-get purge packagename" ou "apt-get remove --purge packagename".

removerá cerca de todas as dependências do pacote `packagename', mas não as dependências instaladas com ele na instalação. Ambos os comandos são equivalentes.

Particularmente útil quando você quer ' começar tudo de novo' com uma aplicação porque você estragou a configuração. Entretanto, ele não remove arquivos de configuração ou de dados residentes nos diretórios domésticos dos usuários, geralmente em pastas ocultas lá. Não há uma maneira fácil de removê-los também.

  • apt-get autoremove

remove pacotes órfãos, ou seja, pacotes instalados que costumavam ser instalados como uma dependência, mas não são mais't. Use isto após remover um pacote que tinha dependências instaladas que você'não está mais interessado em.

  • "aptitude remove packagename" ou "aptitude purge packagename" (igualmente)

também tentará remover outros pacotes que foram requeridos pelo packagename em mas não são requeridos por nenhum pacote restante. Note que o aptitude só se lembra de informações de dependência para pacotes que ele tenha instalado.

E muitos mais existem. Comandos dpkg de nível inferior podem ser utilizados (avançados), ou ferramentas GUI como Muon, Synaptic, Software Center, etc. Não há's nenhum 'forma correta' de remover aplicativos ou realizar outras tarefas interagindo com o seu gerenciamento de pacotes.

A lista que você encontrou são apenas exemplos. Certifique-se de entender os significados e tente o que quer fazer antes de aceitar a ação (você precisa pressionar Y antes que ela realmente execute as ações conforme proposto).

A versão asterisco na pergunta é provavelmente errada; apt-get aceita uma expressão regular e não um padrão globo como a concha. Então o que acontece com

sudo apt-get remove application*

é o seguinte:

  1. A shell tenta expandir a aplicação* olhando para os arquivos no diretório atual. Se (como é normalmente o caso) ele não encontrar nada, ele retorna o padrão glob sem alterações (supondo que bash com comportamento padrão aqui --- zsh irá errar para fora).

  2. O apt-get' irá remover os pacotes cujo nome **contém uma string** que satisfaz a expressão regularaplicação*', ou seja, aplicação' seguido por um número arbitrário den': aplicação',aplicação', aplicação',libapplicação', etc.

  3. Para ver como isso pode ser perigoso, tente (sem raiz para dupla segurança) apt-get -s remove "wine*" (-s irá simular a coisa ao invés de fazer) --- irá dizer que vai remover todos os pacotes que tem "win" em seu nome e no dependente, quase todo o sistema...

Provavelmente, o comando que se pretendia

 sudo apt-get remove "^application.*"

(note as aspas e o ponto) que irá remover todos os pacotes cujo nome começa com aplicação.

Estes comandos,


sudo updatedb                  # 
Comentários (9)

Você pode utilizar com segurança o sudo apt-get remove --purge application' ousudo apt-get remove applications' 99% do tempo. Quando você utiliza o sinalizador purge', ele simplesmente remove todos os arquivos de configuração também. O que pode ou não ser o que você quer, dependendo se você quiser reinstalar a aplicação. Aaplicação*irá corresponder a todas as aplicações que começam comaplicação`, que normalmente são plugins, recursos adicionais, etc da aplicação principal que você está removendo, ou seja

sudo apt-get remove gedit*

removeria "gedit", "gedit-plugins" e "gedit-common". Normalmente não é necessário fazer isso, porque a maioria dos plugins/ programas associados dependem da aplicação principal, e serão automaticamente removidos (ou marcados para remoção) quando você desinstala a aplicação principal.

Seu último comando é apenas para remover sobras de aplicativos que são conhecidos por terem desinstaladores confusos, e é apenas remover quaisquer resquícios do aplicativo.

Comentários (0)

Depende da aplicação que você deseja remover. Certifique-se sempre de verificar as suas dependências antes de emitir o comando sim. Quando você remove algo por linha de comando, algumas vezes ele mostrará um punhado de bibliotecas que não são mais necessárias. Estas podem ser removidas com o apt-get autoremove.

Cuidado que ao usar comandos como sudo apt-get remove --purge applicationname pode remover algumas dependências que são necessárias por outras aplicações e, como tal, pode quebrar o seu sistema.

Se você quiser fazer isso de forma mais segura, você pode sempre removê-lo usando apenas o centro de software ou o apt-get remove applicationname. Se as dependências são'não são mais necessárias, emita apt-get autoremove mais tarde.

Comentários (1)