Quand on veut installer des paquets “testing” sur une distribution Debian “stable” par exemple, on peut utiliser la technique “package pinning” avec APT sans mettre tous les paquets en “testing”.
Une des utilités est de pouvoir remplacer certains paquets par la version disponible dans une autre release. On peut aussi remplacer certains paquets officiels par d’autres non officiels, sans pour autant casser toutes les dépendances de la distribution.
Le principe repose sur un ordre de priorité que l’on donne aux differents paquets.
Tout se joue dans le fichier /etc/apt/preferences
Mixer plusieurs distributions
Dans notre exemple, on va donner priorité la plus haute aux paquets de la “Stable” comme ci-dessous.
# Tous les paquets de la cible testing ont une priorité de 200
# le a=testing est là pour dire à apt quelle archive utiliser
Package: *
Pin: release a=testing
Pin-Priority: 300# Les paquets de la cible stable reste avec un priorité supérieure, pour
# éviter que les paquets de testing remplacent tous ceux de stable.
Package: *
Pin: release a=stable
Pin-Priority: 900
Si l’on veut installer un paquet de la “testing”, on devra alors lancer la commande apt :
apt-get install -t testing monpaquet
Remplacer certains paquets
J’ai besoin pour une application spécifique (par exemple nagios-nrpe-server), d’utiliser les paquets de la “testing” en place de ceux de la “stable”.
# Tous les paquets de la cible testing ont une priorité de 200
# le a=testing est là pour dire à apt quelle archive utiliser
Package: *
Pin: release a=testing
Pin-Priority: 300# Les paquets de la cible stable reste avec un priorité supérieure, pour
# éviter que les paquets de testing remplacent tous ceux de stable.
Package: *
Pin: release a=stable
Pin-Priority: 900
#
# Paquets speciaux forcés sur testing
Package: nagios-nrpe-server
Pin: release a=testing
Pin-Priority: 991
Pour installer ce fameux nagios-nrpe-serve, plus besoin de spécifier “-t testing” à la commande apt, il suffit de faire classiquement :
apt-get install nagios-nrpe-server