Software Updater vs apt-get update

10

Eu sempre assumi que executar apt-get update seguido por apt-get upgrade era apenas a versão de linha de comando da execução do atualizador de software; no entanto, a execução do atualizador de software resulta nos seguintes pacotes que precisam ser atualizados:

Complete Generic Linux kernel  
Header files relates to Linux kernel version 3.2.0  
Linux kernel headers for version 3.2.0 on 64 bit x86 SMP  
Generic Linux kernel headers  
Linux kernel image for version 3.2.0 on 64 bit x86 SMP  
General Linux kernel image  
Linux Kernel Headers for development

ISC DHCP client  
common file used by all the isc-dhcp* packages  
LightDM GObject client library  
graphical boot animation and logger-shared libraries  
DisplayManager  
graphical  boot animation and logger-main package  
graphical boot animation and logger-label control  
graphical boot animation and logger-ubuntu-logo theme (-logo)  
graphical boot animation and logger-ubuntu-logo theme (-text)  
Jabber/XMPP connection manager

(53.9 MB)

enquanto a execução de apt-get update e apt-get upgrade resulta em:

Reading package lists... Done  
Building dependency tree  
Reading state information... Done  
The following packages have been kept back:  
  linux-generic linux-headers-generic linux-image-generic  
The following packages will be upgraded:  
  isc-dhcp-client isc-dhcp-common liblightdm-gobject-1-0 libplymouth2 lightdm  
  linux-libc-dev plymouth plymouth-label plymouth-theme-ubuntu-logo  
  plymouth-theme-ubuntu-text telepathy-gabble  
11 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.  
Need to get 2,594 kB of archives.  
After this operation, 2,048 B of additional disk space will be used.  

Alguém pode explicar o que está acontecendo?

    
por ChrisW 31.05.2013 / 14:02

2 respostas

8

Parece haver alguma confusão aqui.

  • apt-get update : Isso apenas atualiza a lista de pacotes disponíveis.

  • apt-get upgrade : isso atualizará todos os pacotes instalados para a versão mais recente.

  • apt-get dist-upgrade : Igual à atualização, mas usa um sistema de resolução de conflitos "inteligente", tentará atualizar os pacotes mais importantes em detrimento dos menos importantes, se necessário.

Então, se o que você quer é garantir que seus pacotes atualmente instalados sejam a versão mais recente disponível, você executa

apt-get update && apt-get upgrade

Se isso resultar em problemas, talvez você queira tentar:

apt-get update && apt-get dist-upgrade

Agora, as mensagens que você postou não têm nada a ver com dist-upgrade , elas são atualizações simples. Também não há absolutamente nenhuma diferença entre eles, é simplesmente que o atualizador de software está fornecendo as descrições dos pacotes enquanto apt-get está listando os nomes dos pacotes. Por exemplo

Complete Generic Linux kernel  == linux-generic
ISC DHCP client                == isc-dhcp-client
Jabber/XMPP connection manager == telepathy-gabble  

Se você ler atentamente as duas listas, verá que são exatamente os mesmos pacotes.

Dito isto, as mensagens que você postou dizem exatamente a mesma coisa.

    
por 31.05.2013 / 18:31
1

afaik, você perde uma terceira parte:

apt-get dist-upgrade

Na verdade, o apt-get upgrade não atualiza pacotes em alguns casos, por exemplo, quando eles mudam dependências ou requerem que alguns outros pacotes sejam removidos. Bu apt-get dist-upgrade irá. Então, para obter um comportamento semelhante ao do atualizador de software, você precisa:

apt-get update && apt-get dist-upgrade

Ou, se você quiser jogar um pouco mais com segurança:

apt-get update && apt-get upgrade && apt-get dist-upgrade

Veja: link
E também: link

    
por 31.05.2013 / 15:42

Tags