Qual é a diferença entre `apt-get purge` e` apt-get remove`?

196

Existe alguma diferença entre

sudo apt-get purge <package-name>

e

sudo apt-get remove <package-name>  

?

Costumo ver pessoas recomendando um ou outro.

Em outras palavras, o que apt-get purgeremove isso apt-get removenão remove ?

Seth
fonte
Relacionado (desde que apté semelhante, mas uma alternativa à, apt-get): askubuntu.com/questions/936810/apt-remove-vs-purge
Michael

Respostas:

200

Como a man apt-getpágina diz:

remove - remove é idêntico à instalação, exceto que os pacotes são removidos em vez de instalados. Observe que a remoção de um pacote deixa seus arquivos de configuração no sistema . Se um sinal de adição for anexado ao nome do pacote (sem espaço intermediário), o pacote identificado será instalado em vez de removido.

limpeza - limpeza é idêntica à remoção, exceto que os pacotes são removidos e removidos ( qualquer arquivo de configuração também é excluído ).

Isso, obviamente, não se aplica a pacotes que contêm arquivos de configuração dentro da pasta inicial do usuário (por exemplo /home/SexyNoJutsuUser:), esses arquivos não serão tocados ( por que "Limpar" não remove tudo relacionado a um aplicativo? )

Por exemplo, se você remover o Chrome, Firefox, XBMC ou qualquer outro que contenha alguns arquivos de configuração dentro da sua /homepasta, esses arquivos permanecerão lá.

Por outro lado, se você instalar o apache, squid, mysql ou qualquer outro serviço similar que salve seus arquivos /etc, esses arquivos de configuração serão excluídos se você usar purge.

Luis Alvarado
fonte
A limpeza pode ser usada em um meta pacote para removê-lo, mantendo intacto o pacote subjacente. Se você deseja atualizar o sistema base sem afetar o postgres, você pode apt-get limpar o meta pacote postgres e, em seguida, atualizar o Debian 7- O Debian 8 deixará sua versão do postgres intocada.
boatcoder
30

Um trecho da minha resposta sobre outra pergunta:

  • apt-get remove packagename
    removerá os binários, mas não os arquivos de configuração ou dados do pacote packagename.
  • apt-get purge packagename, ou
    apt-get remove --purge packagename
    removerá tudo o que estiver relacionado ao pacote packagename, [...]
    Particularmente útil quando você deseja "começar tudo de novo" com um aplicativo, porque você estragou a configuração.
gertvdijk
fonte
12

apt-get purgeremove arquivos de configuração, enquanto apt-get removenão.

moon.musick
fonte