# Gestion du fichier preferences (ébauche)

**URL:** <https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339>\
**Category:** Trucs et Astuces\
**Created:** [Février 20, 2016, 5:28 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339 "2016-02-20T17:28:38Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 5:28 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/1 "2016-02-20T17:28:38Z")

</div>

Comment utiliser le fichier preferences.

Prenons le sources.list du truc & astuces. Un  
$ apt-cache policy  
donne

> [@](#):
>
> 100 /var/lib/dpkg/status  
> release a=now  
> 500 [debian-multimedia.org](http://www.debian-multimedia.org) experimental/main Packages  
> release v=None,o=Unofficial Multimedia Packages,a=experimental,l=Unofficial Multimedia Packages,c=main  
> origin [debian-multimedia.org](http://www.debian-multimedia.org)  
> 1 [ftp.fr.debian.org](http://ftp.fr.debian.org) experimental/non-free Packages  
> release o=Debian,a=experimental,l=Debian,c=non-free  
> origin [ftp.fr.debian.org](http://ftp.fr.debian.org)  
> 1 [ftp.fr.debian.org](http://ftp.fr.debian.org) experimental/contrib Packages  
> release o=Debian,a=experimental,l=Debian,c=contrib  
> origin [ftp.fr.debian.org](http://ftp.fr.debian.org)  
> 1 [ftp.fr.debian.org](http://ftp.fr.debian.org) experimental/main Packages  
> release o=Debian,a=experimental,l=Debian,c=main  
> origin [ftp.fr.debian.org](http://ftp.fr.debian.org)  
> 500 [debian-multimedia.org](http://www.debian-multimedia.org) sid/main Packages  
> release v=None,o=Unofficial Multimedia Packages,a=unstable,l=Unofficial Multimedia Packages,c=main  
> origin [debian-multimedia.org](http://www.debian-multimedia.org)  
> 500 [ftp.fr.debian.org](http://ftp.fr.debian.org) sid/non-free Packages  
> release o=Debian,a=unstable,l=Debian,c=non-free  
> origin [ftp.fr.debian.org](http://ftp.fr.debian.org)  
> 500 [ftp.fr.debian.org](http://ftp.fr.debian.org) sid/contrib Packages  
> release o=Debian,a=unstable,l=Debian,c=contrib  
> origin [ftp.fr.debian.org](http://ftp.fr.debian.org)  
> 500 [ftp.fr.debian.org](http://ftp.fr.debian.org) sid/main Packages  
> release o=Debian,a=unstable,l=Debian,c=main  
> origin [ftp.fr.debian.org](http://ftp.fr.debian.org)  
> 500 [security.debian.org](http://security.debian.org) lenny/updates/non-free Packages  
> release v=None,o=Debian,a=testing,l=Debian-Security,c=non-free  
> origin [security.debian.org](http://security.debian.org)  
> 500 [security.debian.org](http://security.debian.org) lenny/updates/contrib Packages  
> release v=None,o=Debian,a=testing,l=Debian-Security,c=contrib  
> origin [security.debian.org](http://security.debian.org)  
> 500 [security.debian.org](http://security.debian.org) lenny/updates/main Packages  
> release v=None,o=Debian,a=testing,l=Debian-Security,c=main  
> origin [security.debian.org](http://security.debian.org)  
> 500 [debian-multimedia.org](http://www.debian-multimedia.org) lenny/main Packages  
> release v=None,o=Unofficial Multimedia Packages,a=testing,l=Unofficial Multimedia Packages,c=main  
> origin [debian-multimedia.org](http://www.debian-multimedia.org)  
> 500 [ftp.fr.debian.org](http://ftp.fr.debian.org) lenny/non-free Packages  
> release o=Debian,a=testing,l=Debian,c=non-free  
> origin [ftp.fr.debian.org](http://ftp.fr.debian.org)  
> 500 [ftp.fr.debian.org](http://ftp.fr.debian.org) lenny/contrib Packages  
> release o=Debian,a=testing,l=Debian,c=contrib  
> origin [ftp.fr.debian.org](http://ftp.fr.debian.org)  
> 500 [ftp.fr.debian.org](http://ftp.fr.debian.org) lenny/main Packages  
> release o=Debian,a=testing,l=Debian,c=main  
> origin [ftp.fr.debian.org](http://ftp.fr.debian.org)  
> 500 [ftp.ens-cachan.fr](http://ftp.ens-cachan.fr) etch/volatile/non-free Packages  
> release [o=volatile.debian.org](http://o=volatile.debian.org),a=stable,l=debian-volatile,c=non-free  
> origin [ftp.ens-cachan.fr](http://ftp.ens-cachan.fr)  
> 500 [ftp.ens-cachan.fr](http://ftp.ens-cachan.fr) etch/volatile/contrib Packages  
> release [o=volatile.debian.org](http://o=volatile.debian.org),a=stable,l=debian-volatile,c=contrib  
> origin [ftp.ens-cachan.fr](http://ftp.ens-cachan.fr)  
> 500 [security.debian.org](http://security.debian.org) etch/updates/non-free Packages  
> release v=4.0,o=Debian,a=stable,l=Debian-Security,c=non-free  
> origin [security.debian.org](http://security.debian.org)  
> 500 [security.debian.org](http://security.debian.org) etch/updates/contrib Packages  
> release v=4.0,o=Debian,a=stable,l=Debian-Security,c=contrib  
> origin [security.debian.org](http://security.debian.org)  
> 500 [security.debian.org](http://security.debian.org) etch/updates/main Packages  
> release v=4.0,o=Debian,a=stable,l=Debian-Security,c=main  
> origin [security.debian.org](http://security.debian.org)  
> 500 [debian-multimedia.org](http://www.debian-multimedia.org) etch/main Packages  
> release o=Unofficial Multimedia Packages,a=stable,l=Unofficial Multimedia Packages,c=main  
> origin [debian-multimedia.org](http://www.debian-multimedia.org)  
> 500 [ftp.fr.debian.org](http://ftp.fr.debian.org) etch/non-free Packages  
> release v=4.0r3,o=Debian,a=stable,l=Debian,c=non-free  
> origin [ftp.fr.debian.org](http://ftp.fr.debian.org)  
> 500 [ftp.fr.debian.org](http://ftp.fr.debian.org) etch/contrib Packages  
> release v=4.0r3,o=Debian,a=stable,l=Debian,c=contrib  
> origin [ftp.fr.debian.org](http://ftp.fr.debian.org)  
> 500 [ftp.fr.debian.org](http://ftp.fr.debian.org) etch/main Packages  
> release v=4.0r3,o=Debian,a=stable,l=Debian,c=main  
> origin [ftp.fr.debian.org](http://ftp.fr.debian.org)  
> 500 [boisson.homeip.net](http://boisson.homeip.net) etch/inspiron Packages  
> release o=Boisson,a=etch,l=Debian,c=inspiron  
> origin [boisson.homeip.net](http://boisson.homeip.net)  
> 500 [boisson.homeip.net](http://boisson.homeip.net) etch/exp Packages  
> release o=Boisson,a=etch,l=Debian,c=exp  
> origin [boisson.homeip.net](http://boisson.homeip.net)  
> 500 [boisson.homeip.net](http://boisson.homeip.net) etch/divers Packages  
> release o=Boisson,a=etch,l=Debian,c=divers  
> origin [boisson.homeip.net](http://boisson.homeip.net)

On constate que toutes les préférences sont à 500 sauf pour les paquets installés. Rappelons que ces préférences sont interprétés comme suit:

> [@](#):
>
> ```
> P > 1000
> Cette priorité entraîne l'installation du paquet même s'il s'agit d'un retour en arrière.
> 
> 990 < P <=1000
> La version sera installée, même si elle n'appartient pas à la distribution par défaut ; mais elle ne sera pas installée si la version installée est plus récente.
> 
> 500 < P <=990
> La version sera installée, sauf s'il existe une version appartenant à la distribution par défaut ou si la version installée est plus récente.
> 
> 100 < P <=500
> La version sera installée, sauf s'il existe une version appartenant à une autre distribution ou si la version installée est plus récente.
> 
> 0 < P <=100
> La version sera installée si aucune version du paquet n'est installée.
> 
> P < 0
> Cette priorité empêche l'installation de la version.
> 
> ```

Imaginons que on veuille faire une etch comportant éventuellement quelques nouveautés lenny ou sid. On écrirait dans le fichier preferences avec le deuxième fichier preferences du fil Trucs et Astuces (il vaut mieux utiliser le premier, cf explications sur le fil, cette version se prête mieux aux explications à cause des priorités différentes données aux dépots)

```auto
Package: *
Pin: release o=apt-build
Pin-Priority: 999

Package: *
Pin: release o=Boisson,c=divers
Pin-Priority: 995

Package: *
Pin: release o=Boisson,c=exp
Pin-Priority: 996

Package: *
Pin: release o=Boisson,c=divers
Pin-Priority: 997

Package: *
Pin: release o=volatile.debian.org,a=stable,l=debian-volatile
Pin-Priority: 989

Package: *
Pin: release o=Debian,a=stable,l=Debian-Security
Pin-Priority: 988

Package: *
Pin: release o=Unofficial Multimedia Packages,a=stable,l=Unofficial Multimedia Packages
Pin-Priority: 987

Package: *
Pin: release v=4.0*,o=Debian,a=stable,l=Debian
Pin-Priority: 986

Package: *
Pin: release o=Debian,a=testing,l=Debian-Security
Pin-Priority: 99

Package: *
Pin: release o=Unofficial Multimedia Packages,a=testing,l=Unofficial Multimedia Packages
Pin-Priority: 98

Package: *
Pin: release o=Debian,a=testing,l=Debian
Pin-Priority: 97

Package: *
Pin: release o=Unofficial Multimedia Packages,a=unstable,l=Unofficial Multimedia Packages
Pin-Priority: 96

Package: *
Pin: release o=Debian,a=unstable,l=Debian
Pin-Priority: 95

Package: *
Pin: release o=Unofficial Multimedia Packages,a=experimental,l=Unofficial Multimedia Packages
Pin-Priority: 94

Package: *
Pin: release o=Debian,a=experimental,l=Debian
Pin-Priority: 93
```

Les différents «tags» o=, c= sont issues directement de la sortie d’«apt-cache policy», ainsi

[quote] 500 [boisson.homeip.net](http://boisson.homeip.net) etch/inspiron Packages  
release o=Boisson,a=etch,l=Debian,c=inspiron  
origin [boisson.homeip.net](http://boisson.homeip.net)  
[/quote] donne bien o=Boisson et c=inspiron pour ce dépot.

On s’aperçoit que ici, le dépot apt-build (local) est prioritaire, puis que mes paquets persos seront installés avec comme priorités  
divers \> exp \> inspiron \> etch.

La distribution etch étant complète, à priori un paquet ne sera pas jamais pris dans les dépots lenny ou sid. Cela peut être ennuyeux car cela peut conduire à une impasse si par exemple ici le dépot [boisson.homeip.net](http://boisson.homeip.net) est incomplet.  
Exemple:

> [@](#):
>
> bling:/# apt-cache policy clamav  
> clamav:  
> Installé : (aucun)  
> Candidat : backport-0.92-1-rc1  
> Table de version :  
> backport-0.92-1-rc1 0  
> 995 [boisson.homeip.net](http://boisson.homeip.net) etch/divers Packages  
> 0.92.1~dfsg2-1.1 0  
> 95 [ftp.fr.debian.org](http://ftp.fr.debian.org) sid/main Packages  
> 0.92.1~dfsg2-0.1 0  
> 97 [ftp.fr.debian.org](http://ftp.fr.debian.org) lenny/main Packages  
> 0.92.1~dfsg-1volatile2 0  
> 989 [ftp.ens-cachan.fr](http://ftp.ens-cachan.fr) etch/volatile/main Packages  
> 0.91.2-4.0lenny1 0  
> 99 [security.debian.org](http://security.debian.org) lenny/updates/main Packages  
> 0.90.1dfsg-3etch11 0  
> 988 [security.debian.org](http://security.debian.org) etch/updates/main Packages  
> 0.90.1dfsg-3etch9 0  
> 986 [ftp.fr.debian.org](http://ftp.fr.debian.org) etch/main Packages  
> bling:/# apt-cache policy libclamav3  
> libclamav3:  
> Installé : (aucun)  
> Candidat : backport-0.92-1-rc1  
> Table de version :  
> backport-0.92-1-rc1 0  
> 995 [boisson.homeip.net](http://boisson.homeip.net) etch/divers Packages  
> 0.92.1~dfsg2-1.1 0  
> 95 [ftp.fr.debian.org](http://ftp.fr.debian.org) sid/main Packages  
> 0.92.1~dfsg2-0.1 0  
> 97 [ftp.fr.debian.org](http://ftp.fr.debian.org) lenny/main Packages  
> 0.92.1~dfsg-1volatile2 0  
> 989 [ftp.ens-cachan.fr](http://ftp.ens-cachan.fr) etch/volatile/main Packages  
> bling:/# apt-get install clamav  
> Lecture des listes de paquets… Fait  
> Construction de l’arbre des dépendances… Fait  
> Les paquets supplémentaires suivants seront installés :  
> clamav-base clamav-freshclam libclamav3 libgmp3c2  
> Paquets suggérés :  
> unrar lha clamav-docs  
> Paquets recommandés :  
> arj unzoo  
> Les NOUVEAUX paquets suivants seront installés :  
> clamav clamav-base clamav-freshclam libclamav3 libgmp3c2  
> 0 mis à jour, 5 nouvellement installés, 0 à enlever et 1 non mis à jour.  
> Il est nécessaire de prendre 13,7Mo dans les archives.  
> Après dépaquetage, 14,9Mo d’espace disque supplémentaires seront utilisés.  
> Souhaitez-vous continuer [O/n] ?

Là tout va bien, mais supposons que le paquet libclamav3 n’existe pas sur le dépot Boisson:

[quote]bling:/# apt-cache policy libclamav3  
libclamav3:  
Installé : (aucun)  
Candidat : 0.92.1~dfsg-1volatile2  
Table de version :  
0.92.1~dfsg2-1.1 0  
95 [ftp.fr.debian.org](http://ftp.fr.debian.org) sid/main Packages  
0.92.1~dfsg2-0.1 0  
97 [ftp.fr.debian.org](http://ftp.fr.debian.org) lenny/main Packages  
0.92.1~dfsg-1volatile2 0  
989 [ftp.ens-cachan.fr](http://ftp.ens-cachan.fr) etch/volatile/main Packages  
bling:/# apt-get install clamav  
Lecture des listes de paquets… Fait  
Construction de l’arbre des dépendances… Fait  
Certains paquets ne peuvent être installés. Ceci peut signifier  
que vous avez demandé l’impossible, ou bien, si vous utilisez  
la distribution unstable, que certains paquets n’ont pas encore  
été créés ou ne sont pas sortis d’Incoming.

Puisque vous n’avez demandé qu’une seule opération, le paquet n’est  
probablement pas installable et vous devriez envoyer un rapport de bogue.  
L’information suivante devrait vous aider à résoudre la situation :

Les paquets suivants contiennent des dépendances non satisfaites :  
clamav: Dépend: libclamav3 (\>= backport-0.92-1) mais ne sera pas installé  
E: Paquets défectueux  
bling:/#  
[/quote]On est déçu, on peut retenir que ce dépot est tenu par un être négligent et irresponsable. Il existe des solutions fiables dans le dépot backport ou lenny mais ne correspondant pas à la version de clamav devant être installé. Une solution consiste pour gérer ça à imposer l’origine du paquet clamav:

```auto
Package: clamav
Pin: release a=testing
Pin-Priority: 999

```

On obtient

> [@](#):
>
> bling:/# apt-cache policy clamav  
> clamav:  
> Installé : (aucun)  
> Candidat : 0.92.1~dfsg2-0.1  
> Étiquette de paquet : 0.92.1~dfsg2-0.1  
> Table de version :  
> backport-0.92-1-rc1 999  
> 995 [boisson.homeip.net](http://boisson.homeip.net) etch/divers Packages  
> 0.92.1~dfsg2-1.1 999  
> 95 [ftp.fr.debian.org](http://ftp.fr.debian.org) sid/main Packages  
> 0.92.1~dfsg2-0.1 999  
> 97 [ftp.fr.debian.org](http://ftp.fr.debian.org) lenny/main Packages  
> 0.92.1~dfsg-1volatile2 999  
> 989 [ftp.ens-cachan.fr](http://ftp.ens-cachan.fr) etch/volatile/main Packages  
> 0.91.2-4.0lenny1 999  
> 99 [security.debian.org](http://security.debian.org) lenny/updates/main Packages  
> 0.90.1dfsg-3etch11 999  
> 988 [security.debian.org](http://security.debian.org) etch/updates/main Packages  
> 0.90.1dfsg-3etch9 999  
> 986 [ftp.fr.debian.org](http://ftp.fr.debian.org) etch/main Packages  
> bling:/# apt-get install clamav  
> Lecture des listes de paquets… Fait  
> Construction de l’arbre des dépendances… Fait  
> Certains paquets ne peuvent être installés. Ceci peut signifier  
> que vous avez demandé l’impossible, ou bien, si vous utilisez  
> la distribution unstable, que certains paquets n’ont pas encore  
> été créés ou ne sont pas sortis d’Incoming.
> 
> Puisque vous n’avez demandé qu’une seule opération, le paquet n’est  
> probablement pas installable et vous devriez envoyer un rapport de bogue.  
> L’information suivante devrait vous aider à résoudre la situation :
> 
> Les paquets suivants contiennent des dépendances non satisfaites :  
> clamav: Dépend: libc6 (\>= 2.7-1) mais 2.3.6.ds1-13etch5 devra être installé  
> Dépend: libclamav3 (\>= 0.92.1~dfsg2) mais 0.92.1~dfsg-1volatile2 devra être installé  
> E: Paquets défectueux  
> bling:/#

On est déçu ☹. Evidemment, il y a le souci de la libc6, on peut soit se rabattre sur une autre origine (le volatile), soit essayer d’utiliser aptitude qui est plus futé qu’apt-get dans ce genre de cas:

```auto
Package: clamav
Pin: release o=volatile.debian.org,a=stable,l=debian-volatile
Pin-Priority: 999
```

Là, ça marchera bien:

> [@](#):
>
> bling:/# apt-get install clamav  
> Lecture des listes de paquets… Fait  
> Construction de l’arbre des dépendances… Fait  
> Les paquets supplémentaires suivants seront installés :  
> clamav-base clamav-data libclamav3 libgmp3c2  
> Paquets suggérés :  
> unrar lha clamav-docs  
> Paquets recommandés :  
> arj unzoo  
> Les NOUVEAUX paquets suivants seront installés :  
> clamav clamav-base clamav-data libclamav3 libgmp3c2  
> 0 mis à jour, 5 nouvellement installés, 0 à enlever et 1 non mis à jour.  
> Il est nécessaire de prendre 15,8Mo dans les archives.  
> Après dépaquetage, 17,1Mo d’espace disque supplémentaires seront utilisés.  
> Souhaitez-vous continuer [O/n] ?

À noter que dans l’exemple ci dessus, clamav-base viendra du dépot [boisson.homeip.net](http://boisson.homeip.net). Le pinning permet une bonne gestion des paquets mais cela doit être fait avec soin.

aptitude permet de se sortir de situations apparemment bloquées: Ainsi, si on reprend la situation avec clamav venant de lenny:

```auto
Package: clamav
Pin: release a=testing
Pin-Priority: 999

```

On obtient

> [@](#):
>
> bling:/# aptitude install clamav  
> Lecture des listes de paquets… Fait  
> Construction de l’arbre des dépendances… Fait  
> Initialisation de l’état des paquets… Fait  
> Lecture des descriptions de tâches… Fait  
> Construction de la base de données des étiquettes… Fait  
> Les paquets suivants sont CASSÉS :  
> clamav clamav-freshclam  
> Les NOUVEAUX paquets suivants vont être automatiquement installés :  
> arj clamav-base libgmp3c2 unzoo  
> Les paquets suivants ont été conservés :  
> tzdata  
> Les NOUVEAUX paquets suivants vont être installés :  
> arj clamav-base libgmp3c2 unzoo  
> 0 paquets mis à jour, 6 nouvellement installés, 0 à enlever et 1 non mis à jour.  
> Il est nécessaire de télécharger 14,3Mo d’archives. Après dépaquetage, 15,7Mo seront utilisés.  
> Les paquets suivants ont des dépendances non satisfaites :  
> clamav: Dépend: libc6 (\>= 2.7-1) mais 2.3.6.ds1-13etch5 est installé.  
> Dépend: libclamav3 (\>= 0.92.1~dfsg2) mais il n’est pas installable  
> clamav-freshclam: Dépend: libclamav3 (\>= backport-0.92-1) mais il n’est pas installable  
> Resolving dependencies…  
> ouverts : 63 ; fermés : 12 ; reportés : 0 ; en conflit : 1 .Les actions suivantes permettront de résoudre ces dépendances :
> 
> Installer les paquets suivants :  
> clamav-freshclam [0.92.1~dfsg-1volatile2 (stable)]  
> libclamav3 [0.92.1~dfsg2-0.1 (testing)]
> 
> Mettre à jour les paquets suivants :  
> libc6 [2.3.6.ds1-13etch5 (stable, now) -\> 2.7-10 (testing, unstable)]  
> locales [2.3.6.ds1-13etch5 (stable, now) -\> 2.7-10experimental1 (experimental)]  
> tzdata [2007j-1etch1 (stable, now) -\> 2007k-1etch1 (stable)]
> 
> Le score est de -299
> 
> Accepter cette solution ? [Y/n/q/?] n  
> Resolving dependencies…  
> Les actions suivantes permettront de résoudre ces dépendances :
> 
> Installer les paquets suivants :  
> clamav-freshclam [0.92.1~dfsg-1volatile2 (stable)]  
> libclamav3 [0.92.1~dfsg2-0.1 (testing)]
> 
> Mettre à jour les paquets suivants :  
> libc6 [2.3.6.ds1-13etch5 (stable, now) -\> 2.7-10 (testing, unstable)]  
> locales [2.3.6.ds1-13etch5 (stable, now) -\> 2.7-10experimental1 (experimental)]  
> tzdata [2007j-1etch1 (stable, now) -\> 2008b-1 (testing, unstable)]
> 
> Le score est de -339
> 
> Accepter cette solution ? [Y/n/q/?] n  
> Resolving dependencies…  
> Les actions suivantes permettront de résoudre ces dépendances :
> 
> Installer les paquets suivants :  
> clamav-freshclam [0.92.1~dfsg-1volatile2 (stable)]  
> libclamav3 [0.92.1~dfsg2-1.1 (unstable)]
> 
> Mettre à jour les paquets suivants :  
> libc6 [2.3.6.ds1-13etch5 (stable, now) -\> 2.7-10 (testing, unstable)]  
> locales [2.3.6.ds1-13etch5 (stable, now) -\> 2.7-10 (testing, unstable)]  
> tzdata [2007j-1etch1 (stable, now) -\> 2007k-1etch1 (stable)]
> 
> Le score est de -299  
> Accepter cette solution ? [Y/n/q/?] n  
> Resolving dependencies…  
> Les actions suivantes permettront de résoudre ces dépendances :
> 
> Installer les paquets suivants :  
> clamav-freshclam [0.92.1~dfsg-1volatile2 (stable)]  
> libclamav3 [0.92.1~dfsg2-1.1 (unstable)]
> 
> Mettre à jour les paquets suivants :  
> libc6 [2.3.6.ds1-13etch5 (stable, now) -\> 2.7-10 (testing, unstable)]  
> locales [2.3.6.ds1-13etch5 (stable, now) -\> 2.7-10 (testing, unstable)]  
> tzdata [2007j-1etch1 (stable, now) -\> 2008b-1 (testing, unstable)]
> 
> Le score est de -339  
> Accepter cette solution ? [Y/n/q/?] n  
> Resolving dependencies…  
> Les actions suivantes permettront de résoudre ces dépendances :
> 
> Installer les paquets suivants :  
> clamav-freshclam [0.92.1~dfsg-1volatile2 (stable)]  
> libclamav3 [0.92.1~dfsg2-0.1 (testing)]
> 
> Mettre à jour les paquets suivants :  
> libc6 [2.3.6.ds1-13etch5 (stable, now) -\> 2.7-10 (testing, unstable)]  
> locales [2.3.6.ds1-13etch5 (stable, now) -\> 2.7-10 (testing, unstable)]  
> tzdata [2007j-1etch1 (stable, now) -\> 2007k-1etch1 (stable)]
> 
> Le score est de -299
> 
> Accepter cette solution ? [Y/n/q/?]  
> …

aptitude trouve des solutions mais on peut noter ici parmi les différentes propositions une proposition d’installation de locales venant d’«experimental» (c’est une mauvaise idée sur une etch 🙂).

L’épinglage («pinning») de paquet est surtout pratique pour forcer un backport pour un paquet venant d’un site précis proposant les paquets (en nombre limité) nécessaire à ce backport. Souvent l’installation devra se faire par aptitude pluôt que apt-get car des compromis pourront être nécessaire (cf ci-dessus).

Un mauvais épinglage entraine le message paquets cassés d’apt-get qui signifie juste que vous vous êtes trompé dans l’écriture de votre sources.list. De même pour le message paquet manquant.

Rappel: Il n’y a aucun souci à utiliser apt-get et aptitude en même temps.

---

<div class="post-metadata">

**Author:** ![dimm](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/e9bcb4/32.png) [@dimm](https://www.debian-fr.org/u/dimm)\
**Post date:** [Février 20, 2016, 5:28 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/2 "2016-02-20T17:28:39Z")

</div>

Ce topic me fait rappeler que matt m’avait demandé si je pouvais écrire un tuto sur l’exploitation du fichier Release d’un dépot. C’est à dire comment indiquer les préférences avec ce fichier : [boisson.homeip.net/debian/dists/etch/Release](http://boisson.homeip.net/debian/dists/etch/Release). On pourrait le faire dans ce topic ?

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 5:28 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/3 "2016-02-20T17:28:40Z")

</div>

Ça n’est pas très simple,  
Un fichier dists/etch/borp/binary-amd64/Release

`Archive: Archive
Component: Component
Origin: Origine 
Label: Label
Architecture: amd64
`  
donne

[quote] 500 [boisson.homeip.net](http://boisson.homeip.net) etch/borp Packages  
release o=Boisson,a=etch,l=Debian,c=borp  
[/quote]  
simplement parce qu’il y a un autre fichier dists/etch/Release contenant

[quote]Origin: Boisson  
Archive: etch  
Label: Debian  
Suite: etch  
Codename: etch  
Architectures: amd64 i386  
Components: divers exp inspiron jeu lineo  
Description: Paquet divers F. Boisson  
[/quote]  
les champs peuvent se surcharger…

---

<div class="post-metadata">

**Author:** ![Morphine](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/e9bcb4/32.png) [@Morphine](https://www.debian-fr.org/u/Morphine)\
**Post date:** [Février 20, 2016, 5:46 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/4 "2016-02-20T17:46:53Z")

</div>

une question ![:smt006](https://www.debian-fr.org/uploads/default/original/1X/924eb3db8bedad6a0d333b02031d3c6a9af9d9c5.gif)

[code]Package: \*  
Pin: release o=apt-build  
Pin-Priority: 999

Package: \*  
Pin: release o=Boisson,c=divers  
Pin-Priority: 995

Package: \*  
Pin: release o=Boisson,c=exp  
Pin-Priority: 996

Package: \*  
Pin: release o=Boisson,c=divers  
Pin-Priority: 997[/code]

Toutes tes priorités sont entre 1000 et 990 et ajoutées en y retranchant 1 à chaque fois (999, 998 997…) donc d’après ton rappel :

[quote]990 \< P \<=1000  
La version sera installée, même si elle n’appartient pas à la distribution par défaut ; mais elle ne sera pas installée si la version installée est plus récente.[/quote]

Maintenant si j’ai plus de 10 dépots à rajouter avec priorité entre 1000 et 990 … je peux avoir plusieur fois la meme valeur ? si oui pourquoi ne pas mettre 999 ou autre partout ?

En espérant avoir été clair 😃

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 5:47 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/5 "2016-02-20T17:47:17Z")

</div>

Bonne question, oui tu peux mettre plusieurs fois la même valeur, j’imagine que la priorité devient l’ordre d’apparition dans ce cas…

---

<div class="post-metadata">

**Author:** ![111](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/1/0ea827/32.png) [@111](https://www.debian-fr.org/u/111)\
**Post date:** [Février 20, 2016, 5:47 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/6 "2016-02-20T17:47:17Z")

</div>

Oui, et c’est même grandement préférable selon les cas.

> [@](#):
>
> j’imagine que la priorité devient l’ordre d’apparition dans ce cas…

La préférence se fait alors en fonction du numéro de version, et pour les paquets ayant le même numéro de l’ordre des dépôts dans le sources.list

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 5:47 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/7 "2016-02-20T17:47:23Z")

</div>

Je préfère personnellement ordonner explicitement avec des prios différentes plutot que de tabler sur une propriété d’ordonnancement comme l’ordre dans le fichier qui n’existe qu’en raison de la manière dont c’est implémenté, mais qui n’est pas une propriété voulue: on ne sait jamais, le développeur peut changer de logique d’implémentation.

Sinon, … je ne sais plus si c’est toi qui m’avait suggéré de baisser les prios en dessous de 990 pour éviter de casser le fonctionnement du -t qui met une prio à 990 sur la release choisie, mais aprés expérimentation, il faut effectivement baisser les prios et il va falloir que j’ajuste mon tuto pour intègrer ça.

---

<div class="post-metadata">

**Author:** ![111](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/1/0ea827/32.png) [@111](https://www.debian-fr.org/u/111)\
**Post date:** [Février 20, 2016, 5:47 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/8 "2016-02-20T17:47:25Z")

</div>

Salut mat,

En théorie les paquets ayant le même numéro de version sont strictement les mêmes (cf Unstable/Testing), si ce n’est pas le cas c’est un problème de maintenance des dépôts/paquets et c’est surtout l’apanage des dépôts tiers. Il faut aussi garder à l’esprit que d’ « ordonner explicitement avec des prios différentes » chaque dépôts peut avoir des effets pervers (cf dépôts main/security pour Testing 😉 ).  
Je préfère pour ma part partir du principe qu’une installation standard (donc avec les dépôts standards de même priorité) ne pose aucun problème et si changer l’ordonnancement des dépôts standards d’une même branche est parfois envisageable ce n’est jamais un acte anodin et ne devrait généralement se faire que de manière ponctuelle.  
Pour les dépôts tiers le choix de leurs priorités devrait se faire au cas par cas en fonction des paquets qu’ils proposent et du comportement que l’on désir.

> [@](#):
>
> Sinon, … je ne sais plus si c’est toi qui m’avait suggéré de baisser les prios en dessous de 990 pour éviter de casser le fonctionnement du -t qui met une prio à 990 sur la release choisie, mais aprés expérimentation, il faut effectivement baisser les prios et il va falloir que j’ajuste mon tuto pour intègrer ça.

Oui 🙂

---

<div class="post-metadata">

**Author:** ![neos](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/n/ba9def/32.png) [@neos](https://www.debian-fr.org/u/neos)\
**Post date:** [Février 20, 2016, 5:51 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/9 "2016-02-20T17:51:24Z")

</div>

Salut,

en rédigeant un petit tuto, j’ai testé

# apt-get install -t testing nano

et

# apt-get install nano/testing

je pensais qu’elle faisait la même chose.  
petite particularité la deuxième permet le downgrade.  
Je précise que mes priorités sont supérieur pour sid 990, testing 980

[![](http://pix.nofrag.com/3/c/2/db06e3084297312fb94ef0a737178t.jpg)](http://pix.nofrag.com/3/c/2/db06e3084297312fb94ef0a737178.html)

---

<div class="post-metadata">

**Author:** ![yanos](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/y/a183cd/32.png) [@yanos](https://www.debian-fr.org/u/yanos)\
**Post date:** [Février 20, 2016, 6:06 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/10 "2016-02-20T18:06:04Z")

</div>

on a le droit de dire que l’on vous aime “franb, mattotop, dimm, ricardo, et pleins d’autres”?..

Vous faites vraiment vivre ce forum 😒

merci

[size=50]ps: attention à ceux qui diront que je fais de la lèche!! 👿 [/size]

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 6:06 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/11 "2016-02-20T18:06:05Z")

</div>

Faut arrèter l’extasy. ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green")

---

<div class="post-metadata">

**Author:** ![Grhim](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grhim/32/5348_2.png) [@Grhim](https://www.debian-fr.org/u/Grhim)\
**Post date:** [Février 20, 2016, 6:25 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/12 "2016-02-20T18:25:54Z")

</div>

juste une tite question :

[quote]  
500 \< P \<=990  
La version sera installée, sauf s’il existe une version appartenant à la distribution par défaut ou si la version installée est plus récente.

100 \< P \<=500  
La version sera installée, sauf s’il existe une version appartenant à une autre distribution ou si la version installée est plus récente.[/quote]

donc de 100 @ 500 = La version sera installée, sauf s’il existe une version appartenant à une autre distribution ou si la version installée est plus récente

& de 500 @ 990 = La version sera installée, sauf s’il existe une version appartenant à la distribution par défaut ou si la version installée est plus récente.

maintenant lorsque l’on choisi le chiffre 500 lequel prend t il en compte ??? le 500 de 100 @ 500 ou le 500 de 500 @ 900 … ❓❓

ps : non non ce n’est pas du trolling …c’est pour reellement comprendre 😊

---

<div class="post-metadata">

**Author:** ![111](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/1/0ea827/32.png) [@111](https://www.debian-fr.org/u/111)\
**Post date:** [Février 20, 2016, 6:25 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/13 "2016-02-20T18:25:55Z")

</div>

Salut,

> [@](#):
>
> donc de 100 @ 500 = …

Oui.

> [@](#):
>
> & de 500 @ 990 = …

Non : 500 \< P \<=990 = de 501 à 990.

En outre il faut faire attention à l’interprétation de ce tableau des priorités qui implique que l’on a bien spécifié une distribution par défaut dans /etc/apt/apt.conf ou équivalent (ex: Default-Release “stable”;). L’interprétation que fera Apt des priorités peut être légèrement différente si l’on a pas spécifié une distribution par défaut.

---

<div class="post-metadata">

**Author:** ![neos](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/n/ba9def/32.png) [@neos](https://www.debian-fr.org/u/neos)\
**Post date:** [Février 20, 2016, 8:34 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/14 "2016-02-20T20:34:19Z")

</div>

Hello,

apparement on peut mettre le nom de la branche depuis peu, j’viens de remarquer ça,  
donc ça doit être récent.  
par exemple pour une ligne ds le sources.list concernant lenny.

> [@](#):
>
> deb [ftp.fr.debian.org/debian/](http://ftp.fr.debian.org/debian/) lenny main contrib non-free

apt-cache policy donne une nouvelle option (n=lenny)

[quote]900 [ftp.fr.debian.org](http://ftp.fr.debian.org) lenny/main Packages  
release v=5.0.2,o=Debian,a=stable,n=lenny,l=Debian,c=main[/quote]  
donc on peut rajouter ds le fichier preferences ce style d’imterpretation.

[quote]Package: \*  
Pin: release n=lenny  
Pin-priority: 900[/quote]

---

<div class="post-metadata">

**Author:** ![panthere](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/5daacb/32.png) [@panthere](https://www.debian-fr.org/u/panthere)\
**Post date:** [Février 20, 2016, 9:28 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/15 "2016-02-20T21:28:22Z")

</div>

j’ai une suggestion ,il serai pratique de pouvoir rétrograder dans une version antérieur. car les mise a jours (surtout en ce moment…) peuve poser des problème assez génan alors que les version antérieur marchai très bien.

le souci ce pose alors a la chaîne des dépendances car on veux garder que certaine version.  
sa doit être possible mai je ne voit pas comment ?

---

<div class="post-metadata">

**Author:** ![youki](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/y/b9e5f3/32.png) [@youki](https://www.debian-fr.org/u/youki)\
**Post date:** [Février 20, 2016, 9:28 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/16 "2016-02-20T21:28:22Z")

</div>

[quote=“panthere”]j’ai une suggestion ,il serai pratique de pouvoir rétrograder dans une version antérieur. car les mise a jours (surtout en ce moment…) peuve poser des problème assez génan alors que les version antérieur marchai très bien.

le souci ce pose alors a la chaîne des dépendances car on veux garder que certaine version.  
sa doit être possible mai je ne voit pas comment ?[/quote]  
Si t’as les depots necessaire dans ton source.list :

```auto

```

Par exemple l’autre jour j’ai retrograde audacity de la version Sid vers la version de Lenny ainsi :

```auto

```

Apres il faut bloquer la mise a jour du paquet pour eviter qu’il ne soit remis a niveau. Il y a plusieures possibilites : aptitude hold, fichier preferences, etc…

La en l’occurence j’ai fait :

```auto

```

---

<div class="post-metadata">

**Author:** ![ricardo](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ricardo/32/3864_2.png) [@ricardo](https://www.debian-fr.org/u/ricardo)\
**Post date:** [Février 20, 2016, 9:28 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/17 "2016-02-20T21:28:24Z")

</div>

Il m’étonnerait que cette éventualité n’ait pas été soulevée dans ce fil.  
Tu es sûr d’avoir tout lu ?

---

<div class="post-metadata">

**Author:** ![panthere](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/5daacb/32.png) [@panthere](https://www.debian-fr.org/u/panthere)\
**Post date:** [Février 20, 2016, 9:28 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/18 "2016-02-20T21:28:24Z")

</div>

Ricardo,je parlait de faire un fichier de préférence pour rétrograder et aux debut du post il n’y a rien de tel(mem dans la suite) ?

Merci youki.  
mai tu croit que c est possible si un paquet a beaucoup de descendance genre dbus ?

---

<div class="post-metadata">

**Author:** ![youki](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/y/b9e5f3/32.png) [@youki](https://www.debian-fr.org/u/youki)\
**Post date:** [Février 20, 2016, 9:28 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/19 "2016-02-20T21:28:39Z")

</div>

Ce que je diasais avait deja ete evoque rapidement dans ce meme fil [ici](https://forum.debian-fr.org/viewtopic.php?p=147864#p147864) effectivement.

[quote]Merci youki.  
mai tu croit que c est possible si un paquet a beaucoup de descendance genre dbus ?[/quote]  
Ben je suis pas encore assez expert en la matiere pour affirmer quoi que ce soit, donc a ce qui suit est a prendre avec des pincettes et a verifier.

Il me semble que (mais c’est empirique, je le rappelle) :

# echo “nom\_du\_paquet hold”|dpkg --set-selections ne bloque que le paquet indique.  
# aptitude hold nom\_du\_paquet bloque le paquet et ses dependances.

Sinon, il faut mettre les paquets que tu veux bloquer dans le fichier preferences avec une priorite negative, mais j’utilise jamais cette solution donc je sais encore mons gerer les dependances dans ce cas.

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 9:28 UTC](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339/20 "2016-02-20T21:28:43Z")

</div>

> [@](#):
>
> Sinon, il faut mettre les paquets que tu veux bloquer dans le fichier preferences avec une priorite negative, mais j’utilise jamais cette solution donc je sais encore mons gerer les dependances dans ce cas.

Ça dépend. Si tu ne veux pas la version superieur tu la « pin » à -1, si tu veut plutôt garder la version actuelle tu la « pin » à 1001.

La gestion des dépendances dans ce cas ne pose pas de problèmes. apt-get/aptitude vont effectuer leur calcul de dépendances en prenant en compte le fait que cette version est à garder ou au constraire à proscrire. Prenons un paquet A positionner à 1001 et dépendant d’un paquet B. Si le paquet A indique qu’il a besoin d’une version sperieur ou égale à 1.0, alors le paquet B pourras être mis à jour sans problème.

[Page suivante](https://www.debian-fr.org/t/gestion-du-fichier-preferences-ebauche/13339.md?page=2)
