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 →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:systeme:apt:pinning [24/05/2013 00:48] captnfab du bordel, encore du bordel... |
doc:systeme:apt:pinning [26/10/2022 13:51] Croutons [Les exemples d'utilisation] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | **EN TRAVAUX** | ||
- | |||
- | **Je vous préviens de suite, c'est le bordel.** | ||
- | |||
====== Les fichiers apt_preferences ====== | ====== Les fichiers apt_preferences ====== | ||
- | + | * Objet : Modifier la priorité d'installation des paquets | |
- | * **Commentaires** : Attention, ce tuto, c'est le manuel de l'apprenti mauvais-administrateur-système, à utiliser avec modération... | + | * 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.// | |
- | * **Prérequis** : | + | * **Avertissement** : Attention, ce tuto, c'est le manuel de l'apprenti mauvais-administrateur-système, à utiliser avec modération... |
- | * [[manuel:ligne_de_commande_et_commandes#gnu_linux-_les_commandes | COMMANDE LINUX DE BASE]] DEBUTANT Ecrire et commander directement à son PC | + | * Suivi : {{tag> à-compléter}} |
- | * [[manuel:branches_debian | Les Branches Debian - Détail]] DEBUTANT Pour connaître l'utilité de chaque **branche**... | + | * Création par [[user>captnfab]] 23/05/2013 |
- | * [[manuel:apt:sources.list | sources.list - Détail]] DEBUTANT Pour concevoir un **sources.list** au petit poil ! | + | * 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 ===== | ===== Introduction ===== | ||
- | Lorsque l'on dispose de plusieurs versions installables dans les dépôts renseignés dans les fichiers [[manuel:apt:sources.list|sources.list]], il faut définir des priorités pour que ''APT'' sache quelle version installer. | + | 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. |
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 également. La définition de ces priorités s'appelle le **pinning**. | 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 également. La définition de ces priorités s'appelle le **pinning**. | ||
Ligne 23: | Ligne 19: | ||
Les cas d'utilisation raisonnable sont les suivants : | 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// 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 | + | - Vous voulez être en //testing// ou //sid// mais récupérer la version //sid// ou //experimental// d'un paquet en particulier ; |
- | - Vous utilisez le dépôt multimedia, mais ne voulez pas donner une forte priorité à tous les paquets qu'il propose | + | - Vous utilisez le dépôt multimedia, mais ne voulez pas donner une forte priorité à tous les paquets qu'il propose. |
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. | 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. | ||
Ligne 33: | Ligne 29: | ||
Les fichiers ''preferences'' permettent de fixer la priorité des paquets suivant leurs dépôt. Voici la signification d'une priorité ''P''. | Les fichiers ''preferences'' permettent de fixer la priorité des paquets suivant leurs dépôt. Voici la signification d'une priorité ''P''. | ||
- | * P > 1000 | + | * 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. |
- | 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. | + | |
- | * 990 < P ≤ 1000 | + | * 990 ≤ P < 1000 : le paquet sera installé sauf si une version plus récente est déjà installée. |
- | Le paquet sera installé sauf si une version plus récente est déjà installée. | + | |
- | * 500 < P ≤ 990 | + | * 500 ≤ P < 990 : le paquet ne sera installé qu'à défaut de version plus récente installée ou disponible dans la distribution cible. |
- | Le paquet ne sera installé qu'à défaut de version plus récente installée ou | + | |
- | disponible dans la distribution cible. | + | |
- | * 100 < P ≤ 500 | + | * 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. |
- | 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 | + | * 0 < P < 100 : le paquet ne sera installé que si aucune autre version du paquet n'est installée. |
- | Le paquet ne sera installé que si aucune autre version du paquet n'est installée. | + | |
- | * P < 0 | + | * P < 0 : le paquet ne sera jamais installé. |
- | Le paquet ne sera jamais installé. | + | |
==== Configuration initiale ==== | ==== Configuration initiale ==== | ||
- | 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. | + | <note info>Cette configuration est très bien, franchement, je ne vois pas pourquoi vous voulez la changer :-)</note> |
- | Lors d'une installation, les dépôts correspondant à la branche courante prennent une priorité 990. | + | * 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. |
- | 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, les dépôts correspondant à la branche courante prennent une priorité 990. |
+ | * 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. | ||
- | On peut vérifier les priorités en utilisant la ligne de commande : | + | == exemple : == |
- | <code>apt-cache policy</code> | + | |
+ | La commande : | ||
+ | <code root>apt-get -t stretch-backports install libreoffice</code> | ||
+ | donne une priorité élevée à **toute la branche stretch-backports** le temps de l’instance d’APT. | ||
+ | |||
+ | 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. \\ | ||
+ | Merci à chalu de cette précision-ci sur le forum à ce post là : | ||
+ | * https://debian-facile.org/viewtopic.php?pid=207154#p207154 | ||
+ | |||
+ | La commande : | ||
+ | <code root>apt-get install libreoffice/stretch-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 : | ||
+ | |||
+ | [[https://debian-facile.org/viewtopic.php?id=12207 | différence install -t backports & paquet/backports]] | ||
+ | |||
+ | On peut vérifier les priorités en utilisant la ligne de commande, par exemple, si vous êtes en //stable// : | ||
+ | <code user>apt-cache policy</code> | ||
+ | |||
+ | ===== Synaptic ===== | ||
+ | |||
+ | <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> | ||
+ | |||
+ | 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. | ||
+ | |||
+ | Merci à **valmy** et **Severian** qui ont initié cette recommandation sur le forum ! :-) | ||
===== Précautions ===== | ===== Précautions ===== | ||
- | 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. Pour éviter cela, il existe une série de tests que vous pouvez faire pour tester votre configuration, et de précautions à prendre. | + | <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. |
+ | |||
+ | Pour éviter cela, il existe une série de tests que vous pouvez faire pour tester votre configuration, et de précautions à prendre.</note> | ||
==== Vérifier la configuration ==== | ==== Vérifier la configuration ==== | ||
Après avoir **créé ou modifié** votre fichier ''preferences'', la première chose à faire est dans un terminal en root : | Après avoir **créé ou modifié** votre fichier ''preferences'', la première chose à faire est dans un terminal en root : | ||
- | <code bash>aptitude update</code> | + | <code root>apt-get update</code> |
- | Vous pourrez ensuite vérifier que vos modifications ont bien été prises en | + | Puis vérifiez que vos modifications ont bien été prises en compte grâce à ''apt-cache policy''. |
- | compte avec la commande | + | |
- | + | ||
- | <code bash>apt-cache policy</code> | + | |
- | + | ||
- | 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> | + | |
+ | <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> | ||
Ligne 94: | Ligne 105: | ||
Ce fichier donne une priorité de 900 à tous les paquets de la release //stable// et une priorité de -10 aux autres (donc ils ne sont pas installés). | Ce fichier donne une priorité de 900 à tous les paquets de la release //stable// et une priorité de -10 aux autres (donc ils ne sont pas installés). | ||
- | Il est parfaitement inutile si vous n'avez que les dépôts //stable// dans votre sources.list. | + | Il est parfaitement inutile si vous n'avez que les dépôts //stable// dans votre sources.list, il permet en revanche d'éviter à tout prix l'installation de paquets //testing// ou //unstable// si vous êtes en //stable// mais avez (pour une raison que je ne veux pas connaître) tout de même envie de mettre ces dépôts dans votre sources.list. |
+ | |||
+ | On crée un fichier ''/etc/apt/preferences.d/00stable-seulement'' contenant le code suivant : | ||
- | <code> | + | <del><file apt_preferences 00stable-seulement> |
Package: * | Package: * | ||
Pin: release a=stable | Pin: release a=stable | ||
Ligne 111: | Ligne 125: | ||
Package: * | Package: * | ||
Pin: release o=Debian | Pin: release o=Debian | ||
- | Pin-Priority: -10</code> | + | Pin-Priority: -10</file> |
+ | </del> | ||
=== Stable avec suivi d'un paquet dans les Backports === | === Stable avec suivi d'un paquet dans les Backports === | ||
- | Rajouter au fichier : | + | Par exemple, pour installer la version d'//iceweasel// des backports et la maintenir à jour. |
- | <code>Package: iceweasel | + | On crée un fichier ''/etc/apt/preferences.d/90suivi-backports'' contenant le code suivant : |
- | Pin: release a=stable-backports | + | |
- | Pin-Priority: 900</code> | + | |
- | ==== Stable avec dépôt multimédia à faible priorité ==== | + | <file apt_preferences 90suivi-backports>Package: iceweasel |
+ | Pin: release a=stretch-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> | ||
- | Rajouter au fichier : | + | === Stable avec dépôt multimédia à faible priorité === |
- | <code>Package: * | + | Pour garder le dépôt multimedia à disposition, sans faire les mises à jour vers ce dépôt systématiquement. |
+ | |||
+ | On crée un fichier ''/etc/apt/preferences.d/50multimedia'' contenant le code suivant : | ||
+ | |||
+ | <code apt_preferences 50multimedia>Package: * | ||
Pin: release o=Unofficial Multimedia Packages,a=stable | Pin: release o=Unofficial Multimedia Packages,a=stable | ||
- | Pin-Priority: 400</code> | + | Pin-Priority: 100</code> |
- | ==== Testing avec Sid non-prioritaire ==== | ||
- | On suppose que vous avez comme sources quelque chose comme ça : | + | === Testing avec Sid non-prioritaire === |
- | <code>deb http://ftp.fr.debian.org/debian testing main contrib non-free | + | |
- | deb http://ftp.fr.debian.org/debian sid main contrib non-free</code> | + | |
+ | 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. | mais que vous voulez rester en //testing// autant que possible. | ||
- | Même principe que « Stable avec dépôt multimédia à faible priorité ». | + | On crée un fichier ''/etc/apt/preferences.d/40sid-et-testing'' contenant le code suivant : |
+ | <file apt_preferences 40sid-et-testing>Package: * | ||
+ | Pin: release n=sid | ||
+ | Pin-Priority: 100</file> | ||
- | ==== Sid avec suivi d'un paquet dans Experimental ==== | ||
- | Même principe que « Stable avec suivi d'un paquet dans les backports ». | + | === 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. | ||
+ | On crée un fichier ''/etc/apt/preferences.d/40firefox-sid'' contenant le code suivant : | ||
+ | <file apt_preferences 90firefox-sid> | ||
+ | Package: * | ||
+ | Pin: release n=sid | ||
+ | Pin-priority:100 | ||
- | <note info>La priorité du dépôt deb-multimedia pour experimental est à 500 par défaut. Si | + | Package: firefox |
- | vous avez ce dépôt dans votre fichier sources.list, faite donc attention à votre | + | Pin: release n=sid |
- | fichier preferences si vous ne désirez pas que tous les paquets issus de | + | Pin-Priority: 900</file> |
- | deb-multimedia passent en experimental.</note> | + | |
+ | <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 === | ||
- | ===== Fichier Preferences pour être en TESTING avec le Pinning sur Stable et | + | Par exemple, je suis en sid mais veut installer la version ''experimental'' de ''iceweasel'' tout en restant à jour. |
- | Unstable ===== | + | |
- | Package: * | + | On crée un fichier ''/etc/apt/preferences.d/40suivi-experimental'' contenant le code suivant : |
- | 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 | + | <file apt_preferences 40suivi-experimental>Package: iceweasel |
- | sécurité et wheezy-updates anciennement "volatiles" de Stable pour les paquets | + | Pin: release a=experimental |
- | communs aux deux branches</note> | + | 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> | ||
- | == Note : == | + | === Sid avec les dépôts multimedia de experimental === |
- | En **testing** et plus, vous pouvez //désactiver// les dépôts stable-backports | + | La priorité du dépôt deb-multimedia pour experimental est à 500 par défaut. Si |
- | car ils sont aussi dans la branche testing ! | + | 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. | ||
+ | On crée un fichier ''/etc/apt/preferences.d/40multimedia-experimental'' contenant le code suivant : | ||
- | ===== Fichier preferences pour être en UNSTABLE (ou : SID) avec le Pinning sur | + | <file apt_preferences 40multimedia-experimental> |
- | : Testing, Stable et Experimental ===== | + | Package: * |
+ | Pin: release o=Unofficial Multimedia Packages,a=experimental,l=Unofficial Multimedia Packages | ||
+ | Pin-Priority: 1</file> | ||
- | ==== Option #1 : ==== | + | === Les paquets particuliers === |
- | Package: * | + | La forme particulière affecte une priorité (Pin-Priority) à un paquet précis, à une version précise ou à un intervalle spécifiant plusieurs versions. \\ |
- | Pin: release o=Unofficial Multimedia Packages,a=experimental,l=Unofficial | + | 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**. : |
- | Multimedia Packages | + | |
- | Pin-Priority: 1 | + | |
- | Ce fichier preferences, bien que minimaliste, est tout à fait suffisant et peut | + | <code apt_preferences> |
- | donc être utilisé sans aucun problème.\\ | + | Package: perl |
- | //C'est d'ailleurs celui que j'utilise personnellement.// | + | Pin: version 5.8* |
+ | Pin-Priority: 1001</code> | ||
- | ==== Option #2 : ==== | + | //Merci à //**caly**// sur le chan d'avoir suscité cet ajout.// :-) |
+ | ===== Conseils et remarques ===== | ||
- | Package: * | + | <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> |
- | 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 : ==== | + | === Nommer les branches par leur nom **commun** ou leur nom **release** === |
- | Ce second fichier **preferences** pour **Sid** est pour les gens tatillons qui | + | <code apt_sources>deb http://deb.debian.org/debian/ stretch main contrib non-free</code> |
- | veulent contrôler parfaitement l'utilisation qu'ils font des dépôts/branches. | + | |
- | Ce fichier est aussi valable que le premier. | + | ''apt-cache policy'' donne une option (//n=stretch//) |
- | === Un seul bémol dedans par contre. === | + | <code>900 http://deb.debian.org/debian/ stretch/main Packages |
+ | release v=6.0.2.1,o=Debian,a=stable,n=stretch,l=Debian,c=main | ||
+ | origin deb.debian.org</code> | ||
- | Le fait d'avoir des priorités qui ne sont pas égales pour toutes les différentes | + | donc on peut rajouter dans le fichier **preferences** ce style d'interprétation : |
- | 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. | + | |
+ | <code apt_preferences> | ||
+ | Package: * | ||
+ | Pin: release a=stable | ||
+ | Pin-priority: 900 | ||
+ | Package: * | ||
+ | Pin: release n=stretch | ||
+ | Pin-priority: 900 | ||
+ | </code> | ||
- | À vous de décider le système que vous préférez dans votre PC ! | + | === Utiliser **origin** au lieu de **release** === |
- | //Ça c'est toujours Debian ça !// | + | __Une autre façon d'avoir le dépôt multimédia à faible priorité__ |
+ | Pour garder le dépôt multimédia à disposition, sans faire les mises à jour vers ce dépôt systématiquement. | ||
+ | <code apt_sources>deb http://www.deb-multimedia.org jessie main non-free</code> | ||
+ | <code apt_preferences> | ||
+ | Package: * | ||
+ | Pin: origin "www.deb-multimedia.org" | ||
+ | Pin-Priority: 100</code> | ||
- | ==== Conseils ==== | + | La dernière version de iceweasel avec buster (testing) |
+ | <code apt_sources>deb http://cdn.debian.net/debian unstable main | ||
+ | deb http://cdn.debian.net/debian experimental main</code> | ||
+ | <code apt_preferences> | ||
+ | Package: iceweasel iceweasel-l10n-fr | ||
+ | Pin: origin "cdn.debian.net" | ||
+ | Pin-Priority: 500 | ||
- | === Nommer les branches par leur nom **commun** ou leur nom **release** === | + | Package: * |
- | + | Pin: release a=experimental,n=experimental | |
- | deb http://ftp.fr.debian.org/debian/ wheezy main contrib non-free | + | Pin-Priority: 1 |
- | + | ||
- | apt-cache policy donne une 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 | + | |
- | + | ||
- | Package: * | + | |
- | Pin: release n=wheezy | + | |
- | Pin-priority: 900 | + | |
+ | Package: * | ||
+ | Pin: origin "cdn.debian.net" | ||
+ | Pin-Priority: 100</code> | ||
+ | <note warning>attention à l'ordre des commandes</note> | ||
=== Garder des priorités identiques pour les dépôts d'une même branche === | === 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 | C'est le comportement //__par défaut__// quand on n'a que les dépôts de la | ||
- | branche suivie, sans fichier **Preferences**. | + | branche suivie, sans fichier **preferences**. |
- | <note warning>Tout manquement à cette règle casse la comportement par défaut et | + | <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 | peut générer des résultats très dommageables car non prévus par les développeurs | ||
Debian.</note> | Debian.</note> | ||
Ligne 329: | Ligne 288: | ||
Pourquoi une valeur plus petite que 990 ? Parce que lorsque l'on utilise l'option **-t** ainsi : | Pourquoi une valeur plus petite que 990 ? Parce que lorsque l'on utilise l'option **-t** ainsi : | ||
- | <code bash>aptitude install -t <branche> <le_nom_du_paquet></code> | + | <code root>apt-get install -t <branche> <le_nom_du_paquet></code> |
pour installer des paquets d'une branche autre que celle suivie, celle-ci | pour installer des paquets d'une branche autre que celle suivie, celle-ci | ||
Ligne 335: | Ligne 294: | ||
__temporaire__ de **990**.\\ | __temporaire__ de **990**.\\ | ||
Donc, pour //la branche prioritaire// du fichier **preferences** | Donc, pour //la branche prioritaire// du fichier **preferences** | ||
- | avoir une priorité égale ou supérieure à 990 perturbe l'option "-t" | + | |
+ | <note important>avoir une priorité égale ou supérieure à 990 perturbe l'option "-t"</note> | ||
=== D'un point de vue pratique, === | === D'un point de vue pratique, === | ||
- | (//en débat pour le pratique ???//) | ||
Il est préférable d'utiliser des chiffres ronds, comme 900, 800, 90. Par exemple, si l'on a une priorité 620 et une priorité 630, il sera facile d'intercaler une priorité 625. | Il est préférable d'utiliser des chiffres ronds, comme 900, 800, 90. Par exemple, si l'on a une priorité 620 et une priorité 630, il sera facile d'intercaler une priorité 625. | ||
Ligne 345: | Ligne 304: | ||
<note alert>L'installation d'un paquet d'une branche **supérieure** peut nécessiter : | <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 | + | * La mise à jour de lib récentes **incompatibles** avec d'autres paquets plus anciens, qui devront également être upgradés (mis à jour...) à leur tour ! |
- | 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 | Bref, installer ou mettre à jour un paquet d'une branche supérieure peut n'être | ||
Ligne 358: | Ligne 315: | ||
testing, ou même unstable, qui impliquerait des mises à jour aussi importantes | 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. | 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. | ||
- | |||
Ligne 365: | Ligne 321: | ||
La documentation de référence sur ce fichier de configuration est disponible | La documentation de référence sur ce fichier de configuration est disponible | ||
dans la page de manuel apt_preferences, accessible par la commande : | dans la page de manuel apt_preferences, accessible par la commande : | ||
- | <code>$ man apt_preferences</code> | + | <code user>man apt_preferences</code> |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ====== /dev/random - ou presque ====== | + | |
- | + | ||
- | ==== 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.// :-) | + | |
- | + | ||
- | + | ||
- | ===== 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> | + | |
- | + |