¿Por qué Linux (basado en Mint 17.2, Ubuntu 14.04. KDE) elimina automáticamente ciertos paquetes mientras instala otros?

¿Por qué Linux (basado en Mint 17.2, Ubuntu 14.04. KDE) elimina automáticamente ciertos paquetes mientras instala otros?

Por ejemploeditor de texto átomo. Cuando corro:

sudo apt-get install imagemagick # http://www.imagemagick.org/script/index.php

da:

you might want to run 'apt-get -f install' to correct these: 
The following packages have unmet dependencies:  virtualbox-5.0:i386 : Depends: psmisc:i386 but it is not going to be installed

Entonces, cuando intento:

sudo apt-get -f install

yo obtengo

The following packages were automatically installed and are no longer required:
  libgtkspell0 pidgin-data
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  psmisc:i386
The following packages will be REMOVED:
  atom gconf2 psmisc
The following NEW packages will be installed:
  psmisc:i386

Mi pregunta es: ¿por qué deberíaÁtomo¿Se puede desinstalar cuando intento instalar algo completamente diferente?

EDITAR: repitiendo el procedimiento pero con

apt-get autoremove

en lugar de

sudo apt-get -f install

resolvió el problema.

Pero todavía no entiendo por qué un paquete innecesario debería desencadenar la eliminación de un paquete que realmente necesito (átomo)

Respuesta1

eso sucede porque cada paquete en apt tiene una lista de dependencias, que puedes ver con:

apt-cache depends libgtkspell0 pidgin-data atom

Para conservar los paquetes, apt le sugiere que elimine atom, que tiene una dependencia que entra en conflicto con una de las dependencias que tiene atom. Tenga en cuenta en particular:

Conflicts: libgtkspell0:i386

parte de la salida.

Entonces, apt simplemente intenta resolver un conflicto. Se podría señalar que casi valdría la pena publicar un problema en el empaquetador de los dos paquetes que se eliminarán porque, en teoría, apt debería ofrecer eliminar el paquete que ya no es necesario, no un paquete que esté activo en el sistema, pero siempre es un equilibrar la creación y el mantenimiento de listas de dependencias/conflictos en un grupo de paquetes.

Si tuviera que adivinar, diría que apt internamente no tiene una forma de diferenciar entre los paquetes que se eliminarán y los paquetes activos al crear sus listas de dependencias, por lo que simplemente elige el resultado con el menor número de negativos (es decir, la eliminación forzada de un paquete) resultado.

información relacionada