Quão paranóico devo ser que o mecanismo do gerenciador automático de pacotes irá remover pacotes que eu uso?

1

Quando uso a ferramenta de empacotamento, "me lembra" de usar o autoremove para remover os pacotes que não são mais necessários. Mas quando reviso a lista, vejo pacotes que desejo manter.

$ sudo apt-get install gnome-tweak-tool
Reading package lists... Done
Building dependency tree       
Reading state information... Done
gnome-tweak-tool is already the newest version.
The following packages were automatically installed and are no longer required:
  ekiga libopal3.10.2 gnome-backgrounds gtali glchess gnome-games cheese gdebi
  gnobots2 gnome-icon-theme-extras libcheese-gtk20 libcheese1 gdebi-core
  libcapi20-3 gnibbles gnuchess-book libpt2.10.2 libcluttergesture-0.0.2-0
  gnotski gir1.2-gucharmap-2.90 libclutter-imcontext-0.1-0 libspandsp2
  cheese-common sound-juicer iagno glines libmx-1.0-2 libfolks-eds25
  gnome-contacts gedit-plugins liferea gnotravex gnect quadrapassel
  liferea-data gnuchess gnome-video-effects
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Por exemplo, na lista acima, gnuchess e gnuchess-book são identificados. Eu não desejo que eles sejam removidos.

PERGUNTA: São estes metapacotes que eu não preciso lutar (com apt) para me defender da remoção? Perderei a habilidade de brincar de glúcida?

  

NB. Eu usei gnome-tweak-tool como um exemplo na linha de comando, sabendo que   já foi instalado. Isso é irrelevante para minha pergunta.

    
por TheGeeko61 22.12.2011 / 04:28

1 resposta

4

Você não precisa ser paranóico, basta ler e compreender o que o apt-get está lhe dizendo. Obviamente, se você remover glchess , perderá a capacidade de reproduzir glchess !

Em algum momento você deve ter removido um pacote (provavelmente um metapacote ) que depende de alguns ou de todos os pacotes você vê.

Para descobrir qual meta-pacote seria, você pode usar apt-rdepends . Essa ferramenta pode procurar por "dependências reversas" ou pacotes que dependem de um determinado pacote.

Por exemplo, para o pacote gnome-backgrounds :

$ apt-rdepends -r gnome-backgrounds
Reading package lists... Done
Building dependency tree       
Reading state information... Done
gnome-backgrounds
  Reverse Depends: gnome-core (>= 1:3.0+1ubuntu1)
gnome-core
  Reverse Depends: gnome (= 1:3.0+1ubuntu1)
gnome
  Reverse Depends: gnome-desktop-environment (>= 1:3.0+1ubuntu1)
gnome-desktop-environment

Isso mostra que gnome-backgrounds é dependente de um único pacote, gnome-core , que por sua vez é dependente de gnome , que por sua vez é dependente de gnome-desktop-environment da qual nenhum outro pacote depende. / p>

Agora você pode descobrir mais sobre esses pacotes:

$ aptitude show gnome-core gnome gnome-desktop-environment

Você verá que todos são meta-pacotes e que no seu sistema pelo menos um foi removido. Você pode então:

  • Tente em apt-get install a dependência "mais baixa", neste caso gnome-core . No entanto, isso pode incluir pacotes adicionais que você não deseja instalar ( leia o que o apt-get diz, não apenas pressione ).
  • Se você não quiser que todos os meta-pacotes sejam instalados e quiser manter todos os pacotes, basta executar aptitude keep-all . Isso marcará os pacotes pendentes como "instalados" e apt-get parará de lembrá-lo sobre eles.
  • Se você quiser apenas alguns pacotes, poderá apt-get install antes de executar apt-get autoremove . Você terá que ler as descrições dos pacotes para decidir quais você deseja.

Acho que o ponto principal aqui é que apt-get é apenas uma ferramenta. Não sabe o que você realmente quer, apenas faz o que você diz. Por esta razão, você nunca deve confiar cegamente para fazer a coisa certa, porque muitas vezes isso não é o mesmo que você disse para fazer! É duplamente importante lembrar disso ao executar os comandos sudo , pois é muito fácil causar danos catastróficos ao sistema.

    
por scottl 22.12.2011 / 05:16