[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: error: apt-get dist-upgrade



Iñaki wrote:

> Básicamente "apt-get upgrade" trata de actualizarte los paquetes
> instalados, y si la última versión de un paquete requiere una nueva
> dependencia también la instala (que alguien me corrija si esto no es así,
> pero creo que sí).

No. Hacer un upgrade no instala nada ni borra nada. Sólo actualiza paquetes.

> El "apt-get dist-upgrade" llega más lejos. No sólo actualiza las versiones
> de los paquetes instalados sino que elimina paquetes instalados e instala
> nuevos. Un ejemplo:
> 
> Si tienes instalado el paquete "ruby-1.8" y en el repositorio aparece el
> paquete "ruby-1.9" un "apt-get upgrade" no te instalará "ruby-1.9" y en
> cambio un "apt-get dist-upgrade".

Tampoco. apt-get nunca te actualizará automaticamente de ruby-1.8 a ruby-1.9
(ni de xserver a xorg). Lo que sí puede pasar es que tengas otro paquete
que cambie sus dependencias, y eso gatillará que el dist-upgrade instale
nuevos paquetes.

Pongamos un ejemplo:
Tenemos el paquete A, que depende de B. Supongamos que sale una nueva
versión. apt-get upgrade instala felizmente el nuevo paquete. Supongamos
ahora que sale otra nueva versión, pero esta nueva versión ademas de B,
depende del paquete C (que no tenemos instalado). Aquí un apt-get upgrade
no instalaría la nueva versión, puesto que habría que instalar un nuevo
paquete. Sin embargo, apt-get dist-upgrade instalará tanto la nueva
versión, como el paquete C. Para complicar un poco las cosas, supongamos
ahora que hay un paquete D que es una versión mejorada de B. Entonces el
tipo encargado del paquete A dice "bueno, usemos esta versión mejorada", y
luego sube una nueva versión de A que depende de D en vez de B. Ahora, como
D no lo tenemos, apt-get update no instalará nada. Pero un dist-upgrade si
intentará instalarlo. Al hacerlo, se encuentra con otro problema: como D y
B son esencialmente el mismo software, no pueden coexistir en un sistema,
por lo que dist-upgrade, al mismo tiempo que instala D, desinstala B (ojo,
solo si esto es permitido por los otros paquetes que tengamos instalados).

Espero haber aclarado un poco el tema.

-- 

Felipe Sateler



Reply to: