Como remover as dependências recomendadas e sugeridas dos pacotes desinstalados?

14

Eu sei de Como remover dependências de um pacote desinstalado? e eu tentei

apt-get autoremove

mas isso não remove as dependências recomendadas / sugeridas por outros pacotes.

Isto é, se eu instalar um pacote X que recomenda Y, mas não instalo Y, então instalo o pacote Z que depende de Y. e mais tarde eu faço

apt-get remove --auto-remove Z

então Y não é automaticamente removido, embora nada dependa dele. (X "pegou" Y, mesmo que não dependa dele).

    
por user2809402 28.09.2013 / 12:33

4 respostas

12

Se você quiser remover os pacotes recomendados do seu sistema, mesmo se ainda houver alguns pacotes instalados recomendando (ou sugerindo), coloque o seguinte no arquivo /etc/apt/apt.conf.d/99_norecommends (crie-o):

APT::Install-Recommends "false";
APT::AutoRemove::RecommendsImportant "false";
APT::AutoRemove::SuggestsImportant "false";

A documentação para estas opções está aqui .

Então, a próxima execução do apt deve remover todos eles. Se isso não acontecer, inicie aptitude e digite g e g novamente.

Essa configuração também desativa a instalação automática de pacotes recomendados ao usar apt-get . Para aptitude , pode ser feito a partir da GUI do console, menu Opções > Preferências > "Instalar pacotes recomendados automaticamente" (desmarque-o).

    
por Totor 02.01.2014 / 20:29
4

apt-get autoremove deixará pacotes "recomendados" e "sugeridos" para trás. A lógica é um pouco intrigante, como "talvez algum outro pacote esteja usando-os" (sem registrar nada sobre isso no APT).

Mas, seguindo a mesma lógica, o APT também poderia se recusar a desinstalar qualquer coisa, porque você nunca sabe.

De qualquer forma, você pode remover todos os pacotes "recomendados" e "sugeridos" em seu sistema em um único comando, sem ter que modificar a configuração:

sudo apt-get autoremove -o APT::Autoremove::RecommendsImportant=0 -o APT::Autoremove::SuggestsImportant=0

No entanto, esteja avisado. Eu fiz isso no meu sistema, ele liberou muito espaço, no entanto eu tive que reinstalar manualmente alguns pacotes para recuperar a funcionalidade perdida, como ser capaz de montar partições FAT, por exemplo. (exfat-fusível era uma dependência opcional / sugerida de fusível, se bem me lembro). Acabei de reinstalar todos os pacotes recomendados / recomendados para me poupar do problema.

Eu não sei de nenhuma maneira fácil de especificar que você desejaria que as dependências opcionais / sugeridas de determinados pacotes fossem desinstaladas. apt-get não oferece essa opção.

Outros gerenciadores de pacotes podem ser melhores nisso. Alguns gerenciadores de pacotes (DNF) têm uma abordagem "transacional" para o gerenciamento de pacotes, o que significa que você pode retroceder para um ponto anterior.

    
por Rolf 29.01.2018 / 04:52
0

Na verdade, o comando é:

sudo apt-get autoremove <Z>

Mas isso tem um truque! Se alguma das dependências tiver outros pacotes previamente instalados que recomendam / sugerir, o apt não os removerá.

Você não especificou qual pacote era, mas, por exemplo, se eu fosse instalar o plugin IcedTea, ele instalaria o Java / OpenJRE por dependências. Se eu desinstalá-los usando sudo apt-get autoremove icedtea-7-plugin , você notaria que não removerá o Java / OpenJRE, já que o LibreOffice também sugere os pacotes.

Então, para removê-los, você tem que ser excessivamente específico sobre o pacote que você quer desinstalar que o normal autoremove não irá:

sudo apt-get autoremove <Z> <dependency of Z>

Dessa forma, você pode ter certeza de que seu pacote será removido.

Você também pode usar o deborphan para remover algumas dependências.

    
por Braiam 08.10.2013 / 16:32
-1

Certo, se você quiser remover o pacote <Z> com dependências, basta digitar:

sudo apt-get autoremove --purge <Z>
    
por user1019723 03.10.2013 / 10:04