Installation / Désinstallation et dépendances

Bonjour à tous

Ceci n’est pas une issue, juste un simple question sur la désinstallation d’un paquet et des dépendances concernées qui m’interroge (non réservé à Manjaro, qque soit la branche issue Mageia_rpm ou MX_apt-deb etc c’est pareil)

Imaginons le stade A, tout est ok je veux juste installer un nouveau paquet_x
L’installation se passe normalement avec ou sans nouvelles dépendances
Appelons ce stade après l’install de paquet_x le stade B
Puis pour des raisons personnelles je désire désinstaller ce paquet_x et revenir à stade A
Sauf que là la désinstallation m’informe d’un nombre si important de dépendances qu’il va aussi falloir également désinstaller non seulement paquet_x mais aussi paquet_y puis paquet_z puis paquet_a puis paquet_b etc puis…jusqu’à complètement tout bousiller

Si on peut passer de stade A à stade B, pourquoi est-ce parfois impossible de faire marche arrière et de retourner sans encombre de B vers A ?

(paquet_x = Rosegarden pour ne pas le nommer)

On a eu un cas comme ça il n’y a pas très longtemps, et c’était principalement dû aux options choisies pour désinstaller les dépendances:

  • paquet_x nécessite paquet_a
  • paquet_a est déjà installé, car c’est une dépendance de paquet_y
  • lors de désinstallation de paquet_x, on demande à désinstaller également ses dépendances, donc on désinstallera aussi paquet_a
  • sauf que si on désinstalle paquet_a, paquet_y ne peut plus fonctionner, alors on le désinstalle aussi
  • et par cascade, on désinstalle beaucoup plus de paquets que nécessaire

Donc lorsqu’on veut désinstaller les dépendances, il faut faire attention à ne pas choisir une option trop forte, pour ne désinstaller que les dépendances qui se retrouveraient orphelines (c’est-à-dire que plus aucun paquet ne les nécessiterait).

Bonjour

pas tout compris :woozy_face:

Pas clair, car cela ne doit pas arriver !

  • tu ne donnes pas ta façon de dé-installer (et installer) ton application donc déjà à voir si tu utilises bien pacman
  • normalement on utilise pacman -Rsn l_application_paquet (n non obligatoire) -Rs supprime l’application et, ces dépendances SI elles ne sont pas utiles pour d’autres paquets
  • On ne désinstalle jamais une dépendance manuellement ! sauf ménage dans les orphelins (orphelin = dépendance utile pour aucun paquet) ou dépendance optionnelle

Si nous avons 2 applications:

  • AppA
  • AppB

Ces 2 applications ont une dépendance en commun (libC pour cet exemple)
important : Cette dépendance a été installée avec AppA ou bien AppB : cela ne change strictement rien : pacman ne garde aucune trace de quel paquet a installé une dépendance

pacman -Rsn AppA ne va PAS désinstaller la dépendance “linC” ! ou
pacman -Rsn AppB ne va PAS désinstaller la dépendance “linC” !

Le paquet “libC” ne sera supprimé uniquement après la suppression des 2 applications (donc ordre ne compte pas)
Si nous utilisons un simple pacman -R, alors aucune dépendance ne sera supprimée, mais si une des dépendance n’est plus requise par aucun paquet de notre machine, elle sera marquée comme orpheline (donc facile à retrouver et supprimer plus tard)

Ok merci à vous deux :+1:

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.