Comment désinstaller un paquet sans désinstaller automatiquement

Résolu/Fermé
Utilisateur anonyme - Modifié par Ulyleo le 23/12/2015 à 19:58
 Utilisateur anonyme - 24 déc. 2015 à 17:06
Bonjour,

(Exemple) Je voudrais désintaller iagno(un jeu du bureau gnome) mais la suppression du paquet iagno entraine la suppression automatique du paquet gnome* et gnome-games(image1) soit l'environement complet de gnome:ce que je ne souhaite pas!

J'ai essayer certaines solutions:
1-Marquer les paquets en installation manuel avec #apt-mark/#aptitude unmarkauto

2-Supprimer iagno en reinstallant en meme temps gnome et gnome-games(image2)...mais en vain.

Je suis sous Ubuntu 15.10 donc bureau Unity.Je ne suis pas débutant et j'ai de bonnes connaissances en informatique. Quels solutions me proposez-vous s'il vous plait?

Merci d'avance


A voir également:

3 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
Modifié par mamiemando le 23/12/2015 à 22:17
Bonjour,

Tu ne pourras pas, c'est une dépendance en cascade. gnome est un méta-paquet, qui dépend notamment de gnome-games, qui lui-même est un méta-paquet, qui dépend de iagno. Par définition des dépendances, tu ne peux donc pas supprimer iagno sans supprimer les paquets qui en dépendent.

Par contre, il faut bien comprendre qu'un méta-paquet ne contient pas de "donnée" (ou très peu). Pour t'en convaincre, tu peux regarder avec apt-file :

sudo apt-get install apt-file
apt-file update
apt-file list gnome | grep "^gnome:"


Exemple :

(mando@velvet) (~) $ apt-file list gnome | grep ^gnome:
gnome: /usr/share/bug/gnome/control
gnome: /usr/share/bug/gnome/presubj
gnome: /usr/share/doc/gnome/changelog.gz
gnome: /usr/share/doc/gnome/copyright

(mando@velvet) (~) $ apt-file list gnome-games | grep ^gnome-games:
gnome-games: /usr/share/doc/gnome-games/changelog.gz
gnome-games: /usr/share/doc/gnome-games/copyright


En fait, un meta-paquet est juste un moyen pratique d'installer un jeu de paquets facilement. Ainsi, si gnome-games est supprimé, ça ne veut pas dire que tous les autres jeux gnome sont supprimés. Idem pour gnome, ça ne veut pas dire que le bureau gnome (gnome-core...) ou les applications gnome (brasero, evolution, gimp, gedit, etc...). Tu peux donc les supprimer sans craindre de désinstaller une application.

Bonne chance
0
Utilisateur anonyme
23 déc. 2015 à 23:51
Merci pour ta réponse..mais je ne suis pas tout à fait satisfait.peut etre que le sujet n'est pas clair (le texte a été coupé c'est vrai!)

enfait mon problème c'est de pouvoir désinstaller un paquet sans desinstaller ces dépendances mon premier exemple n'illutsre peut-etre pas bien le problème c'est vrai mais quant je veu desinstaller brasero par exemple là ca veut desintaller aussi le gnome-core justement!!

Comment éviter ca?
0
Utilisateur anonyme
23 déc. 2015 à 23:54
Pour etre plus clair le sujet c'est:

Comment désinstaller un paquet sans désinstaller automatiquement ces dépendances?
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
24 déc. 2015 à 08:12
Salut,

La réponse de mamiemando est pourtant claire :
 
Tu ne pourras pas, c'est une dépendance en cascade.
 


PS. Inutile d'ouvrir d'autres posts sur le même sujet, les explications données ici y sont suffisamment claires, et si des précisions doivent y être apportées, elles se feront à la suite de celui-ci pour une meilleure compréhension.
0
Utilisateur anonyme > zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021
Modifié par Ulyleo le 24/12/2015 à 11:06
ok.merci....mais dans la seconde partie de la reponse de mamienando il semblait dire que c'était possible donc j'ai pas très bien saisi....
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
Modifié par mamiemando le 24/12/2015 à 12:03
ok.merci....mais dans la seconde partie de la reponse de mamienando il semblait dire que c'était possible donc j'ai pas très bien saisi....

Je vais tenter de t'expliquer mieux la logique, car ce n'était pas forcément assez clair dans mon premier message.

Dépendances en cascade

En gros imagine que A dépend de B, qui dépend de C. Si tu enlèves C, alors il manque à B une dépendance pour être correctement installé. Il n'est donc pas "bien installé". Du coup il n'est pas considéré comme installé, et en conséquence, l'une des dépendances de A n'est pas satisfaite.

Ainsi, la suppression de C entraînerait en cascade celle de B et de A. Plus généralement tous les paquets qui dépendent de C seraient supprimés. Ce raisonnement se poursuivrait ensuite récursivement de sorte à ne conserver que les paquets dont toutes les dépendances sont satisfaites.

C'est un peu comme si tu enlevait une carte au bas d'un château de cartes. Tout ce qui s'appuie dessus se casse la figure (ce qui ne veut pas dire que tout le château s'écroule).

Dépendances automatiques

Ensuite un autre point important. Supposons que tu installes C, mais que ni B ni A ne soient préalablement installés. Alors A et B sont installés "automatiquement" par le gestionnaire de paquets, afin de pouvoir installer C avec succès. Ceci dit, apt sait que C a été explicitement installés, alors que A et B ont été installés implicitement.

Cela veut dire que le jour où tu supprimes C, apt se dira qu'il n'a pas de raison de garder A et B, puisqu'ils étaient juste là pour faire marcher C. Typiquement
apt-get autoremove
le verrait. Supposons que tu te dises : je veux garder B mais installer C, comment faire ?

Eh bien le plus simple c'est de désinstaller C et corriger la suppression en cascade dans ton gestionnaire de paquets (la logithèque ubuntu ou
aptitude
typiquement). En effet, ces deux outils récapitulent ce qu'ils vont faire avant de procéder à la suppression, et te laissent l'opportunité de corriger leur décision. Tu peux installer aptitude ainsi :

sudo apt-get update
sudo apt-get install aptitude


Lis ensuite cette introduction à aptitude jusqu'à la section "faire une migration" :
https://www.mistra.fr/tutoriels-linux-outils-debian/651-linux-apt-migration.html

Exemple concret :

Par le passé tu as installé brasero, ce qui a installé automatiquement gnome-core. Supposons que tu veuilles virer C=brasero mais conserver B=gnome-core (et donc les dépendances de gnome-core).

On lance aptitude :

sudo aptitude


... et on cherche brasero, puis on le purge (
_
). Ceci revient à taper :

/^brasero$
_


Ensuite tu vas dans le récapitulatif en appuyant sur
g
, et tu vois que B=gnome-core va être supprimé, alors que tu veux le garder.

On se place alors sur ce paquet (avec les flèches) et on appuie sur
+
pour provoquer son installation (ou plutôt sa "non désinstallation"). Note qu'automatiquement les dépendances de gnome-core qui auraient été automatiquement supprimées sont également restaurées. Il ne reste plus qu'à confirmer en appuyant sur
g
.

Bonne chance
0
Utilisateur anonyme
24 déc. 2015 à 17:06
Merci pour ce éclaircissement. Après de longue gymnastique avec #apt-mark manual j'ai fini par obtenir plus ou moins le resultat que je recherchait....Je trouve quant meme que cette gestion automatique est un peu tiré par les cheveux.....Merci pour tout
0