Por que os programas não são desinstalados completamente (removem todos os arquivos) quando eu os removo?


12

No Ubuntu, ou em qualquer Linux, quando decido remover um programa e depois reinstalá-lo, percebo que ele não removeu nada que fiz anteriormente, tornando-o um pouco inútil para mim, pois gosto de instalar coisas frequentemente . Sempre que eu decidir reinstalá-lo, é como antes de remover o programa. Por que é isso?

Estou acostumado a desinstalar algo semelhante ao Windows ou Android, pois ele remove completamente tudo e a única maneira real de recuperar esses dados seria salvá-los em algum lugar ou, se eles me derem a opção de fazer login para recuperá-los, é existe uma maneira de fazer isso no Linux também?

Às vezes, removo-o do centro de software Ubuntu e o uso sudo apt-get --purge remove [application].

Estou usando o Ubuntu 18.10, não tenho nada para desinstalar agora, só estou curioso.


1
Use em purgevez de remove.
precisa saber é o seguinte

1
O Android tem a capacidade de sincronizar dados com uma conta do Google. É isso que você quer dizer com "faça login para recuperá-lo"? Ainda não vi essa opção no Windows.
tu restabelece Monica-dor duh

9
Você realmente acredita que o Windows remove tudo. Minha experiência é bem contrária. E a bagunça deixada pelos aplicativos desinstalados no Registro do Windows é simplesmente horrível.
Ister

2
A maioria dos aplicativos (bons) do Windows oferece uma opção para excluir ou manter a data do usuário, mas muitos deles não afetam suas coisas pessoais.
T. Sar

@ t-sar Você pode citar um exemplo disso? Eu nunca vi uma oferta de aplicativo do Windows para destruir os dados do usuário.
tu Reinstala Monica-dor duh

Respostas:


26

Isso não é bem verdade. Nenhuma operação de pacote deve remover os dados do usuário, jamais, sob nenhuma circunstância.

O raciocínio é simples: o aplicativo não possui os dados. Você faz.

Em primeiro lugar, como um aparte, além da tela de login do Ubuntu, se um aplicativo solicitar que você efetue login , seus dados quase certamente não estarão em sua máquina . O processo de logon provavelmente está relacionado a um mecanismo de autenticação online para fornecer acesso aos seus dados armazenados em outro lugar . O Android e o iOS têm uma capacidade (limitada) de sincronizar pequenas quantidades de dados de usuário e de configuração para aplicativos com servidores "em nuvem", mas isso também não desaparece necessariamente após a desinstalação de um aplicativo.

Todos os sistemas operacionais (incluindo Windows * e Android) dependem de scripts de remoção . Eles presumem que você deseja que o software desapareça, mas mantenha a configuração para poder instalá-lo novamente mais tarde. A --purgeopção de aptapenas remover arquivos de configuração .

Se você estiver fazendo modificações fora de seus próprios dados (/ home), assumimos que você sabe o que está fazendo, para que seu sistema continue se comportando de acordo com sua configuração. É fácil para rm -Ros arquivos de configuração, não é tão fácil obter sua versão personalizada específica das coisas de volta como você as configurou. Portanto, esses scripts tendem a errar por precaução.

Esses scripts fazem várias suposições sobre o que foi instalado e são frequentemente escritos por humanos que podem cometer erros. Às vezes, o software faz algo especial, principalmente quando o software possui dependências .

Nós (os desenvolvedores do Ubuntu) fazer fazer testes em sistemas de teste. Instalamos o software em uma instalação limpa do Ubuntu e, em seguida, executamos apt removeeapt --purge remove e verificar se o sistema voltou ao estado esperado (pré-instalado).

Se você vir uma situação em que um pacote está instalado, nenhuma modificação é feita na configuração e o pacote é removido, mas os arquivos permanecem, então , registre um bug nesse pacote.

Uma alternativa é usar snap, que hospeda o aplicativo inteiramente em seu próprio ambiente.

* (de fato, esta é uma das principais maneiras pelas quais os aplicativos Windows instalam malware, "pegando carona" em aplicativos que você escolhe instalar e depois não os removendo quando os desinstala.)


