Eu procurei na net por essas 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 é o caminho correto? É necessário usar esse "*"?
Depois disso, eu também encontrei estes comandos:
sudo updatedb
sudo locate application
sudo rm -rf (file/folder name)
command-line
package-management
user48949
fonte
fonte
application*
pode ocasionalmente fornecer resultados inesperados - por exemplo, se você tiver um arquivo no diretório atual chamadoapplication_information
, o shell o expandirá antes de ser passado para o apt-get. Se isso está acontecendo e você quer o asterisco literal, você pode usarapplication\*
ou'application*'
application*
é ainda mais perigoso quando não há arquivos no diretório atual:apt-get
usa expressões regulares, sem padrões globais. As pessoas quase apagaram todo o sistema tentando removerwine*
.application*
nemapplication\*
é seguro! A citação*
com\
ou'
'
apenas aumenta o risco, assegurando que*
seja passado como estáapt-get
(embora geralmente seja assim mesmo!), Fazapt-get
com que o argumento seja interpretado como um regex. Em uma regex*
significa "zero ou mais do caractere anterior". Uma forma comum do erro é desinstalarwine*
, removendo todos os pacotes comwin
(nãowine
,win
) em qualquer lugar em seus nomes e todos os pacotes dependendo de nenhum deles. Veja esta explicação e possíveis correções . @IzkataRespostas:
apt-get remove packagename
removerá os binários, mas não os arquivos de configuração ou dados do pacote
packagename
. Ele também deixará as dependências instaladas no momento da instalação intocadas.apt-get purge packagename
ouapt-get remove --purge packagename
removerá quase tudo sobre o pacote
packagename
, mas não as dependências instaladas com ele na instalação. Ambos os comandos são equivalentes.Particularmente útil quando você deseja "começar tudo de novo" com um aplicativo, porque você estragou a configuração. No entanto, ele não remove os arquivos de configuração ou de dados que residem nos diretórios pessoais dos usuários, geralmente nas pastas ocultas. Não há uma maneira fácil de remover esses 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. Use isso após remover um pacote que tinha dependências instaladas nas quais você não está mais interessado.
aptitude remove packagename
ouaptitude purge packagename
(da mesma forma)também tentará remover outros pacotes exigidos pelo
packagename
on, mas que não são exigidos pelos pacotes restantes. Observe queaptitude
somente as informações de dependência são lembradas para os pacotes que foram instalados.E muitos mais existem.
dpkg
Comandos de nível inferior podem ser usados (avançado) ou ferramentas de GUI como Muon, Synaptic, Software Center, etc. Não existe uma 'maneira correta' de remover aplicativos ou executar outras tarefas que interagem com o gerenciamento de pacotes.A lista que você encontrou são apenas exemplos. Certifique-se de entender os significados e tente o que ele quer fazer antes de aceitar a ação (é necessário pressionar
Y
antes que ele efetue as ações conforme proposto).A versão do asterisco na pergunta provavelmente está errada ;
apt-get
aceita uma expressão regular e não um padrão glob como o shell. Então, o que acontece comé o seguinte:
O shell tenta expandir
application*
olhando os arquivos no diretório atual. Se (como normalmente é o caso) não encontrar nada, ele retornará o padrão glob inalterado (supondo quebash
o comportamento padrão seja aqui ---zsh
ocorrerá um erro).apt-get
irá remover os pacotes cujo nome contém uma seqüência que satisfaz a expressão regularapplication*
, ou seja,applicatio
seguido de um número arbitrário den
:applicatio
,application
,applicationn
,libapplicatio
, etc.Para ver como isso pode ser perigoso, tente (sem raiz para segurança dupla)
apt-get -s remove "wine*"
(-s
simulará a coisa em vez de fazê-la) --- ele dirá que removerá todos os pacotes que possuem "vitória" em seu nome e dependentes, quase todo o sistema ...Provavelmente, o comando que foi feito é realmente
(observe as aspas e o ponto) que removerão todos os pacotes cujo nome começa com
application
.Esses comandos,
estão completamente fora do escopo do gerenciamento de pacotes. Não remova arquivos pertencentes a pacotes sem usar o gerenciador de pacotes! Vai ficar confuso e é a maneira errada de fazer as coisas.
Se você não souber a qual pacote um arquivo pertence, tente o seguinte:
fonte
apt-get-autoremove --purge
também é importante observar que os arquivos de configuração no diretório inicial não são afetados pela opção --purge. Estes você terá que remover manualmente.apt remove -s texlive*
ou suasapt-get
contrapartes retornam linhas comoNote, selecting 'texlive-font-utils' for glob 'texlive*'
(implicando que elas realmente aceitam globs), seguidas pelas linhas usuaisPackage 'texlive-common' is not installed, so not removed
e, finalmenteRemv
, comoRemv texlive-font-utils [2015.20160320-1] [...]
.apt-get remove packa*
, de fato, pega a glob empacka*
vez de encará-la como regex: ela combina,package
mas nãopack
.Para o Ubuntu 12.04 e talvez superior, o método correto é:
Conforme detalhado aqui .
Não use,
packagename*
pois isso pode excluir pacotes indesejados e causar mais problemas do que resolve. Ou se você deve, pelo menos executá-lo com um-s
,--simulate
,--dry-run
flag primeiro a ver exatamente o que ele vai fazer sem fazê-lo.fonte
Você pode usar este comando:
Ele limpará os pacotes necessários junto com as dependências instaladas com esses pacotes. A
--auto-remove
opção (sendo um alias deautoremove
) funciona de maneira semelhante asudo apt-get autoremove
. Usando este comando, podemos executar um único comando:Ao invés de:
fonte
sudo apt-get --purge autoremove packagename
. Mesmo comando 1 aquiapt-get autoremove --purge
vez deapt-get purge --auto-remove
?Você pode usar com segurança
sudo apt-get remove --purge application
ousudo apt-get remove applications
99% do tempo. Quando você usa opurge
sinalizador, ele também remove todos os arquivos de configuração. O que pode ou não ser o que você deseja, dependendo se você deseja reinstalar o referido aplicativo. Eleapplication*
corresponderá a todos os aplicativos iniciadosapplication
, geralmente plugins, recursos adicionais, etc. do aplicativo principal que você está removendo. ieremoveria
gedit
,gedit-plugins
egedit-common
. Normalmente, não é necessário fazer isso, porque a maioria dos plugins / programas associados depende do aplicativo principal e será automaticamente removida (ou marcada para remoção) quando você desinstalar o aplicativo principal.Seu último comando é apenas remover as sobras de aplicativos que possuem desinstaladores confusos e apenas remover os restos do aplicativo.
fonte
Recebi algumas mensagens de erro ao remover um pacote, a única maneira que achei que funcionou foi esta:
Eu descobri que embora usando apenas
não remove o pacote, mostra o caminho correto para o arquivo para mover:
Substitua o pacote pelo nome do seu aplicativo. Use sudo no Ubuntu, torne-se root no Debian.
fonte
Encontrei este comando na internet.
http://www.debian-administration.org/article/Reinstalling_packages_to_fix_problems .
fonte
Depende do aplicativo que você deseja remover. Sempre verifique suas dependências antes de emitir o comando yes. Quando você remove algo por linha de comando, ele às vezes mostra algumas bibliotecas que não são mais necessárias. Eles podem ser removidos com o apt-get autoremove.
Cuidado ao usar comandos como sudo apt-get remove --purge applicationname, pode remover algumas dependências necessárias a outros aplicativos e, como tal, pode danificar seu sistema.
Se você quiser fazê-lo da maneira mais segura, sempre poderá removê-lo usando apenas o centro de software ou o apt-get remove applicationname. Se as dependências não forem mais necessárias, emita o apt-get autoremove mais tarde.
fonte
Eu só queria esclarecer uma coisa que parece ser uma fonte de confusão aqui. O
dpkg
utilitário não conhece ou rastreia dependências de pacotes em relação um ao outro, o que foi um grande motivo queapt
foi desenvolvido, acredito. Você pode ler sobre isso na seção 8.6 desta página. Perguntas freqüentes sobre o Debian GNU / Linux - As ferramentas de gerenciamento de pacotes DebianCom o apt: se eu quisesse limpar o pacote A e ele tiver uma dependência chamada pacote B, e o pacote B não tiver outros pacotes dependentes, os pacotes A e B serão eliminados. Se o pacote B tiver outros pacotes dependentes, apenas o pacote A será eliminado.
Com dpkg: que dependência? Você acabou de me dizer para limpar o maldito
pacote, e foi isso que eu fiz! Um mau planejamento da sua parte não
constitui uma emergência da minha parte.
Com isso dito, aqui estão duas linhas que podem ser usadas para cada método de purga:
Remova o
--dry-run
para executar a operação de limpeza real em vez de relatar quais ações ela teria tomado.fonte