Me gustaría instalar la versión más reciente de boto , que hago a través depython setup.py install
Sin embargo, cuando intento eliminar la versión anterior, también se eliminan los siguientes paquetes:
apt-get remove python-boto
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
cloud-init cloud-utils euca2ools python-boto
¿Cómo puedo decirle al administrador de paquetes que elimine el boto y que lo marquen como instalado externamente (o algo así) para que apt no intente solucionar la dependencia que falta?
Gracias
Maxim.
Respuestas:
Puede crear un paquete .deb ficticio utilizando la
equivs
utilidad, proporcionará la dependencia sin instalar ningún archivo. Luego simplemente reemplace el paquete actualmente instalado a la versión ficticia usandodpkg -i fake.deb
.fuente
Use dpkg directamente, no apt-get o aptitude:
fuente
Sé que esta es una publicación antigua, pero como recientemente tuve un problema similar, me gustaría compartir mi solución con la esperanza de que alguien en el futuro la encuentre útil.
Si instaló un paquete a través de aptitude, automáticamente asigna indicadores a las dependencias (automático) y cuando intenta eliminar su paquete nuevamente, intenta eliminar todas sus dependencias que todavía tienen establecido el indicador automático.
Como puede ver en mi caso, es zabbix lo que quiero eliminar:
Y si buscamos el paquete de Apache se ve así
la primera bandera "i" nos dice que apache está instalado
La siguiente bandera "A" significa instalación automática
Entonces, para solucionar esto y no tener desinstalados apache, mysql y php, podemos eliminar el indicador automático con una aptitud como esta:
Ahora se ve así cuando se elimina el paquete zabbix:
Por favor, consulte la página del manual de aptitud para obtener más detalles
fuente
Eso es exactamente para lo que
apt-mark hold
sirve.apt-mark hold package_name
De la documentación:
Para deshacer un paquete:
apt-mark unhold package_name
fuente
The following packages have unmet dependencies: mysql-server-5.7 : Depends: apparmor (>= 2.10) but it is not going to be installed E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
AFAIK no hay forma de eliminar un paquete usando APT sin eliminar también aquellos paquetes que dependen de él.
Referencia: http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.en.html
fuente
Para completar la respuesta de João Pinto, puede usar mi pequeño script para arreglar el paquete roto, este script creará un paquete ficticio con equivs y lo instalará. Puedes encontrar un artículo en mi blog en francés .
O directamente en el código esencial .
Para usarlo:
fuente