Por que o purga do apt-get quer remover pacotes não correspondentes

1

Acho que é tudo sobre o gerenciamento de dependências, mas é preciso ter certeza. Meu caso:

sudo apt-get purge nvidia*
  

Os seguintes pacotes serão REMOVIDOS: nvidia-352 * nvidia-cg-dev *   nvidia-cg-toolkit * nvidia-opencl-icd-352 * nvidia-prime *   nvidia-settings * retroarch *

Ei, deixe meu retroarch sozinho, foi minha reação. Qualquer forma de evitá-lo ou apenas acompanhá-lo e reinstalar retroarch posteriormente.

    
por Zlatev 10.10.2015 / 18:08

1 resposta

1

retroarch depende de nvidia-cg-toolkit , por isso é removido se você remover nvidia-cg-toolkit .

Como nota lateral, sudo apt-get purge nvidia* provavelmente não faz o que você quer:

Primeiro, o shell tentará expandir nvidia* . Então, se você tiver, por exemplo, um arquivo chamado nvidia.txt em sua pasta atual, o shell será executado

sudo apt-get purge nvidia.txt

Se o shell não puder expandir nvidia* apt-get , ele será interpretado como uma expressão regular (não um padrão de shell!), significando " nvidi seguido por zero ou mais a " e, em seguida, procurar pacotes com nomes contendo uma substring correspondente. Isso é apt-get irá limpar todos os pacotes com um nome contendo nvidi (sem o a porque o "zero" em "zero ou mais").

Melhor uso

sudo apt-get purge 'nvidia.*'

para todo o pacote que contém nvidia ou

sudo apt-get purge '^nvidia.*'

se você quiser remover todos os pacotes que começam com nvidia .

    
por Florian Diesch 10.10.2015 / 18:29