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 Les deux révisions suivantes | ||
doc:systeme:apt:pinning [24/05/2013 00:48] captnfab du bordel, encore du bordel... |
doc:systeme:apt:pinning [24/05/2013 01:10] captnfab un peu moins de bazar |
||
---|---|---|---|
Ligne 55: | Ligne 55: | ||
==== 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 : | + | On peut vérifier les priorités en utilisant la ligne de commande, par exemple, si vous êtes en //stable// : |
- | <code>apt-cache policy</code> | + | <code>apt-cache policy -t stable</code> |
===== 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. | + | 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. |
==== Vérifier la configuration ==== | ==== Vérifier la configuration ==== | ||
Ligne 73: | Ligne 75: | ||
<code bash>aptitude update</code> | <code bash>aptitude 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'' (voir ci-dessus). |
- | 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 87: | ||
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> | <code> | ||
Ligne 112: | Ligne 107: | ||
Pin: release o=Debian | Pin: release o=Debian | ||
Pin-Priority: -10</code> | Pin-Priority: -10</code> | ||
+ | |||
=== 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. |
+ | |||
+ | On crée un fichier ''/etc/apt/preferences.d/90suivi-backports'' contenant le code suivant : | ||
<code>Package: iceweasel | <code>Package: iceweasel | ||
Ligne 121: | Ligne 119: | ||
Pin-Priority: 900</code> | Pin-Priority: 900</code> | ||
- | ==== Stable avec dépôt multimédia à faible priorité ==== | ||
- | Rajouter au fichier : | + | === Stable avec dépôt multimédia à faible priorité === |
+ | |||
+ | 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>Package: * | <code>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 ==== | + | |
+ | === Testing avec Sid non-prioritaire === | ||
On suppose que vous avez comme sources quelque chose comme ça : | On suppose que vous avez comme sources quelque chose comme ça : | ||
<code>deb http://ftp.fr.debian.org/debian testing main contrib non-free | <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> | deb http://ftp.fr.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/40sidettesting'' contenant le code suivant : |
+ | <code>Package: * | ||
+ | Pin: release a=sid | ||
+ | Pin-Priority: 100</code> | ||
- | ==== Sid avec suivi d'un paquet dans Experimental ==== | ||
- | Même principe que « Stable avec suivi d'un paquet dans les backports ». | + | === Sid avec suivi d'un paquet dans Experimental === |
+ | Par exemple, je suis en sid mais veut installer la version ''experimental'' de ''iceweasel'' tout en restant à jour. | ||
+ | On crée un fichier ''/etc/apt/preferences.d/40suivi-experimental'' contenant le code suivant : | ||
- | <note info>La priorité du dépôt deb-multimedia pour experimental est à 500 par défaut. Si | + | <code>Package: iceweasel |
- | vous avez ce dépôt dans votre fichier sources.list, faite donc attention à votre | + | Pin: release a=experimental |
- | fichier preferences si vous ne désirez pas que tous les paquets issus de | + | Pin-Priority: 900</code> |
- | deb-multimedia passent en experimental.</note> | + | |
- | ===== Fichier Preferences pour être en TESTING avec le Pinning sur Stable et | + | === Sid avec les dépôts multimedia de experimental === |
- | Unstable ===== | + | |
- | Package: * | + | La priorité du dépôt deb-multimedia pour experimental est à 500 par défaut. Si |
- | Pin: release o=Debian,a=testing,l=Debian | + | vous avez ce dépôt dans votre fichier sources.list, faite donc attention à votre |
- | Pin-Priority: 900 | + | fichier preferences si vous ne désirez pas que tous les paquets issus de |
- | + | deb-multimedia passent en experimental. | |
- | 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 | + | On crée un fichier ''/etc/apt/preferences.d/40multimedia-experimental'' contenant le code suivant : |
- | sécurité et wheezy-updates anciennement "volatiles" de Stable pour les paquets | + | |
- | communs aux deux branches</note> | + | |
- | == Note : == | + | <code> |
- | + | Package: * | |
- | En **testing** et plus, vous pouvez //désactiver// les dépôts stable-backports | + | Pin: release o=Unofficial Multimedia Packages,a=experimental,l=Unofficial Multimedia Packages |
- | car ils sont aussi dans la branche testing ! | + | Pin-Priority: 1</code> |
- | + | ||
- | + | ||
- | ===== 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. | + | ===== Conseils et remarques ===== |
=== Un seul bémol dedans par contre. === | === Un seul bémol dedans par contre. === | ||
Ligne 280: | Ligne 181: | ||
* de temps à arriver. | * de temps à arriver. | ||
- | |||
- | |||
- | À vous de décider le système que vous préférez dans votre PC ! | ||
- | |||
- | //Ça c'est toujours Debian ça !// | ||
- | |||
- | |||
- | ==== Conseils ==== | ||
=== Nommer les branches par leur nom **commun** ou leur nom **release** === | === Nommer les branches par leur nom **commun** ou leur nom **release** === | ||
Ligne 358: | Ligne 251: | ||
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 366: | Ligne 258: | ||
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>$ 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> | ||
- | |||
- |