Aptitude : résolution dépendances = long

J’ai bien du mal avec ce satané fichier preferences. Je vois à quoi il sert mais comprendre ce qui y est inscrit…
Sachant que j’ai (entre autres) dans mon sources.list

[code]## squeeze multimedia
deb http://mirror.home-dn.net/debian-multimedia squeeze main
deb-src http://mirror.home-dn.net/debian-multimedia squeeze main

wheezy multimedia

deb http://mirror.home-dn.net/debian-multimedia wheezy main
deb-src http://mirror.home-dn.net/debian-multimedia wheezy main

sid multimedia

deb http://mirror.home-dn.net/debian-multimedia sid main
deb-src http://mirror.home-dn.net/debian-multimedia sid main

experimental multimedia

deb http://mirror.home-dn.net/debian-multimedia experimental main

deb-src http://mirror.home-dn.net/debian-multimedia experimental main[/code]

est-ce que les préférences suivantes suffisent à privilégier les paquets officiels par rapport à ceux des dépôts multimedia ?

[code]Package: *
Pin: release o=Unofficial Multimedia Packages,a=testing,l=Unofficial Multimedia Packages
Pin-Priority: -10

Package: *
Pin: release o=Unofficial Multimedia Packages,a=unstable,l=Unofficial Multimedia Packages
Pin-Priority: -10[/code]

@ Wetaskiwin:
Dans ton cas, je me demande comment tu peux installer qqchose en provenance de multimedia.
Je balance mes fichiers si ça peut t’inspirer.

[code]# Debian
deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
deb http://ftp.fr.debian.org/debian/ unstable main contrib non-free

deb-src http://ftp.fr.debian.org/debian/ squeeze main

Multimedia

deb http://debian-multimedia.org/ squeeze main

Security

deb http://security.debian.org/ squeeze/updates main contrib non-free

deb-src http://security.debian.org/ squeeze/updates main contrib[/code]

[code]Package: *
Pin: release o=Debian,a=stable
Pin-priority: 550

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

Package: *
Pin: release o=Debian,a=unstable
Pin-priority: 130[/code]

Je dis pas que c’est la solution. Je me suis fait ça à partir de linux.die.net/man/5/apt_preferences (la section “How Apt Interprets Priorities”). C’est super simple, il y a des tranches de priorité. Tu mets les dépôts dans la tranche en fonction du comportement souhaité.

[quote=“silver.sax”]@ Wetaskiwin:
Dans ton cas, je me demande comment tu peux installer qqchose en provenance de multimedia.[/quote]

Tu m’étonne… -10!

Extrait du Wiki:

[code]Ligne Pin-Priority

C’est sur cette ligne qu’est indiquée la priorité du paquet ou groupe de paquets. Elle doit être un entier positif ou négatif. Ces priorités sont interprétés à peu prè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.
[/code]

Je sais : -10, ça ne fait pas beaucoup. :smiley:

Sans fichier preferences et avec un sources.list complet (squeeze, wheezy, sid et experimental / main, contrib et non-free pour les 3 sauf multimedia), tout est à 500 sauf experimental qui est à 1 par défaut.

Partant de là et puisque le -10 semble vous faire bondir (ou sourire), est-ce que 400, par exemple, me permettrait d’installer en priorité les paquets officiels et, s’il n’en existe pas, ceux de multimedia ? Ce cas-là :

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.

@ lol Je lu et relu le wiki à propos des préférences mais y’a rien à faire, ça veut pas rentrer dans ma p’tite tête. L’exemple concret des paquets officiels que je voudrais préférer à ceux de multimedia m’aidera peut-être à y voir plus clair.

Re,
Du moment que tu es dans la tranche inférieure aux dépôts officiels, c’est bon (on croirait entendre un inspecteur des impôts… :mrgreen: ).

Pas bondir et à peine sourire; Je ne pas là pour enfoncer qui que ce soit (surtout que techniquement je ne vole pas très haut…). :wink:

@ Wetas :
Je ne sais pas si c’est bien catholique ce que je fais mais ça a l’aire de fonctionner et c’est à peu près ce que préconise Syam :
Ordre de priorité élevé (chez moi = 995) pour les dépôts qu’on préfère (chez moi = Sid)
ensuite, en descendant les priorité de 5 ou de 10 ou de 50 (m’en fous un peu), je note les dépôts "stable"
les dépôt “multimedia” sont plus bas que le plus bas des “stable” , même dans la portion Sid.

Ta réponse et celle de silver.sax m’ont fait sourire, en tout cas. J’ai eu l’impression d’être une extrêmiste de je ne sais quoi avec cette priorité à -10 trouvée je ne sais plus où et à laquelle je n’avais rien compris. :smiley:
Moralité : j’aurais dû chercher davantage. :doh:

Comme apt-cache policy me répond “tout à 500 sauf experimental”, je vais adopter 400 pour les dépôts multimedia en croyant enfin avoir compris ce que je vais faire. C’est pas trop tôt. :115

[quote=“ricardo”]Je ne sais pas si c’est bien catholique ce que je fais mais ça a l’aire de fonctionner et c’est à peu près ce que préconise Syam :
Ordre de priorité élevé (chez moi = 995) pour les dépôts qu’on préfère (chez moi = Sid) ensuite, en descendant les priorité de 5 ou de 10 ou de 50 (m’en fous un peu), je note les dépôts “stable” les dépôt “multimedia” sont plus bas que le plus bas des “stable” , même dans la portion Sid.[/quote]
Ça va être l’occasion de réviser. :wink:
Avec un sources.list complet, aptitude installe la version du paquet la plus récente, quel que soit l’ordre dans lequel tu as indiqué les dépôts. Pour une Sid pur jus, je n’avais donc pas de fichier preferences. Ce n’est qu’après avoir lu que les paquets présents à la fois dans les dépôts officiels et dans ceux de multimedia pouvaient créer des conflits que j’ai cherché une solution. En ne prenant pas la bonne. :mrgreen: Je ne me sens pas capable de gérer une Debian testing avec des injections de Sid, comme le fait Syam.

Ce fichier preferences va finir par user tous nos claviers :
http://www.debian-fr.org/question-concernant-le-fichier-preferences-t19298.html

Une extrémiste de la priorité, oui! :005

Ça avait donné lieu à des discussions enflammées au sujet du sources.list “au carré” (qui ne l’était plus, carré…) du forum.
Il a fallut le modifier (d’ou la page sur le Wiki aussi…)

Finalement, c’est pas si compliqué; Il suffit de l’adapter a ses besoins et vérifier le résultat avec apt-cache policy.

Pas si compliqué… faut voir. :slightly_smiling:
Je n’en suis pas encore au mixage de branches et relire tout le sujet sur le sources.list au carré ou minimaliste me toujours le vertige. :033

Tu mets ta branche principale à 500+ et le reste (autres branches, multimedia) entre 100 et 500 par ordre de priorité. Fini!

Même pas besoin : ta branche principale est déjà à une priorité de 500. Il suffit de mettre une priorité de 400 à tous les dépôts tiers que tu y ajoutes, et ça marche !

Un exemple simple qui ira piocher dans les dépôts debian-multimedia uniquement pour les paquets n’existant pas dans les dépôts officiels :

[quote=“sources.list”]# Squeeze

deb ftp2.fr.debian.org/debian/ squeeze main non-free
deb ftp2.fr.debian.org/debian/ squeeze-updates main non-free

deb security.debian.org/ squeeze/updates main non-free

Squeeze - Unofficial Multimedia Packages

deb debian-multimedia.tryphon.eu/ squeeze main[/quote]

[quote=“preferences”]Package: *
Pin: release o=Unofficial Multimedia Packages
Pin-Priority: 400[/quote]

La seule ligne qui peut à la limite poser problème est la ligne Pin du preferences : le plus simple est d’y entrer simplement “Pin: origin adresse-du-serveur/de/paquets/”.

PS : En fait je pense que ce qui est vraiment compliqué dans la gestion du fichier preferences est de choisir quelle méthode suivre… Chacun utilise une méthode différente et fonctionnelle, et ça doit être une véritable galère pour quelqu’un qui découvre ce fichier de se retrouver dans cette jungle de solutions toutes efficaces !

PPS : L’astuce pour éviter de finir avec un mélange de versions et des dépendances emmellées est d’utiliser le moins possible de priorités différentes.

[quote=“preferences”]Package: *
Pin: release o=Unofficial Multimedia Packages,a=stable,l=Unofficial Multimedia Packages
Pin-Priority: 400[/quote]
Comme ça, tous les paquets stables (variable a) des dépôts multimedia (variable o) ont une priorité de 400. Je ne sais pas trop à quoi sert la variable l mais je la laisse quand même, au cas où.

La même chose pour testing et unstable, afin de coller à mon sources.list. Vérification via apt-cache policy : experimental reste à 1, j’ai mes 3 lignes de priorité 400 (les lignes de dépôts experimental pour multimedia sont commentées) et tout le reste à 500. Ça roule. :smiley:

Ce n’est pas la documentation qui manque pour le fichier preferences mais il permet tellement de choses que ce n’est pas toujours évident de comprendre ce qu’il faut faire pour un cas très simple et sans mélange de branches, surtout !

:006

juste je mets mon grain de sel pour rappeler que le man de apt_preferences est très complet et compréhensible, même pour une quiche comme moi…
weta vas y faire un tour, si ce n’est déjà fait.
tchuss :wink: