Fichier /etc/apt/preference

Dans la série, “fichiers dont je n’avais pas encore entendu parler”…

Bon, vu que je me suis foutu dans la m… avec des paquets lenny dans ma Etch, et que je voudrais revenir à ma “pure” Etch… je souhaitais utiliser le fichier “Préférences”, qu’on m’a conseillé (judicieusement) d’utiliser en me basant sur le forum “[DISCUSSION]Votre sources.list!”.

J’ai trouvé quelques informations, dont un man pages, mais y a quelques trucs qui ne sont pas très clairs.

Tout d’abord, mon sources.list, expurgé de tout ce qui n’était pas bons, et avec les lignes “lenny” que j’avais ajouté initialement (suite à une erreur de ma part : au départ c’était “sid” et non pas lenny que je voulais ajouter, et ce en rapport avec un autre sujet, peu importe…) :

#cdrom
deb cdrom:[Debian GNU/Linux 4.0 r4 Etch - Official amd64 CD Binary-1 20080727-00:22]/ etch contrib main

etch

deb ftp.fr.debian.org/debian/ etch main contrib non-free
deb-src ftp.fr.debian.org/debian/ etch main contrib non-free
deb ftp.fr.debian.org/debian/ etch main
deb-src ftp.fr.debian.org/debian/ etch main

#non free
deb ftp.fr.debian.org/debian/ stable main contrib non-free
deb-src ftp.fr.debian.org/debian/ stable main contrib non-free

#debian-multimedia
deb debian-multimedia.org etch main
deb-src debian-multimedia.org etch main

security

deb security.debian.org/ etch/updates main contrib non-free
deb-src security.debian.org/ etch/updates main contrib non-free

volatile

deb debian.ens-cachan.fr/debian-volatile etch/volatile main contrib non-free
deb-src debian.ens-cachan.fr/debian-volatile etch/volatile main contrib non-free
deb volatile.debian.org/debian-volatile etch/volatile main contrib non-free

lenny

deb ftp.fr.debian.org/debian/ lenny main contrib non-free
deb-src ftp.fr.debian.org/debian/ lenny main contrib non-free

##debian-marillat
deb debian-multimedia.org lenny main
deb-src debian-multimedia.org lenny main

#security
deb security.debian.org/ lenny/updates main contrib non-free
deb-src security.debian.org/ lenny/updates main contrib non-free

J’essaie donc de capter comment je dois configurer mon fichier de preferences pour, ensuite, faire un apt-get dist-upgrade, récupérer la bonne libc6 et tout le bastringue que j’avais installé pour moi.

Actuellemen, j’ai :

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

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

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

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

#v=4.0r4

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

Package: *
Pin: release o=volatile.debian.org,a=testing,1=debian-volatile
Pin-priority: -993

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

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

En fait, quand je lance ma commande, j’ai :
E: Enregistrement invalide dans votre fichier « préférences », aucune entrée « Package ».

N’ayant aucune erreur lorsque je fais un apt-get update (à part des “ign” : ca signifie quoi, d’ailleurs?? qu’apt s’en fout? muarf), je pense que c’est un pb de configuration au niveau du fichier préférences.

La question, c’est de savoir quoi…

  1. Tout d’abord, quelqu’un saurait-il me dire s’il faut une configuration spécifique pour chaque source indiquée dans le sources.list?

Style pour chaque ligne de type :
"deb security.debian.org/ lenny/updates main contrib non-free"
il faudra une série de lignes de type :
“Package: *
Pin: release o=Debian,a=stable,l=Debian-Security
Pin-Priority: 800”
(je prends un exemple au pif).

  1. dans ce cas, qu’est ce qui va me permettre de dire que pour tel cas, il faudra que je mette o=unofficial truc, ou 1=machin chouette? (pour “Pin release”, pas de pb lol. De même pour a=stable, testing ou unstable…, ok aussi).

Merci d’avance pour l’éclairage.

Chris

Moi je testerai un bête truc du genre :

Package: *
Pin: release a=stable
Pin-Priority: 1001

LOL j’ai essayé : ca m’a mis à jour Clamav… Et c’est tout.

Si j’essaie d’installer disons “build-essantial” que j’avais avant, y a des pb de dépendances de tous les côtés… avec les même messages qu’avant ladite tentative. Je suppose donc que ce n’est pas suffisant.

:slightly_smiling:

Salut

