Porque o apt não remove todos os pacotes que foram baixados ao instalar um programa [RESOLVIDO]

1. Porque o apt não remove todos os pacotes que foram baixados ao instalar um programa [RESOLVIDO]

Vinicius Alves de Morais
Viniciusam

(usa Linux Mint)

Enviado em 16/08/2020 - 08:33h

Eu reparei que ao remover um programa ele não remove todas as dependências baixadas ao instalar, pra confirmar isso baixei o Inkscape pra testar e eles baixou os seguintes pacotes (49 no total):
fig2dev gawk imagemagick imagemagick-6-common imagemagick-6.q16 inkscape libblas3 libcdr-0.1-1 libdjvulibre-text libdjvulibre21 libgc1c2 libgfortran5 libgsl23 libgslcblas0 libgtkmm-2.4-1v5 libgtkspell0 libheif1 libimage-magick-perl libimage-magick-q16-perl libjxr-tools libjxr0 liblapack3 liblqr-1-0 libmagick++-6.q16-8 libmagickcore-6.q16-6 libmagickcore-6.q16-6-extra libmagickwand-6.q16-6 libpotrace0 libquadmath0 librevenge-0.0-0 libsigsegv2 libvisio-0.1-1 libwmf-bin libwmf0.2-7 libwpd-0.10-10 libwpg-0.3-3 python-backports.functools-lru-cache python-bs4 python-chardet python-html5lib python-lxml python-numpy python-pkg-resources python-scour python-six python-soupsieve python-webencodings python3-scour scour

Mas quando eu dou um apt remove inkscape --autoremove ele só remove os seguintes pacotes (32 no total):
inkscape libblas3 libcdr-0.1-1 libgc1c2 libgfortran5 libgsl23 libgslcblas0 libgtkmm-2.4-1v5 libgtkspell0 libimage-magick-perl libimage-magick-q16-perl liblapack3 libmagick++-6.q16-8 libpotrace0 libquadmath0 librevenge-0.0-0 libvisio-0.1-1 libwpd-0.10-10 libwpg-0.3-3 python-backports.functools-lru-cache python-bs4 python-chardet python-html5lib python-lxml python-numpy python-pkg-resources python-scour python-six python-soupsieve python-webencodings python3-scour scour

Eu suponho que isso seja coisa do apt porque eu reparei isso antes no Mint e agora tô usando o Debian, e também nunca usei uma distro não baseada no Debian. Com isso gostaria de saber como remover esses pacotes a mais, sem ter que anotar toda vez quais programas serão instalados.


  


2. MELHOR RESPOSTA

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 16/08/2020 - 14:27h

Por padrão no Ubuntu o APT instala pacotes "recomendados" junto com as dependências do programa a ser instalado manualmente. Estes pacotes não são necessários para o funcionamento do programa que você está instalando, mas segundo a visão dos mantenedores podem ser uteis para o usuário leigo. Você pode evitar a instalação deles com a opção "--no-install-recommends".

O que acontece no seu exemplo é que ao instalar o pacote A, ele instala junto as dependências dele (B e C) e os pacotes recomendados (D). Quando você desinstala o programa, o APT vai remover apenas as dependências associadas ao programa e deixa pra trás os pacotes recomendados.

install: A
depends: B, C
recommends: D

remove: A
remove depends: B, C


Em outros casos, é possível esses pacotes (dependências e recomendados) sejam dependências de outro programa que você instalou posteriormente, aí o APT marca eles como "instalação manual", assim eles não vão mais ser removidos automaticamente.

install: A
depends: B, C
recommends: D

install: X
depends: Y, B, D

remove: A
remove depends: C

Veja que neste segundo exemplo ao instalar X ele vai depender dos pacotes B e D que foram instalados antes com A, aí o APT marca eles como "manual" e agora não vai mais removê-los se você desinstalar o A.

Mas, nada é perfeito... as árvores de dependências podem se tornar bastante complexas com milhares de associações. E como dito por outro colega acima, o APT não pensa, só tenta facilitar certas coisas (imagina o sufoco de instalar tudo manualmente)... as vezes ele atrapalha também hehehe!!!

3. Re: Porque o apt não remove todos os pacotes que foram baixados ao instalar um programa [RESOLVIDO]

Clodoaldo Santos
clodoaldops

(usa Linux Mint)

Enviado em 16/08/2020 - 11:29h

