con yum, ¿cómo puedes eliminar un paquete pero no eliminar sus dependencias al mismo tiempo?

13

Hoy si lo hago $ yum remove packageAme saludan con:

Removing:
packageA                        noarch                 3.5.1.b37-15                                 @yumFS                 293 k
Removing for dependencies:
 packageB                      noarch                 3.5.1.b125-7                                 @yumFS                  87 M
..
Is this ok?

Me gustaría eliminar el paquete A sin eliminar el paquete B (etc.) ¿es esto posible?

rogerdpack
fuente
1
Posible ? Si. Pero el propósito completo de los administradores de paquetes es evitar exactamente esto. Busca en Google "RPM Hell" para tener una buena idea de para qué te estás preparando al hacer tal cosa.
DopeGhoti

Respuestas:

18

Parece posible , utilizando rpm:

$ rpm -e --nodeps packageA

aunque, obviamente, tenga mucho cuidado, ya que si elimina un paquete de dependencia y no lo vuelve a colocar, podría generar resultados inesperados para los paquetes que aún dependen de él ...

rogerdpack
fuente
Pregunta sobre esto. Estaba teniendo un problema de versión de dependencia, la advertencia era Application built with libpng-1.6.16 but running with 1.5.13. Pensé que simplemente lo cambiaría, pero yumquería eliminar un montón de cosas si primero lo eliminaba libpng. Entonces, utilicé el enfoque que muestra aquí para eliminar ambos libpngy libpng-develluego lo construí e instalé libpng-1.6.1desde el origen, y mi problema desapareció. Si bien funcionó para el software que necesitaba de inmediato (Mapnik), ¿puedo confiar en que no rompí algo más en sentido ascendente, por ejemplo, algo que yuminicialmente quería eliminar libpng?
elrobis
Entonces, ¿no había una opción de paquete para instalar 1.6? Hmm, mi presentimiento es que usan bibliotecas compartidas y tú eres bueno, pero tampoco fueron probados por los administradores de paquetes, así que ... No sé cómo funciona el sistema de administración de paquetes.
rogerdpack
1

Descubrí que era posible hacer esto con yum así:

sudo yum remove --noautoremove <package name>
Jaime
fuente
2
Hmm ... Lo probé en CentOS 6 y 7 y no tengo "esa opción: --noautoremove" ¿alguna idea?
rogerdpack
3
Estaba en Fedora 29 cuando hice esto probando un nuevo paquete que acabo de crear. Hmm ... me pregunto si es un fedora única.
Jaime