Un lien intéressant pour y voir plus clair : http://neos.tuxfamily.org/index.php?option=com_content&task=view&id=18&Itemid=29

[quote=“sonador”]LOL j’ai essayé : ca m’a mis à jour Clamav… Et c’est tout.

Si j’essaie d’installer disons “build-essantial” que j’avais avant, y a des pb de dépendances de tous les côtés… avec les même messages qu’avant ladite tentative. Je suppose donc que ce n’est pas suffisant.

:slightly_smiling:[/quote]

avec des apt-get upgrade ? apt-get -f install ?

rien de marche ?

Moi je ne me prends pas plus la tête que ça pour faire des régressions sur mes distribs.

Martin_mtl,

Wow, quelle trouvaille! je vais regarder ça de près. Je vais voir ce que ça donne en prenant ces sources et ce fichier préférences.

themorice : non, ce n’est pas suffisant. Tu vas upgrader des paquetages existants, alors qu’il faut supprimer les mauvais paquetage et forcer l’installation de ceux dernier à la Etch (du moins dans mon cas). Tiens, c’est le lien qu’on m’avait initialement refilé :

viewtopic.php?f=1&t=1810&st=0&sk=t&sd=a&start=374

J’avais trouvé un manpage, aussi :

sim07.net/man/francais/man5/ … nces.5.php

L’avantage avec le site que tu m’as refilé, Martin, c’est que si les sources sont tjs valables, je vais pouvoir comparer les deux.

Thx,
Chris

ok… eh bien ça ne change rien… Maintenant, pour l’instant (et pour avoir comme sur le site), j’ai :

#cdrom
deb cdrom:[Debian GNU/Linux 4.0 r4 Etch - Official amd64 CD Binary-1 20080727-00:22]/ etch contrib main

etch

deb ftp.fr.debian.org/debian/ etch main contrib non-free
deb-src ftp.fr.debian.org/debian/ etch main contrib non-free
#deb ftp.fr.debian.org/debian/ etch main
#deb-src ftp.fr.debian.org/debian/ etch main
#non free
#deb ftp.fr.debian.org/debian/ stable main contrib non-free
#deb-src ftp.fr.debian.org/debian/ stable main contrib non-free
#debian-multimedia
deb debian-multimedia.org etch main
deb-src debian-multimedia.org etch main

security

deb security.debian.org/ etch/updates main contrib non-free
deb-src security.debian.org/ etch/updates main contrib non-free

volatile

#deb debian.ens-cachan.fr/debian-volatile etch/volatile main contrib non-free
#deb-src debian.ens-cachan.fr/debian-volatile etch/volatile main contrib non-free
#deb volatile.debian.org/debian-volatile etch/volatile main contrib non-free

lenny

deb ftp.fr.debian.org/debian/ lenny main contrib non-free
deb-src ftp.fr.debian.org/debian/ lenny main contrib non-free
##debian-marillat
deb debian-multimedia.org lenny main
deb-src debian-multimedia.org lenny main
#security
deb security.debian.org/ lenny/updates main contrib non-free
deb-src security.debian.org/ lenny/updates main contrib non-free

et :

Package: *
Pin: release o=Debian,a=stable
Pin-priority: 990

Package: *
Pin: release o=Unofficial Multimedia Packages,a=stable
Pin-priority: 980

Package: *
Pin: release o=Debian,a=testing
Pin-priority: -970

Package: *
Pin: release o=Unofficial Multimedia Packages,a=testing
Pin-priority: -960

Package: *
Pin: release o=Debian,a=unstable
Pin-priority: -950

Package: *
Pin: release o=Unofficial Multimedia Packages,a=unstable
Pin-priority: -940

Package: *
Pin: release o=Debian,a=experimental
Pin-priority: -930

Package: *
Pin: release o=Unofficial Multimedia Packages,a=experimental
Pin-priority: -910

Non seulement j’ai toujours des conflits, mais la seule chose que le serveur me propose c’est d’installer un kernel 2.6.18. Ce qui n’est pas de ce que je veux.

si je vais un dpkg -p libc6, j’ai :
Monstre:/etc/apt# dpkg -p libc6
Package: libc6
Priority: required
Section: libs
Installed-Size: 11452
Maintainer: GNU Libc Maintainers debian-glibc@lists.debian.org
Architecture: amd64
Source: glibc
Version: 2.7-13
Provides: glibc-2.7-1
Depends: libgcc1
Suggests: locales, glibc-doc
Conflicts: libterm-readline-gnu-perl (<< 1.15-2), tzdata (<< 2007k-1), tzdata-etch
Size: 4931364

