(Se te fue al privado. Regreso a la lista) On Sun, Jun 03, 2007 at 05:41:31PM -0600, Mägo de Oz wrote: > Pero a ver... ustedes le dan la orden de desinstalar a un paquete x con una > dependencia "y" y les desinstala las dependencias?? Mi Etch no se comporta > asi... miren esto:
Creo que estamos hablando de otro caso.
> #aptitude purge clamav
> ...
> Los siguientes paquetes están ROTOS:
> klamav
> Se ELIMINARÁN los siguientes paquetes:
> clamav{p}
> ...
> No se satisfacen las dependencias de los siguientes paquetes:
> klamav: Depende: clamav pero no es instalable
> Resolving dependencies...
^^^^^^^^^^^^^^^^
Hay problemas, así que sugiere:
> Las acciones siguientes resolverán estas dependencias
>
> Eliminar los paquetes siguientes:
> klamav
>
> Dejar las siguientes dependencias sin resolver:
> clamav-base recomienda clamav
> La puntuación es -501
quitar klamav, dejar clamav-base
> ...
> O sea me deja las dependencias.. incumplidas pero las deja
No, no las deja. Si hubieras dejado a aptitude terminar, hubiera
eliminado klamav y dejado clamav-base. Eso es por que klamav *depende*
de clamav, pero clamav-base solo *recomienda* clamav.
Ahora bien, el caso que discutiamos. Paquetes de ejemplo, para fijar ideas:
Package: bonito-desktop
Depends: navegador, cliente-correo
Package: navegador
Depends: plugin
Package: cliente-correo
Recommends: antivirus
Empezamos ejecutando
$ aptitude install bonito-desktop
aptitude instalará
bonito-desktop navegador cliente-correo plugin antivirus
y marcará todos (salvo bonito-desktop) como 'instalado
automáticamente'.
Si ejecutaras
$ aptitude remove antivirus
eliminaría ese paquete y ya. Nada más se elimina, por que nadie
*depende* de antivirus. Pero sí te avisará "cliente-correo recomienda
antivirus, ¿seguro que lo quiere quitar?".
Por otro lado, si ejecutaras
$ aptitude remove plugin
aptitude necesitaría eliminar navegador (porque Depends: significa
'no funciona sin'). Y al eliminar navegador, tendría que eliminar
bonito-desktop. Una vez que se marca bonito-desktop para eliminar,
cliente-correo queda como 'paquete automático' que no es *requerido*
por ningún otro, así que aptitude lo marca para eliminar. Y entonces
antivirus queda en la misma situación y por lo tanto también se
marca. Resultado final: aptitude marca *todos* para eliminar.
Supón ahora que empiezas con
$ aptitude install bonito-desktop cliente-correo
La lista de paquetes instalados será la misma. Pero cliente-correo
*no* se marca para eliminar. Si entonces ejecutas
$ aptitude remove plugin
eliminará, como en el ejemplo anterior, a navegador y
bonito-desktop. Pero como cliente-correo está marcado 'manual', no lo
va a quitar aunque ningún otro paquete lo requiera.
¿Se entiende?
signature.asc
Description: Digital signature

