Por que estou obtendo o gdm e vários pacotes na lista do apt-get autoremove?

1

Ultimamente, fiz várias alterações de configuração no meu laptop Trusty (14.04 LTS). Primeiramente, eu instalei o gnome-shell , fiz todas as atualizações e migrei para a pilha de ativação do LTS . Depois disso, adicionei o gnome 3 staging ppa e o upgrade gnome-shell da v3.10 à v3.12 de lá. Agora, quando executo apt-get autoremove , recebo esses pacotes na lista:

The following packages were automatically installed and are no longer required:
  evolution-indicator gdm gir1.2-gkbd-3.0 gir1.2-tracker-0.16 gir1.2-xkl-1.0 libgtksourceview2.0-0
  libgtksourceview2.0-common libiptcdata0 libtracker-extract-0.16-0
  libtracker-miner-0.16-0 libtracker-sparql-0.16-0 linux-headers-4.2.0-23
  linux-headers-4.2.0-23-generic linux-image-4.2.0-23-generic
  linux-image-extra-4.2.0-23-generic python-gtksourceview2

Pelo que entendi, gdm é um pacote crítico que é muito necessário, já que estou usando o shell do gnome. Eu também olhei para esta resposta que sugere marcar um pacote como "necessário" por apenas executando apt-get install <package> . Mas como sei quais pacotes dessa lista posso remover com segurança sem afetar meu sistema? Eu sei de fato, no entanto, que eu não preciso de linux-image-* e linux-headers packages como eu já atualizei para versões mais recentes do kernel. Mas como eu sei sobre o resto dos pacotes?

    
por Prahlad Yeri 25.01.2016 / 08:40

1 resposta

1

o comando apt-cache showpkg <package> dirá a você que os pacotes "dependem inversamente", isto é, que outros pacotes - em seus repositórios configurados (não necessariamente pacotes instalados) - dependem desse pacote.
No caso de gdm , há um monte, então eu escrevi este script para percorrer todas as dependências reversas para verificar se alguma delas foi instalada - o que indica que você provavelmente não deve remover o gdm.

#!/bin/bash

package=

apt-cache showpkg $package | sed '1,/Reverse Depends:/d;/Dependencies:/,$d'  > /tmp/dependencies.txt

while read line
do
    reverse_dependency=$(awk -F '[:,]' '{print }' <<< $line)
    if dpkg -s $reverse_dependency &> /dev/null
    then
        echo "$line is installed and depends on $package"
    fi
done < /tmp/dependencies.txt

Se você invocar o script, precisará passar o pacote como um parâmetro, por exemplo

./script "gdm"

Na minha máquina, o resultado foi

$ ./script.sh gdm
plymouth:i386,gdm 3.0.4-0ubuntu11 is installed and depends on gdm
plymouth,gdm 3.0.4-0ubuntu11 is installed and depends on gdm
plymouth:i386,gdm 3.0.4-0ubuntu11 is installed and depends on gdm
plymouth,gdm 3.0.4-0ubuntu11 is installed and depends on gdm
    
por the_velour_fog 25.01.2016 / 12:08