apt-get mostra pacotes importantes como “não são mais necessários”

9

Eu instalei recentemente o Kali Linux no meu sistema. Ele veio com um Iceweasel pré-instalado. No entanto, em vez de Iceweasel, eu queria instalar o firefox, então eu segui este guia e o firefox instalado com sucesso.

Agora, sempre que invoco apt-get , ele mostra muitos pacotes pré-instalados como "instalados automaticamente e não são mais necessários" :

abhishek@ab-linux:~$ sudo apt-get install
[sudo] password for abhishek: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  empathy empathy-common fonts-cantarell gcalctool gnome-backgrounds
  gnome-dictionary gnome-font-viewer gnome-icon-theme-extras gucharmap
  libavahi-gobject0 libcaribou-gtk-module libcaribou-gtk3-module
  libchamplain-0.12-0 libchamplain-gtk-0.12-0 libgdict-1.0-6 libgdict-common
  libgeocode-glib0 libtelepathy-farstream2 nautilus-sendto-empathy
  sound-theme-freedesktop telepathy-gabble telepathy-logger telepathy-salut
  vino
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 35 not upgraded.
abhishek@ab-linux:~$ 

Versão do Linux

abhishek@ab-linux:~$ uname -a
Linux ab-linux 3.7-trunk-amd64 #1 SMP Debian 3.7.2-0+kali8 x86_64 GNU/Linux

Como marcar esses pacotes como importantes e necessários?

    
por abhishekkannojia 02.04.2014 / 11:12

3 respostas

7

Definitivamente, nada está quebrado. Quando um pacote é instalado, muitas vezes há outros pacotes dos quais ele depende. Estes serão automaticamente instalados por apt-get . Costumava ser que você seria forçado a usar um programa separado se quisesse rastrear esses pacotes e removê-los se algum dia remover o programa original que você instalou.

Agora, apt implementa um sinalizador de estado Auto-Installed para acompanhar esses pacotes que nunca foram instalados explicitamente. Quando você desinstala um pacote, você pode adicionar a opção --auto-remove para remover adicionalmente qualquer pacote que tenha seu Auto-Installed flag set e não tenha mais nenhum pacote que dependa dele (um pacote também pode ser mantido se outro sugerir ou recomendar dependendo do valor das opções de configuração APT::AutoRemove::RecommendsImportant e APT::AutoRemove::SuggestsImportant ).

Eu teria um olhar para a lista de pacotes e decidir se vale a pena mantê-los, às vezes os pacotes que você pode querer manter são marcados com Auto-Installed por padrão. Você pode obter informações sobre o que os vários pacotes fazem fazendo apt-cache show package_name . Se você decidir manter alguns, use apt-mark manual seguido dos nomes dos pacotes que deseja manter.

Note que normalmente você desejaria ter pacotes de biblioteca (a maioria dos pacotes começando com lib ) marcados como Auto-Installed , já que há poucos motivos para ter esses pacotes instalados - outros programas geralmente requerem outras bibliotecas para executar, mas eles são pouco úteis sozinhos. Mesmo se você estiver compilando software contra a biblioteca para precisar do pacote de desenvolvimento (terminando em -dev ) que depende da própria biblioteca, não é necessário instalar explicitamente a biblioteca.

Usando também aptitude , você pode fazer aptitude unmarkauto na linha de comando ou alterar dentro da interface de curses. Dentro das listas de pacotes na interface, todos os pacotes instalados automaticamente têm um A ao lado deles. Você pode alterar esse estado usando m para marcar um pacote instalado automaticamente como manual e M para marcar como manual novamente (também l para abrir um diálogo de pesquisa e Enter para exibir detalhes do pacote).

    
por 02.04.2014 / 12:44
3

para marcar todos esses pacotes para que eles sejam importantes e não sejam removidos, faça isso:

apt-mark showauto | xargs sudo apt-get -y install

basicamente dizendo apt para instalar um programa que você está dizendo que você quer que permaneça permanentemente no sistema.

    
por 24.04.2015 / 01:57
0

Por que não removê-los com o comando sugerido pelo apt-get, ou seja, apt-get autoremove ?

Se eles foram instalados por padrão no Kali e usados pelo navegador da web anterior e não são mais usados agora que você removeu esse navegador, não será um problema.

Além disso, se algum dia um dos pacotes for necessário, instale-o explicitamente via apt-get e ele não aparecerá como "instalado automaticamente e não é mais necessário".

A outra solução poderia ser instalá-los manualmente. Eles não serão mais marcados como "instalados automaticamente e não são mais necessários" no apt-get, mas você terá pacotes inúteis, que não são a melhor solução da IMO.

    
por 02.04.2014 / 12:37