2
Acho que a pergunta é: por que uma desinstalação não remove os dados do usuário criados usando o aplicativo ("não removeu nada que eu fiz anteriormente"), e essa resposta simplesmente afirma isso como um axioma no primeiro par de frases, em vez de explicando ou justificando.
ShreevatsaR

2
"É fácil rm -R os arquivos de configuração você mesmo" É? Isso pressupõe que você saiba onde todos estão. Eles não poderiam estar em lugar algum? Basicamente, suponho que todas as operações de instalação são permanentes. Não vejo o ponto de fornecer uma opção de remoção para os gerenciadores de pacotes. Você sempre precisa começar do zero, se quiser que o software ocorra. Eu sou muito fatalista aqui?
Nacht - Restabelece Monica

1
" Eles não poderiam estar em lugar algum? ", Tecnicamente sim. Na realidade, provavelmente 95% dos arquivos estarão em um dos poucos locais tradicionais. Muito poucas aplicações gravam arquivos em locais não tradicionais completamente ilógicos. Portanto, você geralmente só precisa verificar alguns diretórios conhecidos. Muitas vezes, você também pode procurar informações sobre o software para saber quais diretórios possuem seus arquivos. Você pode até iniciar uma VM, instalar o software e ver onde ele grava arquivos, se desejar. Em suma, você está fazendo parecer que é muito mais difícil encontrar o que excluir do que é.
VLAZ 22/02/19

2
"Eles não poderiam estar em lugar algum?" Se você não alterou nada nos arquivos de configuração, eles serão removidos se você usar --purge. Se você fez algo mudar neles, você obviamente sabe onde eles estão.
technical_difficulty

3
"E somente se eles não tiverem sido modificados pelo usuário " - você tem certeza? Pelo menos no Debian (e, portanto, em todos os pacotes que o Ubuntu obtém sem alterações), a remoção de um pacote exclui toda a sua configuração (em todo o sistema), independentemente de o administrador do sistema ter modificado ou não (consulte a seção de política sobre comportamento de configuração ) . Isso não substitui a regra de que qualquer coisa/home está fora dos limites, portanto, a configuração específica do usuário é preservada.
Stephen Kitt

13

sudo apt remove ou desinstalar um aplicativo normalmente do Centro de Software apenas desinstalará os arquivos regulares do pacote e deixará a configuração para trás, de modo que a reinstalação do pacote mais tarde normalmente restaurará praticamente o estado anterior do aplicativo.

sudo apt purge ou sudo apt remove --purge desinstalará um pacote e removerá os arquivos de configuração residuais em todo o sistema posteriormente. Você também pode usá-los para limpar a configuração residual de um pacote removido anteriormente.

O gerenciador de pacotes nunca excluirá os dados ou arquivos de configuração do usuário, criados durante o tempo de execução do aplicativo. Esses arquivos não são rastreados e o usuário é responsável por limpá-los do diretório inicial, caso não deseje mantê-los. (Teoricamente, um pacote pode conter um script pós-remoção que verifica os locais de dados comuns do usuário em busca de arquivos que ele pode ter criado, mas esse normalmente não deve ser o caso)


5
Um pacote cujo script de remoção exclui coisas ou examina os diretórios pessoais dos usuários é um malware e não deve ser aceito em nenhum repositório de distribuição aceitável.
R .. GitHub Pare de ajudar o gelo

0

No Windows, você sempre tem algum rastro do programa invasivo no registro que deve ser removido manualmente. Qualquer coisa relacionada ao AV preenche bastante a arquitetura do Win… Além disso, o Windows requer um aplicativo de terceiros para remover completamente um programa. Ccleaner e Revo estão entre eles.

No Ubuntu, o apt purge remove quase tudo, se não tudo. Uma pesquisa manual no Synaptic Package Manager mostra todo o processo de exclusão. Ele pode ser verificado duas vezes, executando o apt purge ou inversamente, pesquisando-o no Synaptic.

Você deve ser prudente e preciso usando esse aplicativo, é um lugar quente para se estar.


"No Windows, você sempre tem algum traço do programa invasivo no registro que deve ser removido manualmente." Bem, nem sempre! Mas é um problema.
Laurence Payne
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.