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 [25/05/2013 14:43] smolski [Les exemples d'utilisation] |
doc:systeme:apt:pinning [28/03/2014 18:23] paskal [Les fichiers apt_preferences] |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
* Objet : Modifier la priorité d'installation des paquets | * Objet : Modifier la priorité d'installation des paquets | ||
- | * Niveau requis : AVISÉ (ou fou furieux) | + | * Suivi sur le forum ici : [[http://debian-facile.org/viewtopic.php?pid=61632]] |
+ | * 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.// | * 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 : | * Débutant, à savoir : | ||
- | * [[manuel:ligne_de_commande_et_commandes#gnu_linux-_les_commandes | COMMANDE LINUX DE BASE]] DEBUTANT Ecrire et commander directement à son PC | + | * [[:doc:systeme:commandes:gnu_linux|Les commandes Linux]] DEBUTANT Ecrire et commander directement à son PC |
- | * [[manuel:branches_debian | Les Branches Debian - Détail]] DEBUTANT Pour connaître l'utilité de chaque **branche**... | + | * [[:doc:systeme:apt:branches-debian | Les Branches Debian - Détail]] DEBUTANT Pour connaître l'utilité de chaque **branche**... |
- | * [[manuel:apt:sources.list | sources.list - Détail]] DEBUTANT Pour concevoir un **sources.list** au petit poil ! | + | * [[:doc:systeme:apt:sources.list | sources.list - Détail]] DEBUTANT Pour concevoir un **sources.list** au petit poil ! |
===== 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 62: | Ligne 63: | ||
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>apt-cache policy -t stable</code> | + | <code bash>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. | + | <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 ==== | ||
Ligne 90: | Ligne 93: | ||
On crée un fichier ''/etc/apt/preferences.d/00stable-seulement'' contenant le code suivant : | On crée un fichier ''/etc/apt/preferences.d/00stable-seulement'' contenant le code suivant : | ||
- | <code> | + | <file apt_preferences 00stable-seulement> |
Package: * | Package: * | ||
Pin: release a=stable | Pin: release a=stable | ||
Ligne 105: | Ligne 108: | ||
Package: * | Package: * | ||
Pin: release o=Debian | Pin: release o=Debian | ||
- | Pin-Priority: -10</code> | + | Pin-Priority: -10</file> |
Ligne 114: | Ligne 117: | ||
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 : | ||
- | <code>Package: iceweasel | + | <file apt_preferences 90suivi-backports>Package: iceweasel |
Pin: release a=stable-backports | Pin: release a=stable-backports | ||
- | Pin-Priority: 900</code> | + | Pin-Priority: 900</file> |
Ligne 125: | Ligne 128: | ||
On crée un fichier ''/etc/apt/preferences.d/50multimedia'' contenant le code suivant : | On crée un fichier ''/etc/apt/preferences.d/50multimedia'' contenant le code suivant : | ||
- | <code>Package: * | + | <code apt_preferences 50multimedia>Package: * |
Pin: release o=Unofficial Multimedia Packages,a=stable | Pin: release o=Unofficial Multimedia Packages,a=stable | ||
Pin-Priority: 100</code> | Pin-Priority: 100</code> | ||
Ligne 133: | Ligne 136: | ||
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 apt_sources>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. | ||
- | On crée un fichier ''/etc/apt/preferences.d/40sidettesting'' contenant le code suivant : | + | On crée un fichier ''/etc/apt/preferences.d/40sid-et-testing'' contenant le code suivant : |
- | <code>Package: * | + | <file apt_preferences 40sid-et-testing>Package: * |
- | Pin: release a=sid | + | Pin: release n=sid |
- | Pin-Priority: 100</code> | + | Pin-Priority: 100</file> |
Ligne 150: | Ligne 153: | ||
On crée un fichier ''/etc/apt/preferences.d/40suivi-experimental'' contenant le code suivant : | On crée un fichier ''/etc/apt/preferences.d/40suivi-experimental'' contenant le code suivant : | ||
- | <code>Package: iceweasel | + | <file apt_preferences 40suivi-experimental>Package: iceweasel |
Pin: release a=experimental | Pin: release a=experimental | ||
- | Pin-Priority: 900</code> | + | Pin-Priority: 900</file> |
Ligne 164: | Ligne 167: | ||
On crée un fichier ''/etc/apt/preferences.d/40multimedia-experimental'' contenant le code suivant : | On crée un fichier ''/etc/apt/preferences.d/40multimedia-experimental'' contenant le code suivant : | ||
- | <code> | + | <file apt_preferences 40multimedia-experimental> |
Package: * | Package: * | ||
Pin: release o=Unofficial Multimedia Packages,a=experimental,l=Unofficial Multimedia Packages | Pin: release o=Unofficial Multimedia Packages,a=experimental,l=Unofficial Multimedia Packages | ||
- | Pin-Priority: 1</code> | + | Pin-Priority: 1</file> |
=== Les paquets particuliers === | === Les paquets particuliers === | ||
Ligne 174: | Ligne 177: | ||
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**. : | 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**. : | ||
- | Package: perl | + | <code apt_preferences> |
- | Pin: version 5.8* | + | Package: perl |
- | Pin-Priority: 1001 | + | Pin: version 5.8* |
+ | Pin-Priority: 1001</code> | ||
//Merci à //**caly**// sur le chan d'avoir suscité cet ajout.// :-) | //Merci à //**caly**// sur le chan d'avoir suscité cet ajout.// :-) | ||
- | **Source :** \\ | ||
- | <code bash> | ||
- | man apt_preferences</code> | ||
===== Conseils et remarques ===== | ===== Conseils et remarques ===== | ||
Ligne 196: | Ligne 197: | ||
=== Nommer les branches par leur nom **commun** ou leur nom **release** === | === Nommer les branches par leur nom **commun** ou leur nom **release** === | ||
- | deb http://ftp.fr.debian.org/debian/ wheezy main contrib non-free | + | <code apt_sources>deb http://ftp.fr.debian.org/debian/ wheezy main contrib non-free</code> |
- | apt-cache policy donne une option (n=wheezy) | + | ''apt-cache policy'' donne une option (//n=wheezy//) |
- | 900 http://ftp.fr.debian.org/debian/ wheezy/main Packages | + | <code>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 | + | release v=6.0.2.1,o=Debian,a=stable,n=wheezy,l=Debian,c=main |
- | origin ftp.fr.debian.org | + | origin ftp.fr.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 : | ||
- | Package: * | + | <code apt_preferences> |
- | Pin: release a=stable | + | Package: * |
- | Pin-priority: 900 | + | Pin: release a=stable |
+ | Pin-priority: 900 | ||
- | Package: * | + | Package: * |
- | Pin: release n=wheezy | + | Pin: release n=wheezy |
- | Pin-priority: 900 | + | Pin-priority: 900 |
+ | </code> | ||
Ligne 234: | Ligne 237: | ||
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 bash>aptitude 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 240: | Ligne 243: | ||
__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 269: | Ligne 272: | ||
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 bash>man apt_preferences</code> |