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 [20/09/2013 16:13] smolski [Précautions] |
doc:systeme:apt:pinning [22/11/2017 15:33] chalu [Les exemples d'utilisation] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | **À tester** - captnfab | ||
- | |||
====== Les fichiers apt_preferences ====== | ====== Les fichiers apt_preferences ====== | ||
* Objet : Modifier la priorité d'installation des paquets | * Objet : Modifier la priorité d'installation des paquets | ||
- | * Suivi sur le forum ici : [[http://debian-facile.org/viewtopic.php?pid=61632]] | + | * Niveau requis : {{tag>avisé}} (ou fou furieux) |
- | * Niveau requis : 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.// | * 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... | * **Avertissement** : Attention, ce tuto, c'est le manuel de l'apprenti mauvais-administrateur-système, à utiliser avec modération... | ||
- | * Débutant, à savoir : | + | * Suivi : {{tag> à-compléter}} |
- | * [[manuel:ligne_de_commande_et_commandes#gnu_linux-_les_commandes | COMMANDE LINUX DE BASE]] DEBUTANT Ecrire et commander directement à son PC | + | * Création par [[user>captnfab]] 23/05/2013 |
- | * [[manuel:branches_debian | Les Branches Debian - Détail]] DEBUTANT Pour connaître l'utilité de chaque **branche**... | + | * Testé par [[user>Ir0nsh007er]] le 19/07/2015 |
- | * [[manuel:apt:sources.list | sources.list - Détail]] DEBUTANT Pour concevoir un **sources.list** au petit poil ! | + | * 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 55: | Ligne 51: | ||
==== Configuration initiale ==== | ==== Configuration initiale ==== | ||
- | <note info>Cette configuration est très bien, franchement, je ne vois pas pourquoi vous voulez la changer :)</note> | + | <note info>Cette configuration est très bien, franchement, je ne vois pas pourquoi vous voulez la changer :-)</note> |
* 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. | * 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. | ||
Ligne 61: | Ligne 57: | ||
* 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 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. | * Lors d'une installation en précisant la branche d'un paquet avec « /votrebranche », le paquet concerné prend une priorité 990. | ||
+ | |||
+ | == exemple : == | ||
+ | |||
+ | 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// : | On peut vérifier les priorités en utilisant la ligne de commande, par exemple, si vous êtes en //stable// : | ||
- | <code bash>apt-cache policy -t stable</code> | + | <code user>apt-cache policy</code> |
===== Précautions ===== | ===== Précautions ===== | ||
- | <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> | + | <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> |
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'' (voir ci-dessus). | ||
Ligne 116: | Ligne 134: | ||
<file apt_preferences 90suivi-backports>Package: iceweasel | <file apt_preferences 90suivi-backports>Package: iceweasel | ||
- | Pin: release a=stable-backports | + | Pin: release a=stretch-backports |
Pin-Priority: 900</file> | Pin-Priority: 900</file> | ||
Ligne 134: | Ligne 152: | ||
On suppose que vous avez comme sources quelque chose comme ça : | On suppose que vous avez comme sources quelque chose comme ça : | ||
- | <code apt_sources>deb http://ftp.fr.debian.org/debian testing main contrib non-free | + | <code apt_sources>deb http://deb.debian.org/debian testing main contrib non-free |
- | deb http://ftp.fr.debian.org/debian sid main contrib non-free</code> | + | 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. | ||
Ligne 141: | Ligne 159: | ||
<file apt_preferences 40sid-et-testing>Package: * | <file apt_preferences 40sid-et-testing>Package: * | ||
- | Pin: release a=sid | + | Pin: release n=sid |
Pin-Priority: 100</file> | Pin-Priority: 100</file> | ||
+ | |||
+ | |||
+ | === 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 a=sid | ||
+ | Pin-priority:1 | ||
+ | |||
+ | Package: firefox | ||
+ | Pin: release a=sid | ||
+ | Pin-Priority: 900</file> | ||
Ligne 184: | Ligne 217: | ||
===== Conseils et remarques ===== | ===== Conseils et remarques ===== | ||
- | === Un seul bémol dedans par contre. === | + | <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> |
- | + | ||
- | 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. | + | |
=== Nommer les branches par leur nom **commun** ou leur nom **release** === | === Nommer les branches par leur nom **commun** ou leur nom **release** === | ||
- | <code apt_sources>deb http://ftp.fr.debian.org/debian/ wheezy main contrib non-free</code> | + | <code apt_sources>deb http://deb.debian.org/debian/ stretch main contrib non-free</code> |
- | ''apt-cache policy'' donne une option (//n=wheezy//) | + | ''apt-cache policy'' donne une option (//n=stretch//) |
- | <code>900 http://ftp.fr.debian.org/debian/ wheezy/main Packages | + | <code>900 http://deb.debian.org/debian/ stretch/main Packages |
- | release v=6.0.2.1,o=Debian,a=stable,n=wheezy,l=Debian,c=main | + | release v=6.0.2.1,o=Debian,a=stable,n=stretch,l=Debian,c=main |
- | origin ftp.fr.debian.org</code> | + | origin deb.debian.org</code> |
donc on peut rajouter dans le fichier **preferences** ce style d'interprétation : | donc on peut rajouter dans le fichier **preferences** ce style d'interprétation : | ||
Ligne 211: | Ligne 237: | ||
Package: * | Package: * | ||
- | Pin: release n=wheezy | + | Pin: release n=stretch |
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 === | ||
Ligne 221: | Ligne 274: | ||
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 235: | 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 251: | 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 270: | 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 bash>man apt_preferences</code> | + | <code user>man apt_preferences</code> |