Desinstale completamente os pacotes relacionados instalados com um pacote

3

Como faço para remover exatamente as mesmas coisas que instalei ou o sistema instalou, adicionando suporte para um idioma, por exemplo? Existe um procedimento que eu possa seguir? Apt-get remove, autoremove ou purge não é o que estou procurando, deixa as coisas para trás.

Atualmente, estou pesquisando debfoster , mas espero que esteja supervisionando algo mais fácil e nativo.

Neste momento eu tenho que restaurar o meu sistema de um instantâneo para colocá-lo em configuração anterior, estou trabalhando em aplicativos internacionais, quando eu instalar e desinstalar por exemplo chinês, vou acabar com várias fontes indesejadas que não estavam lá antes e faz o meu teste inútil.

Atualização:

Para atualizar e esclarecer a minha pergunta, eu já sei que as instalações de pacotes são registradas há um mês atrás eu perguntei Como remover corretamente o suporte chinês e eu encontrei uma solução, os pacotes instalados incluindo as fontes que eu quero excluir são apenas em /var/log/dpkg.log. Eu estou procurando automação ou alguma ferramenta, que irá automatizar isso para que eu não precise processar logs toda vez que eu instalar e desinstalar um novo idioma ou um aplicativo. Aparentemente o Ubuntu tem uma pequena falha e não desinstala as fontes na remoção do idioma, eu instalo um novo idioma e depois o deleto várias vezes ao dia para teste, eu tenho um script que fiz hoje onde coloquei tudo de logs que não desinstala e ainda espero que eu esteja reinventando uma roda e já existe algum procedimento em vigor que controla quais arquivos e outras coisas estão tocando e certificando-se de que eles serão excluídos na remoção.

    
por Mike 02.02.2016 / 11:26

3 respostas

1

O aplicativo debfoster que mencionei na pergunta faz o truque, afinal, demorei um pouco para descobrir como ele é usado.

sudo apt-get install debfoster

Gerar arquivo de criadores, armazenado em /var/lib/debfoster/keepers :

sudo debfoster -q

Este arquivo keepers contém todos os pacotes atualmente instalados, da próxima vez que algo estiver instalado, basta executar:

sudo debfoster

Ele iniciará listando todos os pacotes instalados a partir do momento em que o último arquivo de keepers foi gerado. Perguntas serão feitas dando 9 opções, primeiro 4 são importantes:

Yes        Keep the package. [default]
No         Delete the package.
Prune      Delete the package and the packages it is keeping installed.
Skip       Skip this question.

Mais informações man debfoster ou debfoster --help .

Isso realmente lista até fontes que são omitidas com o apt-get autoremove ou ao desinstalar pacotes de idiomas com GUI de Configurações de Idioma.

    
por Mike 03.02.2016 / 15:38
1

Se você instalou "coisas" por meio de um gerenciador de pacotes ( apt-get , dpkg , synaptic ), está tudo registrado em /var/log/apt/* . É uma simples questão de edição gerar os comandos apt-get purge .

Se você instalou "coisas" de outra forma ( sudo make install , /usr/bin/cpan , ...) você precisa desinstalá-lo usando o mesmo método.

Para facilitar sua vida no futuro, especialmente se você usar o segundo método, considere instalar e usar installwatch . Na página man :

trusty (1) installwatch.1.gz
Provided by: checkinstall_1.6.2-4ubuntu1_i386

NAME

       installwatch — Track installation of software

SYNOPSIS

       installwatch [options]  [command]

DESCRIPTION

       installwatch  is  a  program that is used in order to track the changes
       made  while  installing  local  software  (i.e.   "make  install").  It
       monitors  the requested command, and produces a log which indicates all
       created and modified files.
    
por waltinator 02.02.2016 / 11:58
0

Eu acho que o que você chama de pacotes "relacionados" são aqueles mencionados pelo apt ou apt-get como pacotes "adicionais" (na instalação) e como pacotes "instalados automaticamente" (na remoção).

Tanto quanto eu posso entender de esta resposta, sudo apt autoremove não deve deixar nada para trás se correr após o seu programa / pacote específico foi desinstalado.

Para ver antes de desinstalar o programa, o que sua instalação (com apt ou apt-get) trouxe - seguindo a resposta vinculada:

Primeiro, execute sudo apt autoremove para que o apt inicie de um estado "limpo".

Em seguida, simule a remoção do seu programa / pacote e anote os pacotes instalados automaticamente:

sudo apt-get remove --dry-run YOUR_PROGRAM

que dará algo como

The following packages were automatically installed and are no longer required:
  THE_LIST_OF_PACKAGES
Use 'sudo apt autoremove' to remove them.

Depois de desinstalar o YOUR_PROGRAM, se preferir, faça

sudo apt remove <THE_LIST_OF_PACKAGES>

em vez de sudo apt autoremove .

Quanto ao debfoster , se você o instalou e criou o arquivo keepers antes de instalar o programa, a maneira mais simples de ver quais pacotes adicionais um programa trouxe é o comando

sudo debfoster -r YOUR_PROGRAM
    
por cipricus 11.01.2018 / 22:55