Estou apenas começando a entender como a remoção e a remoção são diferentes uma da outra, mas uma coisa que não entendo é:
Como a limpeza sabe onde procurar por arquivos de configuração do usuário e quanto ele realmente elimina ao limpar?
Praticamente falando, como posso remover um pacote e cada último diretório ou arquivo que a instalação e a configuração do pacote podem ter deixado para que, quando eu o desinstalasse, o pacote nunca estivesse lá?
Os cenários que ajudam a explicar essa coisa de remoção para mim são:
- Eu instalo um pacote e ele instala várias dependências que só ele precisa.
- Eu instalo um pacote e ele tenta instalar um monte de dependências de que precisa, mas descobre que alguns outros pacotes já instalaram essas dependências porque precisam delas e, portanto, não as instala.
- Eu removo um pacote e ele remove todas as dependências que ele precisava, independentemente de outros programas precisarem delas ou não.
- Eu removo um pacote e ele vê que outros programas precisam de algumas das dependências e, assim, deixa-os, mas remove aqueles que só eles precisavam.
Acho que minha lógica abrange todos os cenários. Tenho certeza de que existem maneiras de implementar cada um desses cenários, apesar de sua inutilidade possivelmente inerente. Apenas soletrando a lógica. De qualquer forma, a questão é mais sobre expurgo, não remover, então vamos ficar com purge, mas corrija meu entendimento de remover se você achar que é relevante ou necessário.
Os exemplos práticos para ilustrar a questão da purga são:
Exemplo 1:
Instalei o tightvncserver ou o openssh-server, que criou pastas no diretório inicial do usuário para salvar suas configurações. E sobre esses dois pacotes podem dizer purge "Ei, quando você excluir o meu pacote do sistema, você pode querer olhar em ~ / .vnc ou ~ / .ssh e basta apagar as pastas para que nada seja deixado para trás."
Além disso, esses pacotes, por exemplo, ou mesmo em particular, deixam para trás outras coisas em / var ou outros diretórios que a remoção pode querer excluir? Eu não sei, como man-db, bash aliases. Realmente, eu não sei, você me diz, eu sou novo nisso.
Exemplo 2:
pilhas de LAMP.
Quando você instala o Apache, parece que há coisas jogadas de todas as maneiras. O apache2 não tem sua própria pasta em / etc e usa espaço em / var para os próprios sites? Se eu purgar o apache2, vai purgar saber para olhar em / etc e / var e se livrar de todo esse lixo? Se ele sabe procurar lá para remoção desses diretórios, como ele sabe? Existe algum código nos arquivos do pacote que diga ao kernel ou pelo menos limpe: "Ei, quando você me limpar, por favor, olhe nos seguintes lugares e se livre de todas essas coisas, porque ninguém mais as usa além de mim. Oh e enquanto você está nisso, diga que uma parte do sistema que permite a todos os programas usá-lo para encontrar coisas que precisamos esquecer de mim completamente (systemctl? bash? outros?). Eu estou indo e não voltando. "
Parece-me que vi vestígios de pacotes removidos nos seguintes locais:
- / etc
- / var
- ao consultar o systemctl para o status dos serviços
- aliases do bash
- onde diabos as instalações de pacotes colocam coisas que eu não listei?
É óbvio que estou perguntando sobre informações existentes ou disponíveis. Mas eu realmente gostaria de um tratamento conciso das perguntas. Acho que ajudaria muitas pessoas a desmistificar como a instalação e remoção de pacotes funciona. Talvez eu esteja perguntando sobre coisas que não estão verdadeiramente conectadas, mas para mim elas parecem conectadas, então desmistificar ou corrigir como essas coisas estão ou não estão conectadas obviamente pode ajudar a corrigir o registro também.