Desinstale com segurança um pacote no Gentoo

12

Eu queria desinstalar um pacote específico no Gentoo e navegar pela man page do emerge. Eu encontrei a opção --unmerge :

WARNING: This action can remove important packages! Removes all matching packages. This does no checking of dependencies, so it may remove packages necessary for the proper operation of your system.Its arguments can be atoms or ebuilds. For a dependency aware version of --unmerge, use --depclean or --prune.

No entanto, gostaria de emerge para verificar se o pacote que eu quero desinstalar é exigido por qualquer outro pacote instalado no sistema. --depclean e --prune não fornecem essa funcionalidade:

  • --depclean remove pacotes que foram instalados como dependências, mas não são mais necessários
  • --prune "remove tudo, exceto a versão mais alta instalada de um pacote do seu sistema"

Não há versão de verificação de dependência de --unmerge ?

    
por daniel kullmann 11.07.2012 / 09:33

4 respostas

17

Eu não acho que depclean funciona da maneira que você descreveu. Sem nenhum argumento, mas se você passar um nome de pacote, ele funciona como unmerge com uma verificação de dependência adicional. De emerge(1) :

Depclean serves as a dependency aware version of --unmerge. When given one or more atoms, it will unmerge matched packages that have no reverse dependencies. Use --depclean together with --verbose to show reverse dependencies.

Eu sempre uso --depclean ( -c ) para desmembrar pacotes individuais; funciona bem

    
por 11.07.2012 / 15:32
6

gentoolkit vem para ajudar:

equery d <atom>

Você pode verificar primeiro as dependências e depois remover o pacote depois de inspecionar suas dependências.

    
por 11.07.2012 / 15:27
4

Outra maneira de obter o mesmo resultado (embora não seja um comando que não seja combinado com a verificação de dependência): emerge --deselect package , que remove o pacote do arquivo world. Agora, a execução de emerge --depclean removerá esse pacote, se não for exigido por nenhum outro pacote.

    
por 11.07.2012 / 14:30
1

Às vezes, emerge --unmerge fornece esta mensagem de aviso:

 * This action can remove important packages! In order to be safer, use
 * 'emerge -pv --depclean <atom>' to check for reverse dependencies before
 * removing packages.

Parece que esta é a maneira recomendada de fazer a verificação de dependência antes de desimplantar um pacote. Eu ainda espero, no entanto, que exista uma maneira melhor e mais automatizada de conseguir isso.

    
por 11.07.2012 / 12:13