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 | ||
doc:systeme:apt:pinning [17/09/2017 18:29] nIQnutn [Introduction] |
doc:systeme:apt:pinning [30/09/2023 19:38] (Version actuelle) captnfab |
||
---|---|---|---|
Ligne 19: | 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 | + | |
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 29: | Ligne 28: | ||
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 ==== | ||
Ligne 61: | Ligne 52: | ||
La commande : | La commande : | ||
- | <code root>apt-get -t stretch-backports install libreoffice</code> | + | <code root>apt-get -t bullseye-backports install libreoffice</code> |
- | donne une priorité élevée à **toute la branche stretch-backports** le temps de l’instance d’APT. | + | donne une priorité élevée à **toute la branche bullseye-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. \\ | 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. \\ | ||
Ligne 69: | Ligne 60: | ||
La commande : | La commande : | ||
- | <code root>apt-get install libreoffice/stretch-backports</code> | + | <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. | 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. | ||
Ligne 75: | Ligne 66: | ||
[[https://debian-facile.org/viewtopic.php?id=12207 | différence install -t backports & paquet/backports]] | [[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// : | 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> | <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 ===== | ||
Ligne 93: | Ligne 92: | ||
<code root>apt-get update</code> | <code root>apt-get update</code> | ||
- | Puis vérifiez que vos modifications ont bien été prises en compte grâce à ''apt-cache'' (voir ci-dessus). | + | Puis vérifiez que vos modifications ont bien été prises en compte grâce à ''apt-cache policy''. |
<note importante>Si les résultats affichés ne vous conviennent pas, vous risquez d'avoir une mauvaise | <note importante>Si les résultats affichés ne vous conviennent pas, vous risquez d'avoir une mauvaise | ||
Ligne 100: | Ligne 99: | ||
===== Les exemples d'utilisation ===== | ===== Les exemples d'utilisation ===== | ||
- | |||
- | ==== Rester en Stable ==== | ||
- | |||
- | 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 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 : | ||
- | |||
- | <file apt_preferences 00stable-seulement> | ||
- | Package: * | ||
- | Pin: release a=stable | ||
- | Pin-Priority: 900 | ||
- | |||
- | Package: * | ||
- | Pin: release a=stable-updates | ||
- | Pin-Priority: 900 | ||
- | |||
- | Package: * | ||
- | Pin: release a=proposed-updates | ||
- | Pin-Priority: 900 | ||
- | |||
- | Package: * | ||
- | Pin: release o=Debian | ||
- | Pin-Priority: -10</file> | ||
=== Stable avec suivi d'un paquet dans les Backports === | === Stable avec suivi d'un paquet dans les Backports === | ||
- | Par exemple, pour installer la version d'//iceweasel// des backports et la maintenir à jour. | + | Par exemple, pour installer la version de //libreoffice// des backports et la maintenir à jour. |
On crée un fichier ''/etc/apt/preferences.d/90suivi-backports'' contenant le code suivant : | On crée un fichier ''/etc/apt/preferences.d/90suivi-backports'' contenant le code suivant : | ||
- | <file apt_preferences 90suivi-backports>Package: iceweasel | + | <file apt_preferences 90suivi-backports>Package: libreoffice |
- | Pin: release a=stretch-backports | + | Pin: release a=bullseye-backports |
Pin-Priority: 900</file> | 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> | |
- | + | ||
- | === 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 apt_preferences 50multimedia>Package: * | + | |
- | Pin: release o=Unofficial Multimedia Packages,a=stable | + | |
- | Pin-Priority: 100</code> | + | |
=== Testing avec Sid non-prioritaire === | === Testing avec Sid non-prioritaire === | ||
Ligne 163: | Ligne 126: | ||
- | === Sid avec suivi d'un paquet dans Experimental === | + | === 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. | ||
- | 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/40firefox-sid'' contenant le code suivant : |
- | On crée un fichier ''/etc/apt/preferences.d/40suivi-experimental'' contenant le code suivant : | + | <file apt_preferences 90firefox-sid> |
+ | Package: * | ||
+ | Pin: release n=sid | ||
+ | Pin-priority:100 | ||
- | <file apt_preferences 40suivi-experimental>Package: iceweasel | + | Package: firefox |
- | Pin: release a=experimental | + | Pin: release n=sid |
Pin-Priority: 900</file> | Pin-Priority: 900</file> | ||
+ | <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 === | ||
- | === Sid avec les dépôts multimedia de experimental === | + | Par exemple, je suis en sid mais veut installer la version ''experimental'' de ''firefox'' tout en restant à jour. |
- | La priorité du dépôt deb-multimedia pour experimental est à 500 par défaut. Si | + | On crée un fichier ''/etc/apt/preferences.d/40suivi-experimental'' contenant le code suivant : |
- | 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 : | + | <file apt_preferences 40suivi-experimental>Package: firefox |
- | + | Pin: release a=experimental | |
- | <file apt_preferences 40multimedia-experimental> | + | Pin-Priority: 900</file> |
- | Package: * | + | <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> |
- | Pin: release o=Unofficial Multimedia Packages,a=experimental,l=Unofficial Multimedia Packages | + | |
- | Pin-Priority: 1</file> | + | |
=== Les paquets particuliers === | === Les paquets particuliers === | ||
Ligne 199: | Ligne 163: | ||
//Merci à //**caly**// sur le chan d'avoir suscité cet ajout.// :-) | //Merci à //**caly**// sur le chan d'avoir suscité cet ajout.// :-) | ||
- | |||
===== Conseils et remarques ===== | ===== Conseils et remarques ===== | ||
Ligne 225: | Ligne 188: | ||
Pin-priority: 900 | Pin-priority: 900 | ||
</code> | </code> | ||
- | |||
- | === Utiliser **origin** au lieu de **release** === | ||
- | |||
- | __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> | ||
- | |||
- | 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 | ||
- | |||
- | Package: * | ||
- | Pin: release a=experimental,n=experimental | ||
- | Pin-Priority: 1 | ||
- | |||
- | 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 === |