Pour un package spécifique, puis-je savoir pourquoi il est installé?
Alors, est-ce que je peux voir ou il est installé manuellement ou s'il est installé en tant que dépendance d'un autre paquet? Ou qu'il soit installé dans le cadre de la distribution?
Une solution rapide consiste à entrer la commande suivante dans un terminal:
aptitude why $package
ou, si vous êtes uniquement intéressé par la cause ultime:
aptitude why $package --show-summary
Remplacez $ package par le nom du package. Vous devrez peut-être installer le package aptitude
name__.
Voici le résultat que vous pourriez obtenir pour aptitude why aspell --show-summary
Packages requiring aspell:
inkscape
Pour plus de détails, lancez aptitude why aspell
. Vous pouvez lire l'exemple ci-dessous comme suit: "Vous avez installé manuellement inkscape
name__, qui requiert libgtkspell
name__, qui nécessite libenchantic2a
, et qui nécessite aspell
name__". (Les marqueurs i
indiquent les packages installés; les marqueurs A
indiquent les packages installés automatiquement.)
i inkscape Depends libgtkspell0 (>= 2.0.10)
i A libgtkspell0 Depends libenchant1c2a (>= 1.6.0)
i A libenchant1c2a Depends aspell-en | myspell-dictionary | aspell-dictionary | ispell-dictionary | hunspell-dictionary
i A aspell-en Depends aspell (>= 0.60.3-2)
Enfin, la commande suivante
apt-cache rdepends --installed $package
répertorie les autres packages installés sur votre ordinateur qui dépendent directement de $ package. Vous pouvez ajouter l'option --recurse
pour répertorier tous les packages qui en dépendent directement ou indirectement.
Un raisonnement rapide et bref sur la raison pour laquelle un certain paquet a été installé peut être trouvé en tapant la commande suivante dans un terminal (Applications -> Accessories -> Terminal
):
aptitude why <package-name>
Remplacez-le par le nom du package qui vous intéresse. Par exemple, taper aptitude why libgoo-canvas-Perl
génère les éléments suivants:
i shutter Suggests libgoo-canvas-Perl
Cela signifie essentiellement que le paquet shutter
dans ce cas a suggéré que libgoo-canvas-Perl
soit installé. En saisissant alors aptitude why shutter
, je peux remonter la chaîne de dépendance.
Cependant, il y a une mise en garde. Je remarque souvent que aptitude trouve que l'explication la plus plausible de la situation n'est peut-être pas la réalité, mais qu'elle vous donnera néanmoins un indice pour approfondir votre recherche.
Dans mon cas, shutter
suggère libgoo-canvas-Perl
- toutefois, les packages suggérés ne sont pas installés automatiquement par défaut. Néanmoins, cela me rappelle "l'expérience" de ne pas pouvoir éditer les captures d'écran avec shutter
, ce qui m'a amené à installer manuellement ligbgoo-canvas-Perl
Enfin, vous pouvez savoir si un paquet a été installé automatiquement (c'est-à-dire décidé par le système de gestion des paquets de regarder impérativement les dépendances et les recommandations des autres paquets que vous avez demandé d'installer) en exécutant la commande suivante.
aptitude show <package-name>
Cela produira une ligne comme ci-dessous (3ème ligne de la sortie):
Automatically installed: no
Pour plus d’informations, lancez info aptitude
(dans un terminal) ou visitez la page page wiki Aptitude
Pour savoir quand un paquet particulier a été installé, il y a 2 options:
Install
(attention au cas) pour lister toutes les entrées concernant l'installation. Cependant, cela ne montrera que les paquets installés en utilisant Synaptic Exécutez la commande suivante dans un terminal. Ceci recherchera les journaux dpkg pour les entrées de l'historique d'installation. Toutefois, le nombre de journaux conservés est limité. Par conséquent, si le package que vous recherchez a été installé il y a longtemps, il se peut que vous ne le trouviez pas. Plus de détails ici
zcat -f /var/log/dpkg.log* | grep "\ install\ " | grep -i <package-name>
Oui, vous pouvez, et c'est une commande assez évidente, en fait. En supposant que vous avez installé aptitude, vous pouvez ouvrir un type d’annonce Terminal Window:
aptitude why package
Cela devrait donner une liste des paquets qui dépendent de ce paquet spécifique. Si c'est un paquet installé manuellement, il va dire quelque chose comme: "Il n'était pas possible de trouver une raison pour installer le paquet".
Voici un moyen simple qui ne repose pas sur aptitude
, que 10.10 n’expédie plus par défaut.
Ouvrez Synaptic et essayez de le supprimer.
Si une boîte de dialogue s'ouvre vous demandant de supprimer d'autres packages, il s'agit des packages qui (de manière récursive) en dépendent.
apt-get remove package_name_goes_here -s
Là encore, les packages qui seraient supprimés sont tous ceux qui en dépendent (de manière récursive). (Le paramètre -s
indique à apt-get
de ne pas supprimer réellement le package.)