Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ceci est une ancienne révision du document !
mise à jour - 11/05/2013
Le fichier preferences
permet de gérer plusieurs Dépôts de Branches différentes inscrit dans le sources.list.
Le fichier Preferences n'est pas généré automatiquement, nous devons le créer ainsi :
# nano /etc/apt/preferences
Puis le remplir selon les indications données plus loin dans ce tuto…
Après avoir créé ou modifié votre fichier Preferences, la première chose à faire est dans un terminal root :
aptitude update
ou
apt-get update
Suivi immédiatement de :
$ apt-cache policy
Cette dernière commande vous permettra de vérifier si les priorités de votre fichier Preferences sont bien prises en compte par apt et correspondent à votre choix.
Le fichier /etc/apt/preferences est un fichier
qui donne un ordre de priorité aux dépôts.
L'utilisation d'un fichier Preferences permet :
Toutes les priorités des dépôts sont de :
500 qui est la valeur par défaut.
Ce qui revient à dire :
au cas d'un sources.list complété de branches diffférentes, sans le fichier Preferences rédigé, on utilisera prioritairement,
la version supérieure d'un paquet,
en général dans la branche supérieure de notre fichier sources.list.
On peut vérifier les priorités en utilisant la ligne de commande :
$ apt-cache policy
(le dépôt backports pour la branche stable actuellement Wheezy)
Il est important de noter que le dépôt wheezy-backports ne fait pas partie de cette règle, il représente un cas à part. Son niveau de preferences est de 100 par défaut !
On l'utilise pour :
installer des versions supérieures d'applications rajoutées dans la branche stable après sa création.
C'est du cas par cas.
Idem, pour le dépôt experimental qui a un niveau de preferences de 1 par defaut.
Avant de parler des valeurs à donner aux différentes préférences (P), il est bon de rappeler ce qu'elles représentent exactement.
P > 1000 Le paquet sera installé même si APT est forcé d'installer une version plus ancienne que la version actuelle 990 < P <=1000 Le paquet sera installé sauf si une version plus récente est déjà installée. 500 < P <=990 Le paquet ne sera installé qu'à défaut de version plus récente installée ou disponible dans la distribution cible 100 < P <=500 Le paquet ne sera installé que s'il n'en existe aucune version plus récente, installée ou disponible, dans une autre branche 0 < P <=100 Le paquet ne sera installé que si aucune autre version du paquet n'est installée P < 0 Le paquet ne sera jamais installé
Je viens de me rendre compte, d'ailleurs cela doit être récent, que l'on peut mettre le nom release de la branche, par exemple pour une ligne dans le sources.list concernant wheezy.
deb http://ftp.fr.debian.org/debian/ wheezy main contrib non-free
apt-cache policy donne une nouvelle option (n=wheezy)
900 http://ftp.fr.debian.org/debian/ wheezy/main Packages release v=6.0.2.1,o=Debian,a=stable,n=wheezy,l=Debian,c=main origin ftp.fr.debian.org
donc on peut rajouter dans le fichier preferences ce style d'interprétation :
Package: * Pin: release a=stable Pin-priority: 900
Les “man” d'apt.conf et apt_preferences viennent d'être modifiés, et je constate que l'on peut mettre encore une autre description dans le fichier preferences on peut mettre :
Package: * Pin: release n=wheezy Pin-priority: 900
Idem bien sûr pour toutes les branches testing/wheezy ou unstable/sid.
C'est le comportement par défaut quand on n'a que les dépôts de la branche suivie, sans fichier Preferences.
(Excepté les dépôts backports. Voir : BACKPORTS)
testé par smolski le 23/11/2012 à 15h37
Ici, nous allons limiter les sources multimedia de wheezy par le fichier créé ici /etc/apt/preferences en y écrivant : [code]Package: * Pin: release -o=Unofficial Multimedia Packages,a=stable,l=Unofficial Multimedia Packages Pin-Priority: -10[/code]
Le :
apt-cache priority
permet d'en avoir la confirmation.
pour la branche suivie et la/les branche(s) comportant des paquets aux versions égales ou inférieures à la branche suivie.
Parce que lorsque l'on utilise l'option -t ainsi :
install -t <branche> <le_nom_du_paquet>
pour installer des paquets d'une branche autre que celle suivie, celle-ci devient la branche par défaut (APT::Default-Release “branche”) avec une priorité temporaire de 990.
Donc, pour la branche prioritaire du fichier preferences
avoir une priorité égale ou supérieure à 990 perturbe l'option "-t"
Supposons que je veuille installer le paquet XYZ qui se trouve dans une autre branche du sources.list que celle utilisée en priorité.
Si j'utilise le slash “/” ainsi :
# aptitude install XYZ/<branche>
ou
# apt-get install XYZ/<branche>
Cela installe le paquet XYZ de la branche donnée en argument.
Si je fais maintenant un :
# aptitude install XYZ -t <branche>
ou
# apt-get install XYZ -t <branche>
Cela installe le paquet XYZ tout en définissant temporairement la branche donnée en argument comme branche par défaut (priorité de 990).
les éventuelles dépendances du paquet XYZ seront facilement
accessibles car elles auront, comme XYZ, une priorité temporaire de 990.
elles gardent la priorité définie dans le fichier /etc/apt/preferences ou celle par défaut (500).
Après cette commande, nous sommes toujours dans la branche mentionnée par l'option -t !
Il nous faut :
fermer le terminal root pour revenir dans la branche prioritaire du fichier preferences.
Si nous voulons suivre une application installée avec l'option -t (et les dépendances qui vont avec…)\\, nous devons écrire une entrée dans le fichier preferences (voir exemple ci-dessous).
Par exemple :
Pour un paquet XYZ de la branche unstable nous ajouterions au fichier preferences ces lignes :
Package: XYZ Pin: release a=unstable Pin-Priority: 400
Par contre, même de priorité inférieure, l'installation d'une version d'un paquet n'est pas rétrogradée par les mises à jour.
Merci au captnfab pour cette précision.
Pour la branche comportant des paquets de versions supérieures aux versions de la branche suivie principalement
il est recommandé d'attribuer une valeur de preferences entre 1 et 99.
Ceci permet :
sans pour autant « suivre » les paquets installés à partir de ces dépôts.
C'est-à-dire qu'ils se mettent à jours automatiquement,
il est normalement suffisant d'attribuer une priorité comprise entre 100 et 499 à ces branches.
S'il est envisageable de le faire individuellement, pour un paquet en particulier,
il n'est pas prudent de le faire pour un fichier preferences générique en raison des dépendances.
Autrement dit, on met une entrée dans le fichier Preferences
et non
(en débat pour le pratique ???)
Il est préférable d'utiliser des chiffres ronds (900, 800, 90…).
Cela permet d'adapter facilement le fichier Preferences en fonction de ses besoins (ajout de dépôts, par exemple)
$ man apt_preferences