y a moyen de vérifier si la vesion du paquetage appartient à la lenny ou à la Etch? Je ne crois pas qu’il m’ait changer grand-chose, à dire vrai.

:frowning:

(ah oui, l’option “policy” : n’y ai pas pensé, en effet. Thanks pour le rappel!)

Ah, wait!!!

je crois que je sais :

Package: *
Pin: release o=Debian,a=stable
Pin-priority: 1001

Package: *
Pin: release o=Unofficial Multimedia Packages,a=stable
Pin-priority: 1001

Avec “1001”, il me propose une vraie retrogradation, et notamment au niveau des paquetages chiants.

Cette fois, au niveau de libc6 :

Monstre:/etc/apt# dpkg -p libc6
Package: libc6
Priority: required
Section: libs
Installed-Size: 9564
Maintainer: GNU Libc Maintainers debian-glibc@lists.debian.org
Architecture: amd64
Source: glibc
Version: 2.3.6.ds1-13etch7
Replaces: ldso (<= 1.9.11-9), timezone, timezones, gconv-modules, libtricks, netkit-rpc, netbase (<< 4.0)
Provides: glibc-2.3.6.ds1-1, glibc-2.3.6-2
Depends: tzdata
Suggests: locales, glibc-doc
Conflicts: strace (<< 4.0-0), libnss-db (<= 2.2-6.1.1), timezone, timezones, gconv-modules, libtricks, libc6-doc, netkit-rpc, wine (<< 0.0.20031118-1), cyrus-imapd (<< 1.5.19-15), e2fsprogs (<< 1.35-7), initrd-tools (<< 0.1.84.1), libterm-readline-gnu-perl (<< 1.15-2)
Size: 4183442

Ce n’est plus la même version.

Et j’ai pu installer build-essential!!!

Je crois que c’est ok, now!

Yeah!
Thx!!

Je laisse ouvert, pour l’instant - le temps de tout vérifier.

Merci encore!
(et encore une fois : quelle trouvaille, ce site!! Merci, Martin).

[quote]Merci encore!
(et encore une fois : quelle trouvaille, ce site!! Merci, Martin).[/quote]

De rien. Ce site est effectivement très utile. Il est d’ailleurs dans mes marques pages car il peut toujours servir.

Baaah tu m’étonnes : il y a aussi la procédure, détaillée, de la récupération du driver nvidia… justement le sujet que j’avais initialement ouvert, traitée et… valu la bourde qui m’a amenée à créer ce ticket-ci… Ca tombe donc très bien!

Thx,
Chris

Salut,

Quelques précisions concernant le preferences pour Stable de ce tuto :

Package: * Pin: release o=Debian,a=stable Pin-priority: 990
Une priorité de 990 (et plus) pose parfois problème dans la gestion des dépendances lors de l’installation de paquets venant d’une autre branche. Je suppose que c’est la raison pour laquelle l’exemple donné pour suivre Stable dans le man apt_preferences indique une priorité de 900.

[code]Package: *
Pin: release o=Debian,a=testing
Pin-priority: 970

Package: *
Pin: release o=Unofficial Multimedia Packages,a=testing
Pin-priority: 960 [/code]
Avec ces priorités les paquets installés à partir des ces dépôts seront « suivis », càd qu’ils seront mis à jour automatiquement à chaque fois qu’une version supérieure sera disponible dans ces dépôts. Pour passer outre et ne pas suivre les paquets installé à partir de ces dépôts il faut indiquer une priorité <= 100 (et adapter le cas échéant les priorités des dépôts se situant dans la tranche 0 à 100).

Voir aussi si tout ces dépôts te sont réellement utiles et si l’utilisation des backports ne serait pas plus judicieuse en remplacement ou en complément.

Et techniquement, en théorie, on peut mettre n’importe quelle valeur de 1 à 1001? (en fonction de ce qu’on veut faire, bien sûr)

Sans fichier préférences, il y a une configuration par défaut?

Thx,
Chris

En théorie il n’y a pas de limite, mais en pratique on peut tout faire avec des valeurs comprises entre -1 et 1001.

