nov 25

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

nov 25

Il suffit d’éditer le fichier /etc/apt/apt.conf et de lui ajouter ces lignes magiques :

APT::Periodic::Update-Package-Lists “1″;
APT::Periodic::Download-Upgradeable-Packages “0″;
APT::Periodic::AutocleanInterval “0″;
APT::Periodic::Unattended-Upgrade “0″;

Ca automatise les update des listes des sources d’Apt.