(3 réponses)
Fermé il y a 6 ans.
J'ai un paquet que je ne veux pas installer même si un autre en a besoin.
Existe-t-il un moyen de "mettre sur liste noire" un paquet pour qu'il ne soit pas installé même en tant que dépendance d'un autre ?
Puis-je surmonter le fait qu'il s'agit d'une dépendance et être toujours en mesure de mettre à niveau mon système ?
Je pense notamment à l'indicateur de messagerie de Unity. Si je le supprime et que je rajoute Unity pour une raison quelconque, je ne veux pas que l'applet soit réinstallée. Comment puis-je empêcher son installation ? (ou le menu global, les versions java supprimant mon installation personnalisée, etc… vous voyez l'idée).
Réponse acceptée :
- Existe-t-il un moyen de "mettre sur liste noire" un paquet pour qu'il ne soit pas installé même en tant que dépendance d'un autre ?
Pour empêcher apt
de l'installation d'un paquet foo
, ajoutez une strophe pour ce package au fichier /etc/apt/preferences qui ressemble à ce qui suit.
Package: foo
Pin: release *
Pin-Priority: -1
Cela empêchera apt d'installer foo et empêchera également apt d'installer tout ce qui dépend de foo.
La prochaine chose la plus proche à laquelle je peux penser est de mettre un hold on foo à sa version actuelle qui empêche la mise à jour de foo (sauf si dpkg reçoit le --force-hold
l'option ou à moins qu'apt remplace l'option hold). Pour mettre en attente le paquet foo, procédez comme suit.
echo foo hold | sudo dpkg --set-selections
- Puis-je surmonter le fait qu'il s'agit d'une dépendance tout en étant en mesure de mettre à jour mon système ?
Vous pouvez installer des packages individuels malgré les violations de dépendance en utilisant dpkg --force-depends
. Vous ne pourrez pas utiliser apt
pour ce faire, sauf si vous apt-get source
le package qui dépend de foo et le reconstruire sans la dépendance de foo.