-provavelmente são dependências de outros programas que vc tem instalado
-se remover manualmente corre risco de ter problemas
-eu apenas uso o remove p/ desinstalar programas e uma vez por semana eu rodo autoremove + clean + autoclean p/ limpar o sistema





4. Re: Porque o apt não remove todos os pacotes que foram baixados ao instalar um programa [RESOLVIDO]

Ricardo Groetaers
ricardogroetaers

(usa Linux Mint)

Enviado em 16/08/2020 - 13:41h

Viniciusam escreveu:
Eu reparei que ao remover um programa ele não remove todas as dependências baixadas ao instalar, .....
Eu suponho que isso seja coisa do apt .... Com isso gostaria de saber como remover esses pacotes a mais, sem ter que anotar toda vez quais programas serão instalados.

O pacote de gerenciamento não é perfeito e não pensa, apenas executa aquilo que foi programado para fazer.
Só o homem pensa. Exemplo:
Instalei o programa inxi (última versão, não disponível nos repositórios), se eu tentar desinstala-lo, veja o que aconteceria.
https://i.imgur.com/I99VOXb.png
Nada disso veio no pacote ou foi instalado por causa dele. Já existia anteriormente.




5. Re: Porque o apt não remove todos os pacotes que foram baixados ao instalar um programa [RESOLVIDO]

Vinicius Alves de Morais
Viniciusam

(usa Linux Mint)

Enviado em 16/08/2020 - 15:18h

clodoaldops escreveu:

-provavelmente são dependências de outros programas que vc tem instalado



Não, não é isso não, já me responderam abaixo, eu fiz vários testes e não são dependencias de outros programas não, o apt que não é perfeito mesmo


6. Re: Porque o apt não remove todos os pacotes que foram baixados ao instalar um programa [RESOLVIDO]

Vinicius Alves de Morais
Viniciusam

(usa Linux Mint)

Enviado em 16/08/2020 - 15:19h

ricardogroetaers escreveu:

Viniciusam escreveu:
Eu reparei que ao remover um programa ele não remove todas as dependências baixadas ao instalar, .....
Eu suponho que isso seja coisa do apt .... Com isso gostaria de saber como remover esses pacotes a mais, sem ter que anotar toda vez quais programas serão instalados.

O pacote de gerenciamento não é perfeito e não pensa, apenas executa aquilo que foi programado para fazer.
Só o homem pensa. Exemplo:
Instalei o programa inxi (última versão, não disponível nos repositórios), se eu tentar desinstala-lo, veja o que aconteceria.
https://i.imgur.com/I99VOXb.png
Nada disso veio no pacote ou foi instalado por causa dele. Já existia anteriormente.



O Mint tem muito dessas bizarrices, parei de usar ele por causa disso


7. Re: Porque o apt não remove todos os pacotes que foram baixados ao instalar um programa [RESOLVIDO]

Vinicius Alves de Morais
Viniciusam

(usa Linux Mint)

Enviado em 16/08/2020 - 15:21h

Ryuk escreveu:

Por padrão no Ubuntu o APT instala pacotes "recomendados" junto com as dependências do programa a ser instalado manualmente. Estes pacotes não são necessários para o funcionamento do programa que você está instalando, mas segundo a visão dos mantenedores podem ser uteis para o usuário leigo. Você pode evitar a instalação deles com a opção "--no-install-recommends".

O que acontece no seu exemplo é que ao instalar o pacote A, ele instala junto as dependências dele (B e C) e os pacotes recomendados (D). Quando você desinstala o programa, o APT vai remover apenas as dependências associadas ao programa e deixa pra trás os pacotes recomendados.

install: A
depends: B, C
recommends: D

remove: A
remove depends: B, C


Em outros casos, é possível esses pacotes (dependências e recomendados) sejam dependências de outro programa que você instalou posteriormente, aí o APT marca eles como "instalação manual", assim eles não vão mais ser removidos automaticamente.

install: A
depends: B, C
recommends: D

install: X
depends: Y, B, D

remove: A
remove depends: C

Veja que neste segundo exemplo ao instalar X ele vai depender dos pacotes B e D que foram instalados antes com A, aí o APT marca eles como "manual" e agora não vai mais removê-los se você desinstalar o A.

Mas, nada é perfeito... as árvores de dependências podem se tornar bastante complexas com milhares de associações. E como dito por outro colega acima, o APT não pensa, só tenta facilitar certas coisas (imagina o sufoco de instalar tudo manualmente)... as vezes ele atrapalha também hehehe!!!


Muito obrigado, uso Linux já faz uns anos e nunca tinha visto essa flag






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts