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

Prochaine révision
Révision précédente
doc:systeme:apt:pinning [23/05/2013 23:30]
captnfab créée
doc:systeme:apt:pinning [30/09/2023 19:38] (Version actuelle)
captnfab
Ligne 1: Ligne 1:
-**EN TRAVAUX**+====== Les fichiers apt_preferences ======
  
-**Je vous préviens de suite, c'est le bordel.**+  ​Objet : Modifier la priorité d'​installation des paquets 
 +  ​Niveau requis : {{tag>​avisé}} (ou fou furieux) 
 +  * Commentaires : //Modifier la priorité d'​installation des paquets lorsque différentes versions sont proposées par différents dépôts.//​ 
 +  * **Avertissement** : Attention, ce tuto, c'est le manuel de l'​apprenti mauvais-administrateur-système,​ à utiliser avec modération... 
 +  ​Suivi : {{tag> à-compléter}} 
 +    ​Création par [[user>​captnfab]] 23/​05/​2013 
 +    * Testé par [[user>​Ir0nsh007er]] le 19/​07/​2015 
 +    * Mise à jour par [[user>​smolski]] le 09-08-2015 
 +  * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​id=1718&​p=1 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) 
 +===== Introduction =====
  
-mise à jour - 11/​05/​2013 +Lorsque l'on dispose de plusieurs versions installables dans les dépôts renseignés dans les fichiers [[:​doc:​systeme:​apt:​sources.list|sources.list]],​ il faut définir des priorités pour que ''​APT''​ sache quelle version installer.
-====== Le fichier /etc/apt/​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]].+Par exemple, si l'on a les dépôts Debian de testing et unstable et que l'on veut rester autant que possible en testing, il faut indiquer à ''​APT''​ que //testing// a une priorité supérieure à //sid//. Inversement,​ si pour un paquet donné on veut utiliser sa version présente ​dans //sid//, il faut le spécifier égalementLa définition de ces priorités s'​appelle le **pinning**.
  
-===== Création du fichier =====+C'est à cela que servent les fichiers **preferences**.
  
-Le fichier ​//Preferences// n'est pas généré automatiquement,​ nous devons le créer ainsi :+Les cas d'​utilisation raisonnable sont les suivants : 
 +  - Vous voulez être en //testing// avec les dépôts //sid// sous la main au cas où ; 
 +  - Vous voulez être en //testing// ou //sid// mais récupérer la version //sid// ou //​experimental//​ d'un paquet en particulier.
  
-   # nano /etc/apt/preferences+En dehors de ça, si vous voulez mélanger stable et une //testing/unstable/​experimental//,​ alors vous devriez prendre rendez-vous d'​urgence chez votre garagiste pour qu'il s'​occupe de votre carie.
  
-Puis le remplir selon les indications données plus loin dans ce tuto...+==== Les priorités ====
  
-===== Important : =====+Les fichiers ''​preferences''​ permettent de fixer la priorité des paquets suivant leurs dépôt. Voici la signification d'une priorité ''​P''​.
  
-Après avoir **créé ou modifié** votre fichier **Preferences**,​ la première chose à faire est dans un terminal root  +  ​P ≥ 1000 le paquet sera installé même si APT est forcé d'​installer une version plus ancienne((On appelle cela le //downgrade// par opposition à l'//​upgrade//​.)) ​ que la version actuelle. Cette opération n'est pas sans risque.
-<code bash>​aptitude update</code> +
-ou +
-<code bash>​apt-get update</code>+
  
-Suivi immédiatement de :+  * 990 ≤ P < 1000 le paquet sera installé sauf si une version plus récente est déjà installée.
  
-  ​$ apt-cache policy+  ​* 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é.
  
-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>​+==== Configuration initiale ====
  
-===== Prérequis Débutant ​=====+<note info>​Cette configuration est très bien, franchement,​ je ne vois pas pourquoi vous voulez la changer ​:-)</​note>​
  
-  * [[manuel:​ligne_de_commande_et_commandes#​gnu_linux-_les_commandes | COMMANDE LINUX DE BASE]] DEBUTANT Ecrire ​et commander directement ​à son PC +  * Par défaut, la priorité de tous les dépôts est de 500, à l'​exception du dépôt ''​backports'',​ de priorité 100, et du dépôt ''​experimental''​ de priorité 1. 
-  * [[manuel:​branches_debian | Les Branches Debian - Détail]] DEBUTANT Pour connaître ​l'utilité de chaque **branche**..+  * Lors d'une installation,​ les dépôts correspondant ​à la branche courante prennent une priorité 990. 
-  * [[manuel:​sources.list | sources.list - Détail]] DEBUTANT AVERTI Pour concevoir ​un **sources.list** au petit poil !+  * Lors d'une installation avec l'option « -t votrebranche », les dépôts correspondant à la branche ​« votrebranche » prennent une priorité 990
 +  * Lors d'une installation en précisant la branche d'un paquet avec « /​votrebranche », le paquet concerné prend une priorité 990.
  
-===== A savoir ​=====+== exemple ​: ==
  
-Le fichier /etc/apt/preferences est un fichier +La commande : 
-   qui donne un ordre de priorité aux dépôts.+<code root>apt-get -t bullseye-backports install libreoffice<​/code> 
 +donne une priorité élevée à **toute la branche bullseye-backports** le temps de l’instance d’APT.
  
-L'utilisation d'un fichier **Preferences** permet : +L'option ​-t (''​t''​ pour target) indique le dépôt cible où l'on va chercher le paquet à installer ​en gérant correctement les dépendances par rapport à ce dépôt et aux dépôts stables\\ 
-  ​d'​installer ​des paquets d'une branche différente (supérieure ou inférieure...) +Merci à chalu de cette précision-ci sur le forum à ce post là : 
-  non disponibles dans la branche principale installée en priorité +  ​* https://​debian-facile.org/​viewtopic.php?​pid=207154#​p207154
-  - tout en réglant les problèmes de dépendances qui ne manquent de survenir !+
  
 +La commande :
 +<code root>​apt-get install libreoffice/​bullseye-backports</​code>​
 +pose des problèmes de dépendances parce que la version prioritaire du paquet libreoffice-common restera celle des sources habituelles et non pas celles des backports.
  
 +Lien sur le forum :
  
-===== Le fichier Preferences,​ en pratique ​: =====+[[https://​debian-facile.org/​viewtopic.php?​id=12207 | différence install -t backports & paquet/​backports]]
  
-Toutes ​les priorités ​des dépôts sont de : +On peut vérifier ​les priorités ​en utilisant la ligne de commande, par exemple, si vous êtes en //​stable// ​
-  500 qui est la valeur par défaut.+<code user>​apt-cache policy</​code>​
  
-Ce qui revient à dire :+===== Synaptic =====
  
-au cas d'un sources.list complété de branches diffférentessans le fichier Preferences rédigéon utilisera prioritairement,+<note warning>​Le pinning fonctionne si tu utilises soit [[doc:​systeme:​apt:​apt|apt]][[doc:​systeme:​apt:​apt-get|apt-get]] ou [[doc:​systeme:​apt:​aptitude|aptitude]]mais si tu utilises [[doc:​systeme:​apt:​synaptic|synaptic]]le fichier créé en faisant du pinning va entrer en conflit avec le fichier de configuration de synaptic !</​note>​
  
-   ​la ​version ​supérieure d'un paquet,+Configuration de synaptic : 
 +  - Tu vas dans : \\ ''​configuration''​ -> ''​préférences''​ onglet ''​Distribution''​ 
 +  - Tu coches ''​Préférer les version ​de'' et tu choisis la version que tu désires. 
 +Normalement tu ne devrais plus y être submergé par des demande de mise à jours.
  
-en général dans la branche supérieure de notre fichier sources.list.+Merci à **valmy** et **Severian** qui ont initié cette recommandation sur le forum ! :-)
  
-On peut vérifier les priorités en utilisant la ligne de commande : +===== Précautions =====
-   $ apt-cache policy+
  
-==== Exception ​les dépôts backports ​et experimental ====+<note warning>​**ATTENTION** ! \\ En faisant joujou avec les fichiers ''​preferences'',​ on peut très rapidement faire quelque chose qu'on ne voulait pas, et qui nous oblige à **réinstaller** le système.
  
-=== le dépôt backports ===+Pour éviter cela, il existe une série de tests que vous pouvez faire pour tester votre configuration,​ et de précautions à prendre.</​note>​
  
-(//le dépôt backports pour la branche **stable** actuellement **Wheezy**//​)+==== Vérifier ​la configuration ====
  
-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 !+Après avoir **créé ou modifié** votre fichier ''​preferences''​la première chose à faire est dans un terminal en root : 
 +<code root>​apt-get update</​code>​
  
-On l'utilise pour : +Puis vérifiez que vos modifications ont bien été prises en compte grâce à ''​apt-cache policy''​.
-  installer des versions supérieures d'applications rajoutées +
-  dans la branche stable après sa création.+
  
-C'est du cas par cas.+<note importante>​Si les résultats affichés ne vous conviennent pas, vous risquez d'avoir une mauvaise 
 +surprise après une mise à jour...</​note>​
  
-=== Le dépôt experimental === 
  
-Idem, pour le dépôt experimental qui a un niveau de preferences de 1 par defaut.+===== Les exemples d'​utilisation =====
  
-===== 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.+=== Stable avec suivi d'un paquet dans les Backports ===
  
-  P > 1000 +Par exemple, pour installer la version de //​libreoffice//​ des backports et la maintenir à jour.
-  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===== +On crée un fichier ​''/​etc/​apt/​preferences.d/​90suivi-backports''​ contenant le code suivant :
-==== 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 wheezy.+<file apt_preferences 90suivi-backports>​Package:​ libreoffice 
 +Pin: release ​a=bullseye-backports 
 +Pin-Priority:​ 900</file> 
 +<​note>​Par défaut le dépôt stable-backports a une priorité ​de 100. Il est alors inutile de préciser ​la priorité des autres paquets de stable-backports</​note>​
  
-    deb http://​ftp.fr.debian.org/​debian/​ wheezy main contrib ​non-free+=== Testing avec Sid non-prioritaire ===
  
-apt-cache policy donne une nouvelle option (n=wheezy)+On suppose que vous avez comme sources quelque chose comme ça : 
 +<code apt_sources>​deb http://​deb.debian.org/​debian testing main contrib non-free 
 +deb http://​deb.debian.org/​debian sid main contrib non-free</​code>​ 
 +mais que vous voulez rester en //testing// autant que possible.
  
-    900 http://ftp.fr.debian.org/debian/ wheezy/main Packages +On crée un fichier ''​/etc/apt/​preferences.d/40sid-et-testing''​ contenant le code suivant :
-         ​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 : +<file apt_preferences 40sid-et-testing>​Package: * 
-    Package: * +Pin: release n=sid 
-    Pin: release a=stable +Pin-Priority100</file>
-    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-priority900 +
-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 ====+=== Testing avec suivi d'un paquet dans Sid === 
 +Par exemple, je suis en Testing mais veut installer la version du paquet ''​firefox''​ du dépôt de Sid tout en restant à jour.
  
-C'est le comportement ​//__par défaut__// quand on n'a que les dépôts de la branche suivie, sans fichier **Preferences**.+On crée un fichier ''/etc/apt/preferences.d/40firefox-sid'' contenant le code suivant :
  
-<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>+<file apt_preferences 90firefox-sid> 
 +Package: * 
 +Pin: release n=sid 
 +Pin-priority:​100
  
-(Excepté les dépôts **backports**. Voir [[manuel:depots#​le_depot_backports | BACKPORTS]])+Packagefirefox 
 +Pinrelease n=sid 
 +Pin-Priority:​ 900</​file>​
  
-==== Limiter des priorités ====+<note warning>​Cette méthode n’est pas conseillé sur Stable. Dans ce cas, il est préférable de construire le paquet depuis les sources du paquet dans Sid en suivant [[/​doc:​mentors:​retroportage| le wiki rétroportage]]</​note>​ 
 +=== Sid avec suivi d'un paquet dans Experimental ​===
  
-**testé** par smolski le 23/​11/​2012 ​à 15h37+Par exemple, je suis en sid mais veut installer la version ''​experimental''​ de ''​firefox''​ tout en restant ​à jour.
  
-Ici, nous allons limiter les sources multimedia de wheezy par le fichier ​créé ici **/​etc/​apt/​preferences** en y écrivant : +On crée un fichier ​''​/​etc/​apt/​preferences.d/​40suivi-experimental''​ contenant le code suivant ​:
-[code]Package+
-Pin: release -o=Unofficial Multimedia Packages,​a=stable,​l=Unofficial Multimedia Packages +
-Pin-Priority:​ -10[/code]+
  
-Le +<file apt_preferences 40suivi-experimental>​Packagefirefox 
-<code bash+Pin: release a=experimental 
-apt-cache priority</code>+Pin-Priority:​ 900</file
 +<​note>​Par défaut le dépôt expérimental a une priorité de 1. Il est alors inutile de préciser la priorité des autres paquets</note>
  
-permet d'en avoir la confirmation. ;-)+=== Les paquets particuliers ===
  
-==== Attribuer ​une priorité ​comprise entre 500 et 989 ====+La forme particulière affecte ​une priorité ​(Pin-Priority) à un paquet précis, à une version précise ou à un intervalle spécifiant plusieurs versions. \\ 
 +Par exemple, l'​entrée suivante affecte une priorité haute à toutes les versions du paquet ''​perl''​ dont le numéro de version commence par **5.8**. :
  
-pour la branche suivie et la/les branche(s) comportant des paquets aux versions égales ou inférieures à la branche suivie.+<code apt_preferences>​ 
 +Package: perl 
 +Pin: version 5.8* 
 +Pin-Priority:​ 1001</​code>​
  
-=== Pourquoi une valeur plus petite que 990 ? ===+//Merci à //​**caly**//​ sur le chan d'​avoir suscité cet ajout.// :-) 
 +===== Conseils et remarques =====
  
-Parce que lorsque l'on utilise l'​option **-t** ainsi : +<note tip>Le fait d'​avoir des priorités qui ne sont pas égales ​pour toutes les différentes branches Debian a pour inconvénient que les mises à jours de sécurité et jessie-updates ​des paquets ​communs aux branches Unstable et Stable sont moins réactives, qu'elles prennent plus de temps à arriver.</note>
-   ​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 ====+=== Nommer les branches par leur nom **commun** ou leur nom **release** ​===
  
-Supposons que je veuille installer le paquet **XYZ** qui se trouve dans une autre branche du //sources.list// que celle utilisée en priorité.+<code apt_sources>​deb http://deb.debian.org/debianstretch main contrib non-free</​code>​
  
-Si j'utilise le slash "**/**" ainsi : +''​apt-cache policy''​ donne une option (//n=stretch//)
-<​code>#​ aptitude install XYZ/<​branche><​/code> +
-ou +
-  # apt-get install XYZ/<​branche>​+
  
-Cela installe le paquet ​//XYZ// de la branche donnée en argument.+<​code>​900 http://deb.debian.org/debianstretch/​main Packages 
 +   ​release v=6.0.2.1,​o=Debian,​a=stable,​n=stretch,​l=Debian,​c=main 
 +   ​origin deb.debian.org</​code>​
  
-Si je fais maintenant un : +donc on peut rajouter ​dans le fichier **preferences** ce style d'interprétation ​:
-<​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:​pinning ​ | Le Pinning dans ses oeuvres !]] EXPERT **!** De l'​utilisation raisonnée du fichier Preferences avec de multiples branches installées +
- +
-:-P:-P:-P +
- +
- +
- +
-mise à jour - 12/​05/​2013 +
- +
-====== Le pinning ===== +
- +
-===== Prérequis débutant : ===== +
- +
-  * [[manuel:​branches_debian | Les Branches Debian - Détail]] Pour connaître l'​utilité de chaque **branche**... +
-  * [[manuel:​sources.list | sources.list]] Pour concevoir un **sources.list** dans le détail... +
-  * [[manuel:​fichier_preferences | Le fichier : Preferences]] Qu'​est-ce un fichier **preferences** ​+
- +
-===== Le pinning - Explications et premiers pas...===== +
- +
-Le **pinning** consiste à se servir de __plusieurs dépôts de branches différentes__,​ dans un même fichier sources.list,​ +
-  tout en gérant par ordre de priorité l'​installation et +
-  l'​orientation des paquets Debian. +
-  +
- +
-==== Exemple : ==== +
- +
-Utiliser conjointement +
-  - des paquets d'une branche **testing** +
-  - et d'une branche **unstable**. +
- +
-Il faut donc mettre dans son fichier **/​etc/​apt/​sources.list/​** : +
-  - les dépôts **testing** +
-  - et les dépôts **unstable**. +
- +
-Puis configurer un fichier **/​etc/​apt/​preferences/​** qui indiquera à **apt** dans quel __ordre de priorité__ il devra gérer les dépôts. +
- +
-=== Attention ! === +
- +
-L'​installation d'un paquet d'une branche **supérieure** peut nécessiter : +
-  - la mise à jour de lib récentes **incompatibles** avec d'​autres paquets plus anciens, +
-  - qui devront également être upgradés (mis à jour...) à leur tour ! +
- +
-Bref, installer ou mettre à jour un paquet d'une branche supérieure peut n'​être possible qu'en migrant vers la branche supérieure. +
- +
-===== Le pinning - Observations ===== +
- +
-Le **pinning** est une bonne chose et certainement __le meilleur moyen de trouver les paquets manquants__,​ il suffira de faire un fichier **preferences** et de mettre en priorité haute la branche à privilégier. +
- +
-Reste que la modification des paquets dans une branche testing par l'​apport de paquets unstable via le **Pinning** peut, par le biais des dépendances nécessaires,​ +
-<note warning>​provoquer une cassure de l'​équilibre du système tout entier !!!</​note>​ +
- +
- +
-Par conséquent,​ nous vous conseillons l'​usage de l'​option "​-s"​ (simulation) avec votre commande apt habituelle, apt-get ou aptitude... +
- +
-Donc : +
-   # aptitude -s install //​le_paquet_non-stable_désiré//​ +
- +
-== Voir : == +
-[[manuel:​apt | Les outils APT de gestion des Paquets]] +
- +
-===== Remarques ===== +
- +
-==== libc6 ==== +
- +
-Si vous êtes sous stable et que vous voulez installer un paquet de la branche testing, ou même unstable, qui impliquerait des mises à jour aussi importantes que **libc6**,​ +
-<note warning> ​ éviter de le faire, en effet, libc6 fait partie du « cœur » du système, le pinning n'a alors plus grand intérêt !!!</​note>​ +
-Autant passer sa distribution dans la branche supérieure. +
- +
-===== Choisir Testing ou Sid ===== +
- +
-Avec la branche **testing**,​ il faut être un peu patient en ce qui concerne les bugs. Les mauvais paquets retournent souvent en **sid** où ils sont encore améliorés (généralement pendant quelques jours...) pour redescendre en **testing**. +
- +
-  Testing est souvent considérée comme un outil de travail +
-  pour la prochaine stable. +
-  De ce fait, elle manque quelques fois de cohérence... +
- +
-Avec la branche **sid**, les corrections de bugs sont beaucoup plus rapides, __une journée ou deux normalement__. +
- +
-**Pratiquement** :\\ +
-On a moins de problème en sid, +
-   ​notamment avant le gel de la testing pour son passage en stable ! +
- +
-===== Le PINNING - Applications ===== +
- +
-===== Fichier /​etc/​apt/​sources.list à utiliser : ===== +
- +
-=== Commun pour toutes les branches : Stable Testing et Unstable === +
- +
-Pour ces branches, le fichier sources.list type est le même. +
-   Seul le fichier PREFERENCES fera la différence ! +
- +
- +
-Par défaut, tous les dépôts officiels debian et deb-multimedia ont une priorité de **500** (sauf le le dépôt Debian experimental dont la une priorité par défaut est de 1). +
- +
-Ce qui signifie qu'à priorité égale, ce sont les paquets dans le dépôt **Unstable** (//les versions les plus avancées//​) qui seront sélectionnés lors d'une mise à jour ! +
- +
-<note importante>​ +
-Ne pas utiliser le fichier sources.list ci-dessous sans fichier **Preferences** car vous passeriez alors automatiquement en **Unstable**. +
-</​note>​ +
- +
-À noter que : +
-La priorité du dépôt deb-multimedia pour experimental est à 500 par défaut. Si vous avez ce dépôt dans votre fichier sources.list,​ faite donc attention à votre fichier preferences si vous ne désirez pas que tous les paquets issus de deb-multimedia passent en experimental. +
- +
-<note importante>​ +
-On met la priorité du dépôt deb-multimedia experimental à 1 dans son fichier preferences pour l'​utiliser vraiment au besoin +
-</​note>​ +
- +
- +
-===== Détail du fichier sources.list type : ===== +
- +
-Il est entendu que vous pouvez commenter/​supprimer toute ligne de dépôts de ce fichier pour l'​accommoder selon vos propres besoins. +
- +
-//Ça c'est Debian !// +
- +
-Voir le sources.list type là : +
-  * [[manuel:​sources.list#​pinning_sourceslist_complet | sources.list type multi-branches]] +
- +
-== Note : == +
- +
-Avant de mettre le dépôt **deb-multimedia experimental** dans votre fichier **sources.list**  +
-   ​assurez-vous qu'il vous intéresse réellement...À ce jour (avril 2011) il contient que les paquets pour l'​architecture amd64. +
- +
-   Pour vérifier le contenu de ce dépôt, +
-allez sur la page du site concernant les paquets : +
- +
-[[http://​www.deb-multimedia.org/​pool/​main/​|paquets dans deb-multimedia]] +
-<​note>​Dans le fichier Preferences choisi, pour //​stable//​-backports remplacer le nom commun **stable** par le nom **release** du stable désiré !</​note>​ +
- +
-===== Fichier Preferences simplifié ===== +
- +
-Avec le fichier [[manuel:​sources.list#​pinning_sourceslist_complet |sources.list type]] ​ **__maintien la priorité__** sur la branche **stable** malgré toutes les autres sources non stable.+
  
-<​code>​+<​code ​apt_preferences>
 Package: * Package: *
 Pin: release a=stable Pin: release a=stable
-Pin-Priority: 900+Pin-priority: 900
  
 Package: * Package: *
-Pin: release ​a=stable-updates +Pin: release ​n=stretch 
-Pin-Priority: 900+Pin-priority: 900 
 +</​code>​
  
-Package: * +=== Garder des priorités identiques pour les dépôts d'une même branche ===
-Pin: release a=proposed-updates +
-Pin-Priority:​ 900+
  
-Package: * +C'est le comportement ​//__par défaut__// quand on n'a que les dépôts de la 
-Pin: release o=Debian +branche suivie, sans fichier **preferences**.
-Pin-Priority:​ -10</code>+
  
 +<note warning>​Tout manquement à cette règle casse le 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**)
  
-Pour **__maintenir la priorité__** sur la branche **testing** à la place de //stable//, sans modifier le fichier sources.list type indiqué précédemment ​ il suffit de remplacer : 
-   ​a=stable 
-par : 
-   ​a=testing 
-On va garder ce dépôt avec testing : 
-<​code>​a=stable-updates</​code> ​   
  
-Ou bien de d'​utiliser à la place les noms releases ainsi : +=== Attribuer une priorité comprise entre 500 et 989 ===
-   a=stable ​        ===> n=wheezy +
-   a=stable-updates ===> n=wheezy-updates +
-par exemple.+
  
 +pour la branche suivie et la/les branche(s) comportant des paquets aux versions
 +égales ou inférieures à la branche suivie.
  
-===== Fichier Preferences pour être en STABLE avec le Pinning sur Testing Unstable et Experimental =====+Pourquoi une valeur plus petite que 990 ? Parce que lorsque l'on utilise l'​option **-t** ainsi :
  
-Pour la branche stable, il est **fortement déconseillé** de mélanger les dépôts de cette branche avec ceux des branches supérieures. Il est plutôt recommandé de n'​avoir que les entrées pour le nom de code de la stable dans son fichier sources.list et d'​ajouter le dépôt wheezy-backports pour avoir certaines applications plus récentes.+<code root>apt-get install -t <​branche>​ <​le_nom_du_paquet></​code>​
  
-Pour ceux qui voudraient malgré tout utiliser le fichier sources.list ci-haut afin d'​aller chercher ​des paquets ​dans les branches supérieuresvoici un fichier preferences très sécurisé. Les paquets hors de la branche ​stable ne pourront être installés que **volontairement**.+pour installer ​des paquets ​d'une branche autre que celle suiviecelle-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**
  
-==== Pinning détaillé : ====+<note important>​avoir une priorité égale ou supérieure à 990 perturbe l'​option "​-t"</​note>​
  
-  Package: * 
-  Pin: release o=Debian,​a=stable,​l=Debian 
-  Pin-Priority:​ 900 
-  ​ 
-  Package: * 
-  Pin: release o=Debian,​a=stable,​l=Debian-Security 
-  Pin-Priority:​ 900 
-  ​ 
-  Package: * 
-  Pin: release o=Debian,​a=stable-updates,​l=Debian 
-  Pin-Priority:​ 900 
-  ​ 
-  Package: * 
-  Pin: release o=Debian,​a=proposed-updates,​l=Debian 
-  Pin-Priority:​ 900 
-    ​ 
-  Package: *  
-  Pin: release o=Unofficial Multimedia Packages,​a=stable,​l=Unofficial Multimedia Packages 
-  Pin-Priority:​ 900 
-        
-  Package: * 
-  Pin: release o=Debian,​a=testing,​l=Debian 
-  Pin-Priority:​ -10 
-  ​ 
-  Package: * 
-  Pin:release o=Debian,​a=testing,​l=Debian-Security 
-  Pin-Priority:​ -10 
-  ​ 
-  Package: * 
-  Pin: release o=Unofficial Multimedia Packages,​a=testing,​l=Unofficial Multimedia Packages 
-  Pin-Priority:​ -10 
-  ​ 
-  Package: * 
-  Pin: release o=Debian,​a=unstable,​l=Debian 
-  Pin-Priority:​ -10 
-  ​ 
-  Package: * 
-  Pin: release o=Unofficial Multimedia Packages,​a=unstable,​l=Unofficial Multimedia Packages 
-  Pin-Priority:​ -10 
-  ​ 
-  Package: * 
-  Pin: release o=Debian,​a=experimental,​l=Debian 
-  Pin-Priority:​ -10 
-      
-  Package: * 
-  Pin: release o=Unofficial Multimedia Packages,​a=experimental,​l=Unofficial Multimedia Packages 
-  Pin-Priority:​ -10 
  
-===== MISE EN SERVICE DE CES DEUX FICHIERS CONJOINTEMENT : =====+=== D'un point de vue pratique, ​===
  
-<note importante>​Cette mise en service type est à reproduire pour tous les autres pinning présentés à la suite...</​note>​+Il est préférable d'​utiliser des chiffres ronds, comme 900, 800, 90Par exemple, si l'on a une priorité 620 et une priorité 630, il sera facile d'​intercaler une priorité 625.
  
-Mise à jour habituelle : 
-   # aptitude update 
-Installation de la clé multimedia : 
-   # aptitude install deb-multimedia-keyring 
  
-<​note>​La clé deb-multimedia-keyring est valable pour tous les dépôts deb-multimedia. Inutile ​de la réinstaller pour chacun ​d'eux.</​note>​+<​note ​alert>L'​installation d'un paquet d'une branche **supérieure** peut nécessiter ​: 
 +  * La mise à jour de lib récentes **incompatibles** avec d'autres paquets plus anciens, qui devront également être upgradés (mis à jour...) à leur tour !
  
-Remise ​à jour +Bref, installer ou mettre ​à jour un paquet d'une branche supérieure peut n'​être 
-   # aptitude update +possible qu'en migrant vers la branche supérieure.</​note>​
-Installation si tout s'est bien passé : +
-   # aptitude safe-upgrade+
  
-Je préconise ici l'​utilisation de la commande ''​aptitude''​ sur celle d'''​apt-get''​ cette dernière restant moins //​parlante//​ dans ses agissements,​ en fait... 
  
-Avec le Pinning, nous prenons notre système en main, donc autant utiliser les outils qui accompagnent au mieux cette décision, non ?+=== libc6 ===
  
 +Si vous êtes sous stable et que vous voulez installer un paquet de la branche
 +testing, ou même unstable, qui impliquerait des mises à jour aussi importantes
 +que **libc6**, alors abandonnez, le pinning ne sera pas une solution pour vous, puisqu'​il romprait la stabilité du système et effectuerait une mise à jour partielle vers testing, ce qui est la pire des situations possibles.
  
-===== Fichier Preferences pour être en TESTING avec le Pinning sur Stable et Unstable ===== 
  
-  Package: * +===== À consulter ​: =====
-  Pin: release o=Debian,a=testing,l=Debian +
-  Pin-Priority:​ 900 +
-   +
-  Package: * +
-  Pin:release o=Debian,a=testing,​l=Debian-Security +
-  Pin-Priority:​ 900 +
-    +
-  Package: *  +
-  Pin: release o=Unofficial Multimedia Packages,​a=testing,​l=Unofficial Multimedia Packages +
-  Pin-Priority:​ 900 +
-     +
-  Package: * +
-  Pin: release o=Debian,​a=stable,​l=Debian +
-  Pin-Priority:​ 900 +
-   +
-  Package: * +
-  Pin:release o=Debian,​a=stable,​l=Debian-Security +
-  Pin-Priority:​ 900 +
-   +
-  Package: * +
-  Pin: release o=Debian,​a=stable-updates,​l=Debian +
-  Pin-Priority:​ 900 +
-     +
-  Package: * +
-  Pin: release o=Unofficial Multimedia Packages,​a=stable,​l=Unofficial Multimedia Packages +
-  Pin-Priority:​ 900 +
-   +
-  Package: * +
-  Pin: release o=Debian,​a=unstable,​l=Debian +
-  Pin-Priority:​ 100 +
-   +
-  Package: * +
-  Pin: release o=Unofficial Multimedia Packages,​a=unstable,​l=Unofficial Multimedia Packages +
-  Pin-Priority:​ 100 +
-    +
- +
-<note important>​Ce fichier preferences permet de bénéficier des mises à jours de sécurité et wheezy-updates anciennement "​volatiles"​ de Stable pour les paquets communs aux deux branches</​note>​ +
- +
-== Note : == +
- +
-En **testing** et plus, vous pouvez //​désactiver//​ les dépôts stable-backports car ils sont aussi dans la branche testing ! +
- +
- +
-===== Fichier preferences pour être en  UNSTABLE (ou : SID) avec le Pinning sur : Testing, Stable et Experimental ​ ===== +
- +
-==== Option #1 : ==== +
- +
-  Package: * +
-  Pin: release o=Unofficial Multimedia Packages,​a=experimental,​l=Unofficial Multimedia Packages +
-  Pin-Priority:​ 1 +
- +
-Ce fichier preferences,​ bien que minimaliste,​ est tout à fait suffisant et peut donc être utilisé sans aucun problème.\\  +
-//​C'​est d'​ailleurs celui que j'​utilise personnellement.//​ +
- +
-==== Option #2 : ==== +
- +
-  Package: * +
-  Pin: release o=Debian,​a=unstable,​l=Debian +
-  Pin-Priority:​ 900 +
-   +
-  Package: * +
-  Pin: release o=Unofficial Multimedia Packages,​a=unstable,​l=Unofficial Multimedia Packages +
-  Pin-Priority:​ 900 +
-   +
-  Package: * +
-  Pin: release o=Debian,​a=testing,​l=Debian +
-  Pin-Priority:​ 800 +
-   +
-  Package: * +
-  Pin: release o=Debian,​a=testing,​l=Debian-Security +
-  Pin-Priority:​ 800 +
-    +
-  Package: * +
-  Pin: release o=Unofficial Multimedia Packages,​a=testing,​l=Unofficial Multimedia Packages +
-  Pin-Priority:​ 800 +
-   +
-  Package: * +
-  Pin: release o=Debian,​a=stable,​l=Debian +
-  Pin-Priority:​ 700 +
-   +
-  Package: * +
-  Pin: release o=Debian,​a=stable,​l=Debian-Security +
-  Pin-Priority:​ 700 +
-   +
-  Package: * +
-  Pin: release o=Debian,​a=stable-updates,​l=Debian +
-  Pin-Priority:​ 700 +
-   +
-  Package: * +
-  Pin: release o=Unofficial Multimedia Packages,​a=stable,​l=Unofficial Multimedia Packages +
-  Pin-Priority:​ 700 +
-   +
-  Package: * +
-  Pin: release o=Unofficial Multimedia Packages,​a=experimental,​l=Unofficial Multimedia Packages +
-  Pin-Priority:​ 1 +
- +
-==== Remarque : ==== +
- +
-Ce second fichier **preferences** pour **Sid** est pour les gens tatillons qui veulent contrôler parfaitement l'​utilisation qu'ils font des dépôts/​branches. +
- +
-Ce fichier est aussi valable que le premier. +
- +
-=== Un seul bémol dedans par contre. === +
- +
-Le fait d'​avoir des priorités qui ne sont pas égales pour toutes les différentes branches Debian a pour inconvénient : +
-  * que les mises à jours de sécurité et wheezy-updates pour les paquets communs aux branches Unstable et Stable sont moins réactives, qu'​elles prennent plus de temps à arriver. +
- +
- +
- +
-    ​À vous de décider le système que vous préférez dans votre PC ! +
- +
-//Ça c'est toujours Debian ça !// +
- +
- +
-===== Pourquoi utiliser le dépôt experimental ===== +
- +
- +
-==== Le dépôt experimental constitue un cas à part. ==== +
- +
-On n'y retrouve pas tous les paquets disponibles dans les branches stable, testing et unstable. +
- +
-La plupart des nouveaux paquets ne passent pas par les dépôts experimental et vont directement dans **unstable.** +
- +
-On ne peut donc pas parler de la branche experimental. +
-<note tip>Ce dépôt contient les versions les plus récentes des paquets s'y trouvant.\\ +
-Il est **normalement** réservé aux développeurs Debian</​note>​ +
- +
-   +
-==== Exemple d'​utilisation ​: ==== +
- +
-Il peut se produire des situations où les paquets se trouvant dans **experimental** peuvent nous intéresser. +
- +
-== Je vais vous citer ici un cas précis. == +
- +
-A ce-jour nous avons la version de Iceweasel 10.0~b4-1 disponible dans le dépôt experimental. +
- +
-On peut donc installer cette dernière version sans problème dans la branche **sid**. +
- +
-Voilà donc un exemple concret où il peut être utile d'​avoir ce dépôt dans son fichier **sources.list**. +
- +
-Pour ceux qui craignent d'​utiliser le dépôt **experimental**,​ car ils trouvent que les paquets s'y trouvant sont trop instables et peuvent casser leur système, et, de ce fait, préfèrent attendre les mises à jour des paquets dans la branche qu'ils suivent, **il suffit tout simplement d'​enlever,​ ou de commenter (mettre un dièse # devant) les lignes appropriées dans les fichiers sources.list et preferences.** +
- +
- +
- +
-===== Important : ===== +
- +
-Après avoir créé ou modifié votre fichier sources.list,​ la première chose à faire est un : +
- +
-  # aptitude update +
- +
-Suivi immédiatement d'un : +
- +
-  # 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-get et correspondent à votre choix. +
- +
-<note importante>​Dans le cas contraire, vous risquez d'​avoir une mauvaise surprise après avoir utilisé les commandes de mises à jour : apt-get upgrade ou apt-get dist-upgrade...</​note>​ +
- +
-La documentation de référence sur ce fichier de configuration est disponible dans la page de manuel apt_preferences,​ accessible par la commande : +
-<​code>​$ man apt_preferences</​code>​ +
- +
-====== ​ Le fichier /​etc/​apt/​apt.conf ====== +
- +
-**Quelques mots seulement concernant ce fichier important :** +
- +
-Disons simplement que ce fichier permet de modifier le comportement par défaut des outils **apt-get** et **aptitude**. +
- +
-==== Voir : ==== +
-[[manuel:​configuration:​apt.conf | APT.CONF]]\\+
  
-:-P:-P:-P+La documentation de référence sur ce fichier de configuration est disponible 
 +dans la page de manuel apt_preferences,​ accessible par la commande ​: 
 +<code user>man apt_preferences</​code>​
doc/systeme/apt/pinning.1369344652.txt.gz · Dernière modification: 23/05/2013 23:30 par captnfab

Pied de page des forums

Propulsé par FluxBB