Sans fichier preferences et avec un sources.list complet (Stable, Testing, Unstable, Experimental) on se retrouve (en gros) en Unstable car les dépôts ont généralement une priorité fixée par défaut à 500 (sauf par ex. les dépôts Experimental qui ont une priorité fixée par défaut à 1), et à priorité égale apt installe la version la plus récente des paquets. À moins d’avoir renseigné la branche suivie dans /etc/apt/apt.conf (ou équivalent) avec l’option APT::Default-Release “stable”; qui attribut une priorité de 990 pour tout les dépôts de la branche Stable, ce qui n’est pas sans inconvénient mais peut tout à fait être envisagé en fonction de ses besoins.

oookkkkkkaaayyyy… faut que je regarde aussi pour le apt.conf, d’ailleurs : je n’en ai pas (je suppose que je dois le créer, du coup).

Merci pours les infos!

[quote="…"]Salut,

Quelques précisions concernant le preferences pour Stable de ce tuto :

Package: * Pin: release o=Debian,a=stable Pin-priority: 990
Une priorité de 990 (et plus) pose parfois problème dans la gestion des dépendances lors de l’installation de paquets venant d’une autre branche. Je suppose que c’est la raison pour laquelle l’exemple donné pour suivre Stable dans le man apt_preferences indique une priorité de 900.

[code]Package: *
Pin: release o=Debian,a=testing
Pin-priority: 970

Package: *
Pin: release o=Unofficial Multimedia Packages,a=testing
Pin-priority: 960 [/code]
Avec ces priorités les paquets installés à partir des ces dépôts seront « suivis », càd qu’ils seront mis à jour automatiquement à chaque fois qu’une version supérieure sera disponible dans ces dépôts. Pour passer outre et ne pas suivre les paquets installé à partir de ces dépôts il faut indiquer une priorité <= 100 (et adapter le cas échéant les priorités des dépôts se situant dans la tranche 0 à 100).

Voir aussi si tout ces dépôts te sont réellement utiles et si l’utilisation des backports ne serait pas plus judicieuse en remplacement ou en complément.[/quote]

Salut,

je vois pas le souci à utiliser la valeur 990, je doute qu’il y ait des problèmes de dépendances
c’est pas la valeur 900 qui va empêcher un quelconque souci,
j’ai jamais rencontré des soucis sous stable (quand je l’utilisais),

je ne vois pas non plus le souci qu’un programme installé via testing, se mettent par la suite à jour via testing.
Faut savoir ce que l’on fait, il s’agit pas de prendre un sources.list puis un preferences et de croire
que l’on peut jongler sans limites dans les différentes branches, tout dépends du programme installé,
si c’est pour sans cesse installé des paquets récents, vaut mieux installé une testing (c’est un avis)
il faut bien comprendre l’intérêt du fichier preferences, on peut très bien bloquer le programme installé, s’il on veut pas le mettre à jour,
l’option APT::Default-Release “stable”; dans apt.conf est utile lorsque l’on utilise un sources.list avec deux branches différentes, mais avec plusieurs branches le preferences est comme meme plus intéressant.

je rejoins l’idée des backports et volatile que j’incluerais ds mon tuto, à chacun de faire son choix.

Hello,

Il y a un truc qui m’intéresse particulièrement:

Sur un autre ticket, on m’a répondu : “Pour savoir sous quel origine est “marquée” un dépot qui est dans ton sources.list, tu peux le voir en faisant un apt-cache policy” (à propos de o=Debian, o=Unofficial Multimedia Package, o=winehq, etc).

Le policy me donne l’origine des paquetage, certes, mais pas sous la forme "Debian, Unofficial Multimedia Package, ou autre.

Prenons un exemple :
sh-3.1# apt-cache policy htop
htop:
Installé : 0.6.3-1
Candidaté : 0.6.3-1
Table de version :
*** 0.6.3-1 0
500 ftp.fr.debian.org etch/main Packages
500 ftp.fr.debian.org stable/main Packages
100 /var/lib/dpkg/status

En priorité, le système aura donc récupéré le paquetage sur ftp.fr.debian.org etch/main Packages, tandis que 500 et 100 représente la priorité : “apt-cache policy paquet : information sur la priorité d’un paquet”.

Par contre, et là c’est intéressant, en effet (j’ai pris en exemple un paquetage au pif, sur le site debian-multimedia) :

sh-3.1# apt-cache policy acroread
acroread:
Installé : (aucun)
Candidat : 8.1.2.su1-0.0
Table de version :
8.1.2.su1-0.0 0
500 debian-multimedia.org etch/main Packages

