avec yum comment pouvez-vous supprimer un paquet mais pas supprimer ses dépendances en même temps?

13

Aujourd'hui, si je le fais, $ yum remove packageAje suis accueilli avec:

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?

Je voudrais supprimer packageA sans supprimer packageB (etc) est-ce possible?

rogerdpack
la source
1
C'est possible ? Oui. Mais le but des gestionnaires de packages est d'empêcher exactement cela. Cherchez "RPM Hell" sur Google pour une bonne idée de ce que vous vous préparez en faisant une telle chose.
DopeGhoti

Réponses:

18

Apparaît possible , en utilisant rpm:

$ rpm -e --nodeps packageA

bien sûr, soyez très prudent, car si vous supprimez un package de dépendance et ne le remettez pas, cela pourrait entraîner des résultats inattendus pour les packages qui en dépendent encore ...

rogerdpack
la source
Question à ce sujet. J'avais un problème de version de dépendance, l'avertissement était Application built with libpng-1.6.16 but running with 1.5.13. Je pensais que je devais simplement l'échanger, mais je yumvoulais supprimer une tonne de choses si je les supprimais d'abord libpng. J'ai donc utilisé l'approche que vous montrez ici pour supprimer les deux libpnget libpng-devel, puis construit et installé à libpng-1.6.1partir de la source, et mon problème a disparu. Alors que cela fonctionnait pour les logiciels dont j'avais immédiatement besoin (Mapnik), puis-je avoir confiance que je n'ai pas cassé autre chose en amont, par exemple quelque chose que je yumvoulais initialement supprimer avec libpng?
elrobis
Il n'y avait donc pas d'option de package pour installer 1.6? Hmm mon intuition est qu'ils utilisent des bibliothèques partagées et vous êtes bon, mais ils n'ont pas été testés non plus par les gestionnaires de paquets donc ... Je ne sais pas comment fonctionne le système de gestion de paquets.
rogerdpack
1

J'ai trouvé qu'il était possible de faire ça avec miam comme ça:

sudo yum remove --noautoremove <package name>
Jaime
la source
2
Hmm ... Je l'ai essayé sur CentOS 6 et 7 et je n'ai "aucune option: --noautoremove" des idées?
rogerdpack
3
J'étais sur fedora 29 lorsque j'ai fait ce test sur un nouveau paquet que je viens de créer. Hmm .. je me demande si c'est une seule chose fedora.
Jaime