logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:obsolete:fichier-preferences [10/06/2011 00:52]
darien
— (Version actuelle)
Ligne 1: Ligne 1:
-mise à jour - 14/​04/​2011====== PREFERENCES ====== 
  
-Le fichier ''​preferences''​ permet de gérer plusieurs [[manuel:​depots | Dépôts]] de [[manuel:​branches_debian | Branches]] différentes inscrit dans le [[manuel:​sources.list]]. 
- 
-===== Créer le fichier PREFERENCES ===== 
- 
-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... 
- 
-===== Important : ===== 
- 
-Après avoir **créé ou modifié** votre fichier **Preferences**,​ la première chose à faire est dans un terminal root :  
-<code bash>​aptitude update</​code>​ 
-ou 
-<code bash>​apt-get update</​code>​ 
- 
-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.<​note warning>​Dans le cas contraire, vous risquez d'​avoir une **MAUVAISE** surprise après avoir utilisé les commandes de mises à jour et d'​installation habituelles.</​note>​ 
- 
-===== Prérequis Débutant : ===== 
- 
-  * [[manuel:​commande#​les_commandes_de_base_linux | COMMANDE LINUX DE BASE]] DEBUTANT Ecrire et commander directement à son PC 
-  * [[manuel:​branches_debian | Les Branches Debian - Détail]] DEBUTANT Pour connaître l'​utilité de chaque **branche**... 
-  * [[manuel:​sources.list | sources.list - Détail]] DEBUTANT AVERTI Pour concevoir un **sources.list** au petit poil ! 
- 
-===== A savoir : ===== 
- 
-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 : 
-  - d'​installer des paquets d'une branche différente (supérieure ou inférieure...) 
-  - non disponibles dans la branche principale installée en priorité 
-  - tout en réglant les problèmes de dépendances qui ne manquent de survenir ! 
- 
- 
- 
-===== Le fichier Preferences,​ en pratique : ===== 
- 
-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 
- 
-==== Exception les dépôts backports et experimental ==== 
- 
-=== le dépôt backports === 
- 
-(//le dépôt backports pour la branche **stable** actuellement **Squeeze**//​) 
- 
-Il est important de noter que le dépôt **squeeze-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. 
- 
-=== Le dépôt experimental === 
- 
-Idem, pour le dépôt experimental qui a un niveau de preferences de 1 par defaut. 
- 
-===== Définition des priorités (P) ===== 
- 
-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é 
- 
-===== Lors de la création d'un fichier preferences il est souhaitable de respecter certaines règles. ===== 
- 
- 
-==== Nommer les branches par leur nom **commun** ou leur nom **release** ==== 
- 
-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 squeeze. 
- 
-    deb http://​ftp.fr.debian.org/​debian/​ squeeze main contrib non-free 
- 
-apt-cache policy donne une nouvelle option (n=squeeze) 
- 
-    900 http://​ftp.fr.debian.org squeeze/​main Packages 
-         ​release v=5.0.2,​o=Debian,​a=stable,​n=squeeze,​l=Debian,​c=main 
- 
-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=squeeze 
-   ​Pin-priority:​ 900 
-Idem bien sûr pour toutes les branches //​testing/​wheezy//​ ou //​unstable/​sid//​. 
- 
- 
-==== Garder des priorités identiques pour les dépôts d'une même branche ==== 
- 
-C'est le comportement //__par défaut__// quand on n'a que les dépôts de la branche suivie, sans fichier **Preferences**. 
- 
-<note warning>​Tout manquement à cette règle casse la comportement par défaut et peut générer des résultats très dommageables car non prévus par les développeurs Debian.</​note>​ 
- 
-(Excepté les dépôts **backports**. Voir : [[manuel:​depots#​le_depot_backports | BACKPORTS]]) 
- 
- 
-==== Attribuer une priorité comprise entre 500 et 989 ==== 
- 
-pour la branche suivie et la/les branche(s) comportant des paquets aux versions égales ou inférieures à la branche suivie. 
- 
-=== Pourquoi une valeur plus petite que 990 ? === 
- 
-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"​ 
- 
-==== Illustration de 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 : 
-<​code>#​ aptitude install XYZ/<​branche></​code>​ 
-ou 
-  # apt-get install XYZ/<​branche>​ 
- 
-Cela installe le paquet //XYZ// de la branche donnée en argument. 
- 
-Si je fais maintenant un : 
-<​code>#​ aptitude install XYZ -t <​branche></​code>​ 
-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). 
- 
-==== Concrètement : ==== 
- 
-  * avec l'​option -t,\\  
-les éventuelles __dépendances du paquet **XYZ**__ seront facilement 
-accessibles car elles auront, comme XYZ, une priorité temporaire de **990**.\\ ​ 
-  * Alors qu'​avec /,\\  
-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. 
- 
-==== Suivi des mises à jour / option -t ==== 
- 
-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 
- 
-=== Nota : === 
- 
-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.//​ :-) 
- 
-==== Priorités comprises entre 1 et 99 ==== 
- 
-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 : 
-  - d'​installer les paquets à la demande 
-  - ou à apt-get de le faire seulement en cas de besoins 
-sans pour autant « suivre » les paquets installés à partir de ces dépôts. 
- 
-==== Si on veut « suivre » les mises à jour des paquets ==== 
- 
-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** 
- 
-  * pour le paquet donné dont on veut avoir les mises à jour 
- 
-et non 
- 
-  * pour toute la branche. 
- 
- 
-==== D'un point de vue pratique, ==== 
-(//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) 
-  - sans avoir à décaler toutes les autres entrées dans le fichier, et 
-  - de faire la différence entre chaque priorité des dépôts //d'un simple coup d'​oeil//​. 
- 
-===== À consulter : ===== 
- 
-   $ man apt_preferences 
- 
- 
- 
- 
- 
- 
-====== Voir maintenant : ====== 
- 
-  * [[manuel:​depots#​le_depot_backports]] DEBUTANT AVERTI **!** 
-  * [[manuel:​configuration:​pinning ​ | Le Pinning dans ses oeuvres !]] EXPERT **!** De l'​utilisation raisonnée du fichier Preferences avec de multiples branches installées 
- 
-:-P:-P:-P 
doc/obsolete/fichier-preferences.1307659956.txt.gz · Dernière modification: 10/06/2011 00:52 par darien

Pied de page des forums

Propulsé par FluxBB