A partir de là, par défaut, je suppose qu’il s’agit de “o=Unofficial Multimedia Package” puisque clairement marqué comme “debian-multimédia”. Toutefois, ce que je voulais dire, c’est : y a -t-il un moyen d’avoir quelque part l’information qui nous donne la correspondance entre “Unofficial Multimedia Package” par exemple et la ligne “500 debian-multimedia.org etch/main Packages” (ou autre).

Je m’exprime autrement : Comment puis-je savoir quel est le “o=” à utiliser en fonction du résultat de la commande? Dans le cas de debian-multimedia, on sait que la correspondance est “Unofficial Multimedia Package”, par exemple. Mais, perso, je ne le sais que parce qu’on me l’a dit, pas parce que je l’aurais trouvé sur un site, ou sur un fichier dans le serveur. Comment je peux avoir ce type d’information “informatiquement” parlant, de manière propre?

(si ma question n’est pas clair… n’hésitez pas à me le faire savoir… :slightly_smiling:)

[quote=“neos”]je vois pas le souci à utiliser la valeur 990, je doute qu’il y ait des problèmes de dépendances
c’est pas la valeur 900 qui va empêcher un quelconque souci,[/quote]
Il ne devrait pas y en avoir (contrairement à une valeur > 990), mais j’ai fait des test poussés pendant plusieurs mois sur plusieurs installations et c’est ce que j’ai parfois constaté, en particulier avec les dépôts Experimental.

Il n’y en a aucun si c’est bien le comportement souhaité (encore qu’utiliser une valeur comprise entre 101 et 500 me parait plus judicieux dans ce cas). Je n’ai fait que décrire un comportement et donner une alternative. :wink:

Cela dépend des besoins… Et on peut aussi utiliser les deux conjointement.

On t’a fait une réponse correcte mais tu ne l’a pas appliquée : apt-cache policy et non apt-cache policy un_paquet

[quote=“sonador”]500 ftp.fr.debian.org etch/main Packages
500 ftp.fr.debian.org stable/main Packages[/quote]
Utiliser conjointement les dépôts Etch et Stable ne sert à rien. Il est préférable de n’en garder qu’un : Etch pour toujours rester en Etch ou Stable pour toujours rester en Stable (personnellement je te conseillerai de garder Etch).

Aaaaaah ok… je ne l’avais pas compris ainsi…

En effet :
sh-3.1# apt-cache policy
Fichiers du paquet :
100 /var/lib/dpkg/status
release a=now
500 ftp.fr.debian.org sid/non-free Packages
release o=Debian,a=unstable,l=Debian,c=non-free
origin ftp.fr.debian.org
500 ftp.fr.debian.org sid/contrib Packages
release o=Debian,a=unstable,l=Debian,c=contrib
origin ftp.fr.debian.org
500 ftp.fr.debian.org sid/main Translation-fr
500 ftp.fr.debian.org sid/main Packages
release o=Debian,a=unstable,l=Debian,c=main
origin ftp.fr.debian.org
500 volatile.debian.org etch/volatile/non-free Packages
release o=volatile.debian.org,a=stable,l=debian-volatile,c=non-free
origin volatile.debian.org
500 volatile.debian.org etch/volatile/contrib Packages
release o=volatile.debian.org,a=stable,l=debian-volatile,c=contrib
origin volatile.debian.org
500 volatile.debian.org etch/volatile/main Packages
release o=volatile.debian.org,a=stable,l=debian-volatile,c=main
origin volatile.debian.org

Ca a le mérite d’être clair!

Merci!!

salut a tous ,

donc , je lis pas mal de choses sur le fichier preference (viewtopic.php?f=8&t=5659) , j’aurais voulu avoir votre avis concernant le mien , ne voulant pas faire de betise , je prefere vous demander , nan mais :slightly_smiling:

pour la petite histoire , j’ai nstaller ma debian/knoppix a partir du live cd Mais a partir de KDE 4 qui est dispo sur la version 5.3 , apres l’install il n’est pas revenus sur kde 4 mais sur kde 3.5.8 (pas vraiment un probleme …mais )

je voulais passer de la 3.5.8 a la 3.5.9 et par la meme occasion faire une ptite mise a jour pour le kde4 en me loggans sur ce meme bureau …

si vous avez un peu de temps a m’accorder dite moi ce qu’il faudrais que je change ou s’il est bon d’origine (je pense pas !!)

je suis en Sid …

1000 thx :slightly_smiling: