Re: pinning et apt-cache policy

2016-07-25 Par sujet Francois Lafont
Salut,

Désolé, je n'ai pas lu attentivement tout le fil de discussion,
simplement je voulais indiquer que je me suis heurté moi-même à ces
histoires de pinnings sous Jessie et que j'avais lancé aussi un fil
de discussion ici :

https://lists.debian.org/debian-user-french/2016/03/msg00191.html

Perso, je voulais faire du pinning précisément sur « tous les paquets
issus d'un dépôt en particulier et dont le numéro de version matchait
un truc du genre 9.2.1-* ». Et bien je n'ai jamais réussi. ;)

Si jamais tu arrives à quelque chose et bien ça m'intéresse. Dans le
fil de discussion (si jamais tu as le courage de le lire), tu verras que
j'en arrive plus ou moins à la conclusion que la version de APT sous
Jessie est un peu boguée au niveau du pinning et que même avec une
version plus récente de APT je n'ai pas réussi à faire ce que je voulais.

Bon courage. ;)

-- 
François Lafont



Re: pinning et apt-cache policy

2016-07-22 Par sujet Daniel Caillibaud
Le 22/07/16 à 20:44, Vincent Bernat  a écrit :

VB>  ❦ 22 juillet 2016 14:18 CEST, Daniel Caillibaud  :
VB> > Ok, donc avec du
VB> >
VB> >  X
VB> >   Y http://origin… 
VB> >
VB> > Y est la priorité du dépôt, et X la priorité épinglée, c'est la plus 
élevée qui compte ou
VB> > seulement X ?
VB> 
VB> Seulement X.

Merci (en fait apparemment X s'il est >0, sinon Y)

VB> > Package: nginx*
VB> > Pin: release o=nginx
VB> > Pin-Priority: 700
VB> >
VB> > ça donne
VB> >
VB> > nginx:
VB> >   Installé : (aucun)
VB> >   Candidat : 1.10.1-1~jessie
VB> >   Épinglage de paquet : 1.10.1-1~jessie
VB> >  Table de version :
VB> >  1.10.1-1~jessie 700
VB> > 200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
VB> >  1.10.0-1~jessie 700
VB> > 200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
VB> >  1.8.1-1~jessie 700
VB> > 200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
VB> >  1.8.0-1~jessie 700
VB> > 200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
VB> >  1.6.2-5+deb8u1 700
VB> > 500 http://http.debian.net/debian/ jessie/main amd64 Packages
VB> >
VB> >
VB> > Donc j'ai l'impression que c'est uniquement le n° de version qui compte 
car tout le monde
VB> > est à 700, et je pige pas trop pourquoi le paquet debian officiel se 
retrouve avec
VB> >  1.6.2-5+deb8u1 700
VB> > car je pensais que le "o=nginx" de l'épingle à 700 le laisserait de coté, 
avec la
VB> > priorité de son dépôt
VB> 
VB> Par le passé, le globbing était un peu bizarre (ou ne marchait pas, il
VB> fallait juste mettre "*" ou le nom exact du paquet). La page de manuel
VB> ne donne pas d'indice. histoire de voir si c'est un problème de
VB> globbing, que se passe-t'il si tu mets "Package: *" à la place de
VB> "Package: nginx*" ?

Pareil !!!

Mais plus surprenant, si je met 

Package: nginx
Pin: release o=nginx
Pin-Priority: 700

ça donne toujours

nginx:
  Installé : (aucun)
  Candidat : 1.10.1-1~jessie
  Épinglage de paquet : 1.10.1-1~jessie
 Table de version :
 1.10.1-1~jessie 700
200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.10.0-1~jessie 700
200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.8.1-1~jessie 700
200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.8.0-1~jessie 700
200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.6.2-5+deb8u1 700
500 http://http.debian.net/debian/ jessie/main amd64 Packages

et avec
Package: nginx-dbg

nginx:
  Installé : (aucun)
  Candidat : 1.6.2-5+deb8u1
 Table de version :
 1.10.1-1~jessie 0
200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.10.0-1~jessie 0
200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.8.1-1~jessie 0
200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.8.0-1~jessie 0
200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.6.2-5+deb8u1 0
500 http://http.debian.net/debian/ jessie/main amd64 Packages

nginx-dbg:
  Installé : (aucun)
  Candidat : 1.10.1-1~jessie
  Épinglage de paquet : 1.10.1-1~jessie
 Table de version :
 1.10.1-1~jessie 700
200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.10.0-1~jessie 700
200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.8.1-1~jessie 700
200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.8.0-1~jessie 700
200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages

Bizarre non ?
Pourtant j'utilisais pas mal ce genre de conf sous squeeze (avec dotdeb) et ça 
marchait bien
(de mémoire, et d'après mes notes de l'époque), je l'avais plus utilisé depuis 
car plus besoin.

Si je vire les prefs par paquets pour ne laisser que celles par dépôt (en 
mettant une priorité
plus faible aux dépôts tiers), et que j'installe les paquets externes à debian 
en précisant
explicitement leur version la première fois, il va suivre les montées de 
version des dépôts
tiers ?

-- 
Daniel

(écrit dans le livre d'or de plusieurs restaurants parisiens)
Je m'ai bien régaler. signe: Marguerite Duras
Pierre Desproges.


pgpfUhqxSWp3S.pgp
Description: OpenPGP digital signature


Re: pinning et apt-cache policy

2016-07-22 Par sujet Vincent Bernat
 ❦ 22 juillet 2016 14:18 CEST, Daniel Caillibaud  :

> VB> > [2] - pourquoi ils sont tous en 990 ?
> VB> > - que signifie le 800 de "1.10.1-1~jessie 800"
> VB> 
> VB> C'est la priorité calculée. Les autres priorités sont celles des
> VB> dépôts. Si tu épinges des paquets comme ici, les deux sont différentes.
>
> Ok, donc avec du
>
>  X
>   Y http://origin… 
>
> Y est la priorité du dépôt, et X la priorité épinglée, c'est la plus élevée 
> qui compte ou
> seulement X ?

Seulement X.

> Package: nginx*
> Pin: release o=nginx
> Pin-Priority: 700
>
> ça donne
>
> nginx:
>   Installé : (aucun)
>   Candidat : 1.10.1-1~jessie
>   Épinglage de paquet : 1.10.1-1~jessie
>  Table de version :
>  1.10.1-1~jessie 700
> 200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
>  1.10.0-1~jessie 700
> 200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
>  1.8.1-1~jessie 700
> 200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
>  1.8.0-1~jessie 700
> 200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
>  1.6.2-5+deb8u1 700
> 500 http://http.debian.net/debian/ jessie/main amd64 Packages
>
>
> Donc j'ai l'impression que c'est uniquement le n° de version qui compte car 
> tout le monde est à 700,
> et je pige pas trop pourquoi le paquet debian officiel se retrouve avec
>  1.6.2-5+deb8u1 700
> car je pensais que le "o=nginx" de l'épingle à 700 le laisserait de coté, 
> avec la priorité de son dépôt

Par le passé, le globbing était un peu bizarre (ou ne marchait pas, il
fallait juste mettre "*" ou le nom exact du paquet). La page de manuel
ne donne pas d'indice. histoire de voir si c'est un problème de
globbing, que se passe-t'il si tu mets "Package: *" à la place de
"Package: nginx*" ?
-- 
Don't diddle code to make it faster - find a better algorithm.
- The Elements of Programming Style (Kernighan & Plauger)


signature.asc
Description: PGP signature


Re: pinning et apt-cache policy

2016-07-22 Par sujet Daniel Caillibaud
Le 21/07/16 à 22:53, Vincent Bernat  a écrit :
Merci pour toutes ces précisions.

VB> > [2] - pourquoi ils sont tous en 990 ?
VB> > - que signifie le 800 de "1.10.1-1~jessie 800"
VB> 
VB> C'est la priorité calculée. Les autres priorités sont celles des
VB> dépôts. Si tu épinges des paquets comme ici, les deux sont différentes.

Ok, donc avec du

 X
  Y http://origin… 

Y est la priorité du dépôt, et X la priorité épinglée, c'est la plus élevée qui 
compte ou
seulement X ?

Parce qu'en modifiant comme tu l'indiquais, avec en préférences

Package: *
Pin: release n=jessie-backports
Pin-Priority: 300

Package: *
Pin: release o=nginx
Pin-Priority: 200 
  
# On a un noyau 4.6 et btrfs from backport (linux-image-4.6.0-0.bpo.1-amd64)
Package: btrfs-progs dmidecode e2fslibs e2fsprogs irqbalance lxc smartmontools 
unbound unbound-host 
Pin: release n=jessie-backports
Pin-Priority: 600
  
Package: nginx*
Pin: release o=nginx
Pin-Priority: 700

ça donne

nginx:
  Installé : (aucun)
  Candidat : 1.10.1-1~jessie
  Épinglage de paquet : 1.10.1-1~jessie
 Table de version :
 1.10.1-1~jessie 700
200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.10.0-1~jessie 700
200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.8.1-1~jessie 700
200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.8.0-1~jessie 700
200 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.6.2-5+deb8u1 700
500 http://http.debian.net/debian/ jessie/main amd64 Packages


Donc j'ai l'impression que c'est uniquement le n° de version qui compte car 
tout le monde est à 700,
et je pige pas trop pourquoi le paquet debian officiel se retrouve avec
 1.6.2-5+deb8u1 700
car je pensais que le "o=nginx" de l'épingle à 700 le laisserait de coté, avec 
la priorité de son dépôt

-- 
Daniel

Plus on avance dans la vie, plus on est obligé d'admettre que le sel
de l'existence est essentiellement dans le poivre qu'on y met.
Alphonse Allais


pgpsPskRYRo6w.pgp
Description: OpenPGP digital signature


Re: pinning et apt-cache policy

2016-07-21 Par sujet Vincent Bernat
 ❦ 21 juillet 2016 11:00 CEST, Daniel Caillibaud  :

> - dans /etc/apt/apt.conf.d/
>
> APT::Default-Release "jessie";

À retirer, cela monte la priorité de jessie à 990. Utile uniquement si
on mélange des releases et qu'on ne veut pas jouer avec les préférences.

> - dans /etc/apt/preferences.d/00default
>
> Package: *
> Pin: release o=Debian,n=jessie,l=Debian-Security
> Pin-Priority: 980
>
> Package: *
> Pin: release o=Debian,a=stable-updates,l=Debian
> Pin-Priority: 520
>
> Package: *
> Pin: release o=Debian,a=proposed-updates,l=Debian
> Pin-Priority: 510
>
> Package: *
> Pin: release n=jessie
> Pin-Priority: 500

Tout ça est inutile. Toutes ces suites sont compatibles entre elles et
le numéro de version suffit à lui seul.

> Package: *
> Pin: release n=jessie-backports
> Pin-Priority: 300
>
> Package: *
> Pin: release o=nginx
> Pin-Priority: 200

OK.

> - dans /etc/apt/preferences.d/20_nginx
>
> Package: nginx*
> #Pin: origin "nginx.org" # => Type d'épinglage origin "nginx.org" inconnu
> Pin: release o=nginx
> Pin-Priority: 800

À noter que si tu conserves 980 pour Debian-Security, il ne t'est plus
possible d'installer nginx depuis ce dépôt. Raison de plus de ne pas
traiter security différemment.

> [1] Pourquoi http://nginx.org/packages/debian/ se retrouve en 990 ? Ils 
> publient
> avec du "l=Debian-Security" ?

Tous les n=jessie en raison du Default-Release.

> [2] - pourquoi ils sont tous en 990 ?
> - que signifie le 800 de "1.10.1-1~jessie 800"

C'est la priorité calculée. Les autres priorités sont celles des
dépôts. Si tu épinges des paquets comme ici, les deux sont différentes.
-- 
Extreme fear can neither fight nor fly.
-- William Shakespeare, "The Rape of Lucrece"


signature.asc
Description: PGP signature


pinning et apt-cache policy

2016-07-21 Par sujet Daniel Caillibaud
Bonjour,

Sur une jessie, j'utilise les dépôts standards avec également jessie-backport 
et nginx.org
(pour avoir une version récente avec http/2)

J'ai lu man apt_preferences, https://debian-facile.org/doc:systeme:apt:pinning 
et
https://wiki.debian.org/AptPreferences#A.2Fetc.2Fapt.2Fpreferences mais pas 
trouvé comment
prioriser les paquets nginx dans ce dépôt

J'ai 

- dans /etc/apt/apt.conf.d/

APT::Default-Release "jessie";


- dans /etc/apt/preferences.d/00default

Package: *
Pin: release o=Debian,n=jessie,l=Debian-Security
Pin-Priority: 980

Package: *
Pin: release o=Debian,a=stable-updates,l=Debian
Pin-Priority: 520

Package: *
Pin: release o=Debian,a=proposed-updates,l=Debian
Pin-Priority: 510

Package: *
Pin: release n=jessie
Pin-Priority: 500

Package: *
Pin: release n=jessie-backports
Pin-Priority: 300

Package: *
Pin: release o=nginx
Pin-Priority: 200


- dans /etc/apt/preferences.d/20_nginx

Package: nginx*
#Pin: origin "nginx.org" # => Type d'épinglage origin "nginx.org" inconnu
Pin: release o=nginx
Pin-Priority: 800

Et je comprends pas la sortie de [1]

apt-cache policy

Fichiers du paquet :
 100 /var/lib/dpkg/status
 release a=now
 990 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 release v=8.0,o=nginx,a=stable,n=jessie,l=nginx,c=nginx
 origin nginx.org
 500 file:/var/cache/apt-build/repository/ apt-build/main amd64 Packages
 release o=apt-build,a=apt-build,l=apt-build,c=main
 500 http://http.debian.net/debian/ jessie/main Translation-fr
 500 http://http.debian.net/debian/ jessie/main Translation-en
 990 http://http.debian.net/debian/ jessie/main amd64 Packages
 release v=8.5,o=Debian,a=stable,n=jessie,l=Debian,c=main
 origin http.debian.net
Paquets épinglés :
 nginx-extras -> (non trouvé)
 nginx-doc -> (non trouvé)
 nginx-module-image-filter -> 1.10.1-1~jessie
 nginx-extras-dbg -> (non trouvé)
 nginx-debug -> 1.8.0-1~jessie
 nginx-full-dbg -> (non trouvé)
 nginx-module-geoip -> 1.10.1-1~jessie
 nginx-light-dbg -> (non trouvé)
 nginx-nr-agent -> 2.0.0-8
 nginx-module-njs -> 1.10.1.0.0.20160414.1c50334fbea6-1~jessie
 nginx-module-perl -> 1.10.1-1~jessie
 nginx-common -> (non trouvé)
 nginx -> 1.10.1-1~jessie
 nginx-dbg -> 1.10.1-1~jessie
 nginx-light -> (non trouvé)
 nginx-full -> (non trouvé)
 nginx-module-xslt -> 1.10.1-1~jessie

ni apt-cache policy nginx [2]
nginx:
  Installé : 1.6.2-5+deb8u1
  Candidat : 1.10.1-1~jessie
  Épinglage de paquet : 1.10.1-1~jessie
 Table de version :
 1.10.1-1~jessie 800
990 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.10.0-1~jessie 800
990 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.8.1-1~jessie 800
990 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 1.8.0-1~jessie 800
990 http://nginx.org/packages/debian/ jessie/nginx amd64 Packages
 *** 1.6.2-5+deb8u1 800
990 http://http.debian.net/debian/ jessie/main amd64 Packages
100 /var/lib/dpkg/status


[1] Pourquoi http://nginx.org/packages/debian/ se retrouve en 990 ? Ils publient
avec du "l=Debian-Security" ?

[2] - pourquoi ils sont tous en 990 ?
- que signifie le 800 de "1.10.1-1~jessie 800"

Merci

-- 
Daniel

L'argent aide a supporter la pauvreté.
Alphonse Allais