OVH Cloud OVH Cloud

Questions sur le pinning de packages

14 réponses
Avatar
Francois Lafont
Bonjour à tous,

Ceci est un message que j'ai posté sur fr.comp.os.linux.conf il
y a une quinzaine de jour mais comme je n'ai pas eu de réponse
je tente ici.

J'ai deux questions sur les préférences APT et le pinning.

1) Voici un fichier de préférence APT sur un Ubuntu Trusty (désolé,
c'est la liste debian ici mais ça pourrait être une Debian Jessie
ça serait la même chose car le sujet ici uniquement est le pinning
et APT) :

~# cat /etc/apt/preferences.d/ceph.pref
Explanation: To ensure the version of the ceph package.
Package: ceph
Pin: version 9.2.1-*
Pin-Priority: 990

Dans mon esprit, ce fichier est censé donner un priorité 990 (donc
une priorité assez haute) au paquet "ceph" _dans_ sa version « 9.2.1-* »
et _uniquement_ dans cette version là.

C'est en tout cas ce que je pensais mais je constate que la commande
suivante ne me confirme pas cela (au contraire même) :

~# apt-cache policy ceph
ceph:
Installed: 9.2.1-1trusty
Candidate: 9.2.1-1trusty
Package pin: 9.2.1-1trusty
Version table:
*** 9.2.1-1trusty 990
500 http://ceph.com/debian-infernalis/ trusty/main amd64 Packages
100 /var/lib/dpkg/status
0.80.11-0ubuntu1.14.04.1 990 <=================================================== Là !
500 http://fr.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
0.79-0ubuntu1 990 <============================================================== Et là !
500 http://fr.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

Comme vous pouvez voir, j'ai ceci :
a) le paquet "ceph" en version 9.2.1-1trusty, issu du dépôt ceph.com ou bien
celui qui est présentement installé sur la machine, est en priorité 990
(ça, c'est comme je pensais)
b) mais le paquet "ceph" en version 0.80.11-0ubuntu1.14.04.1, issu des archives
Ubuntu, a lui _aussi_ une priorité 990.
c) et idem pour le paquet "ceph" en version 0.79-0ubuntu1 (lui aussi issu des
archives)

Pouvez-vous m'expliquer cela car je n'ai manifestement pas bien compris la
syntaxe et la signification des fichiers préférences APT ? Je pensais avoir
mis une priorité 990 seulement au paquet "ceph" en version 9.2.1-* et la
commande ci-dessus semble me dire que _tous_ les paquets "ceph" sont en
priorité 990, _toutes_ versions confondues ?

2. J'ai pourtant tenté de lire et comprendre APT_PREFERENCES(5) mais
manifestement des choses m'échappent. En fait, mon objectif final serait
d'arriver à faire ceci via des préférences APT. Je voudrais ceci :

a) tous les paquets issus du dépôt ceph.com ont une priorité faible (disons 50)
b) sauf pour les paquets issues de ceph.com dont le numéro de version matche
« 9.2.1-* » où là je voudrais une priorité forte (disons 990).
c) si possible en évitant une énumération exhaustive de tous les paquets du
dépôt ceph.com (car il y en a un certain nombre, pas seulement le paquet
"ceph" lui-même).

En pratique, mon _vrai_ objectif est qu'aucune mise à jour des paquets issus
du dépôt ceph.com ne soit possible avec les commandes APT habituelles et que
tout reste figé à la version 9.2.1-*.

Est-ce possible de faire cela avec un ou des fichiers de préférences APT ?

Merci d'avance pour votre aide.

--
François Lafont

10 réponses

1 2
Avatar
didier gaumet
Le 13/03/2016 17:12, Francois Lafont a écrit :
[...]
~# apt-cache policy ceph
ceph:
Installed: 9.2.1-1trusty
Candidate: 9.2.1-1trusty
Package pin: 9.2.1-1trusty
Version table:
*** 9.2.1-1trusty 990
500 http://ceph.com/debian-infernalis/ trusty/main amd64 Packages
100 /var/lib/dpkg/status
0.80.11-0ubuntu1.14.04.1 990 <=================================================== Là !
500 http://fr.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
0.79-0ubuntu1 990 <============================================================== Et là !
500 http://fr.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages


[...]
Je voudrais ceci :

a) tous les paquets issus du dépôt ceph.com ont une priorité faible (disons 50)
b) sauf pour les paquets issues de ceph.com dont le numéro de version matche
« 9.2.1-* » où là je voudrais une priorité forte (disons 990).


[...]

un extrait de la page man de apt_preference:
"une priorité égale à 990 est affectée aux versions qui ne sont pas
installées et qui appartiennent à la distribution par défaut."

donc à priori est paramétrée sur ton système une distribution par
défaut. Chez moi ce ne semble pas être le cas pas le cas:

:~$ apt-cache policy linux-image-amd64
linux-image-amd64:
Installé : 3.16+63
Candidat : 3.16+63
Table de version :
4.3+70~bpo8+1 0 <================================ 0 pas 990
100 http://ftp.fr.debian.org/debian/ jessie-backports/main
amd64 Packages
*** 3.16+63 0 <================================ 0 pas 990
500 http://ftp.fr.debian.org/debian/ jessie/main amd64 Packages
100 /var/lib/dpkg/status

essaie par exemple un pinning de 995 au lieu de 990 et dis-mous ce que
ça donne

et pour le résultat que tu souhaites, peut-être (je n'ai pas testé)
peux-tu essayer un truc de ce genre:

Package: *
Pin: origin "ceph.com"
Pin-Priority: 50

Package: ceph
Pin: version 9.2.1-* , origin "ceph.com"
Pin-Priority: 995
Avatar
Belaïd
--001a113cad50675f34052dfe14ae
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Bonjour,
Le paquet non installé d'une version cible de debian (configuré d ans
/etc/apt/preferences ou preferences.d par exemple) reçoit une priorit é de
990. Si tu ne veux que ce paquet soit installé il faudrait donner une
priorité > 990
Le 13 mars 2016 17:12, "Francois Lafont" a écri t :

Bonjour à tous,

Ceci est un message que j'ai posté sur fr.comp.os.linux.conf il
y a une quinzaine de jour mais comme je n'ai pas eu de réponse
je tente ici.

J'ai deux questions sur les préférences APT et le pinning.

1) Voici un fichier de préférence APT sur un Ubuntu Trusty (d ésolé,
c'est la liste debian ici mais ça pourrait être une Debian Jess ie
ça serait la même chose car le sujet ici uniquement est le pinn ing
et APT) :

~# cat /etc/apt/preferences.d/ceph.pref
Explanation: To ensure the version of the ceph package.
Package: ceph
Pin: version 9.2.1-*
Pin-Priority: 990

Dans mon esprit, ce fichier est censé donner un priorité 990 (d onc
une priorité assez haute) au paquet "ceph" _dans_ sa version « 9.2.1-* »
et _uniquement_ dans cette version là.

C'est en tout cas ce que je pensais mais je constate que la commande
suivante ne me confirme pas cela (au contraire même) :

~# apt-cache policy ceph
ceph:
Installed: 9.2.1-1trusty
Candidate: 9.2.1-1trusty
Package pin: 9.2.1-1trusty
Version table:
*** 9.2.1-1trusty 990
500 http://ceph.com/debian-infernalis/ trusty/main amd64 Packages
100 /var/lib/dpkg/status
0.80.11-0ubuntu1.14.04.1 990
<======================== ========================= == Là !
500 http://fr.archive.ubuntu.com/ubuntu/ trusty-updates/main
amd64 Packages
0.79-0ubuntu1 990
<======================== ========================= ============= Et là !
500 http://fr.archive.ubuntu.com/ubuntu/ trusty/main amd64
Packages

Comme vous pouvez voir, j'ai ceci :
a) le paquet "ceph" en version 9.2.1-1trusty, issu du dépôt cep h.com ou
bien
celui qui est présentement installé sur la machine, est en p riorité 990
(ça, c'est comme je pensais)
b) mais le paquet "ceph" en version 0.80.11-0ubuntu1.14.04.1, issu des
archives
Ubuntu, a lui _aussi_ une priorité 990.
c) et idem pour le paquet "ceph" en version 0.79-0ubuntu1 (lui aussi issu
des
archives)

Pouvez-vous m'expliquer cela car je n'ai manifestement pas bien compris l a
syntaxe et la signification des fichiers préférences APT ? Je p ensais avoir
mis une priorité 990 seulement au paquet "ceph" en version 9.2.1-* e t la
commande ci-dessus semble me dire que _tous_ les paquets "ceph" sont en
priorité 990, _toutes_ versions confondues ?

2. J'ai pourtant tenté de lire et comprendre APT_PREFERENCES(5) mais
manifestement des choses m'échappent. En fait, mon objectif final se rait
d'arriver à faire ceci via des préférences APT. Je voudrai s ceci :

a) tous les paquets issus du dépôt ceph.com ont une priorità © faible
(disons 50)
b) sauf pour les paquets issues de ceph.com dont le numéro de versio n
matche
« 9.2.1-* » où là je voudrais une priorité fo rte (disons 990).
c) si possible en évitant une énumération exhaustive de to us les paquets du
dépôt ceph.com (car il y en a un certain nombre, pas seuleme nt le
paquet
"ceph" lui-même).

En pratique, mon _vrai_ objectif est qu'aucune mise à jour des paque ts
issus
du dépôt ceph.com ne soit possible avec les commandes APT habit uelles et
que
tout reste figé à la version 9.2.1-*.

Est-ce possible de faire cela avec un ou des fichiers de préfér ences APT ?

Merci d'avance pour votre aide.

--
François Lafont





--001a113cad50675f34052dfe14ae
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<p dir="ltr">Bonjour,<br>
Le paquet non installé d&#39;une version cible de debian (configurà © dans /etc/apt/preferences ou preferences.d par exemple) reçoit une priorité de 990. Si tu ne veux que ce paquet soit installé il fa udrait donner une priorité &gt; 990</p>
<div class="gmail_quote">Le 13 mars 2016 17:12, &quot;Francois Lafon t&quot; &lt;<a href="mailto:"></a >&gt; a écrit :<br type="attribution"><blockquote class="gmai l_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left :1ex">Bonjour à tous,<br>
<br>
Ceci est un message que j&#39;ai posté sur fr.comp.os.linux.conf il<br >
y a une quinzaine de jour mais comme je n&#39;ai pas eu de réponse<br>
je tente ici.<br>
<br>
J&#39;ai deux questions sur les préférences APT et le pinning.<br >
<br>
1) Voici un fichier de préférence APT sur un Ubuntu Trusty (dà ©solé,<br>
c&#39;est la liste debian ici mais ça pourrait être une Debian Je ssie<br>
ça serait la même chose car le sujet ici uniquement est le pinnin g<br>
et APT) :<br>
<br>
~# cat /etc/apt/preferences.d/ceph.pref<br>
Explanation: To ensure the version of the ceph package.<br>
Package: ceph<br>
Pin: version 9.2.1-*<br>
Pin-Priority: 990<br>
<br>
Dans mon esprit, ce fichier est censé donner un priorité 990 (don c<br>
une priorité assez haute) au paquet &quot;ceph&quot; _dans_ sa version « 9.2.1-* »<br>
et _uniquement_ dans cette version là.<br>
<br>
C&#39;est en tout cas ce que je pensais mais je constate que la commande<br >
suivante ne me confirme pas cela (au contraire même) :<br>
<br>
~# apt-cache policy ceph<br>
ceph:<br>
  Installed: 9.2.1-1trusty<br>
  Candidate: 9.2.1-1trusty<br>
  Package pin: 9.2.1-1trusty<br>
  Version table:<br>
 *** 9.2.1-1trusty 990<br>
        500 <a href="http://ceph.com/debian-infernali s/" rel="noreferrer" target="_blank">http://ceph.com/debian-infernalis/ </a> trusty/main amd64 Packages<br>
        100 /var/lib/dpkg/status<br>
     0.80.11-0ubuntu1.14.04.1 990  &lt;===== ========================= ===================== Là !<b r>
        500 <a href="http://fr.archive.ubuntu.com/ubu ntu/" rel="noreferrer" target="_blank">http://fr.archive.ubuntu.com/ubu ntu/</a> trusty-updates/main amd64 Packages<br>
     0.79-0ubuntu1 990  &lt;========= ========================= ========================= === Et là !<br>
        500 <a href="http://fr.archive.ubuntu.com/ubu ntu/" rel="noreferrer" target="_blank">http://fr.archive.ubuntu.com/ubu ntu/</a> trusty/main amd64 Packages<br>
<br>
Comme vous pouvez voir, j&#39;ai ceci :<br>
a) le paquet &quot;ceph&quot; en version 9.2.1-1trusty, issu du dépà ´t <a href="http://ceph.com" rel="noreferrer" target="_blank">ceph. com</a> ou bien<br>
   celui qui est présentement installé sur la machine, est en priorité 990<br>
   (ça, c&#39;est comme je pensais)<br>
b) mais le paquet &quot;ceph&quot; en version 0.80.11-0ubuntu1.14.04.1, iss u des archives<br>
   Ubuntu, a lui _aussi_ une priorité 990.<br>
c) et idem pour le paquet &quot;ceph&quot; en version 0.79-0ubuntu1 (lui au ssi issu des<br>
   archives)<br>
<br>
Pouvez-vous m&#39;expliquer cela car je n&#39;ai manifestement pas bien com pris la<br>
syntaxe et la signification des fichiers préférences APT ? Je pen sais avoir<br>
mis une priorité 990 seulement au paquet &quot;ceph&quot; en version 9 .2.1-* et la<br>
commande ci-dessus semble me dire que _tous_ les paquets &quot;ceph&quot; s ont en<br>
priorité 990, _toutes_ versions confondues ?<br>
<br>
2. J&#39;ai pourtant tenté de lire et comprendre APT_PREFERENCES(5) ma is<br>
manifestement des choses m&#39;échappent. En fait, mon objectif final serait<br>
d&#39;arriver à faire ceci via des préférences APT. Je voudr ais ceci :<br>
<br>
a) tous les paquets issus du dépôt <a href="http://ceph.com" re l="noreferrer" target="_blank">ceph.com</a> ont une priorité faibl e (disons 50)<br>
b) sauf pour les paquets issues de <a href="http://ceph.com" rel="noref errer" target="_blank">ceph.com</a> dont le numéro de version matche <br>
   « 9.2.1-* » où là je voudrais une priorit é forte (disons 990).<br>
c) si possible en évitant une énumération exhaustive de tous les paquets du<br>
   dépôt <a href="http://ceph.com" rel="noreferrer" target="_blank">ceph.com</a> (car il y en a un certain nombre, pas seule ment le paquet<br>
   &quot;ceph&quot; lui-même).<br>
<br>
En pratique, mon _vrai_ objectif est qu&#39;aucune mise à jour des paq uets issus<br>
du dépôt <a href="http://ceph.com" rel="noreferrer" target= "_blank">ceph.com</a> ne soit possible avec les commandes APT habituelles e t que<br>
tout reste figé à la version 9.2.1-*.<br>
<br>
Est-ce possible de faire cela avec un ou des fichiers de préféren ces APT ?<br>
<br>
Merci d&#39;avance pour votre aide.<br>
<br>
--<br>
François Lafont<br>
<br>
</blockquote></div>

--001a113cad50675f34052dfe14ae--
Avatar
Belaïd
--001a11c32ddce44244052dfe4124
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

La distribution cible est à configuré dans /etc/apt/apt.conf.d
En gros, apt installera toujours la version d'un paquet avec lq priorità © la
plus élevée sauf si ce paquet est de version moins récente q ue le paquet
qui est déjà installé. Dans ce cas il faudrait donner au paq uet moins
récent une priorité > 1000 pour qu'il puisse être installà ©.
Dans ton cas tu as donné à ton paquet une priorité = au pa quet de la
version cible (990), donc logiquement la version la plus récente sera
installée
Le 14 mars 2016 09:29, "Belaïd" a écri t :

Bonjour,
Le paquet non installé d'une version cible de debian (configuré dans
/etc/apt/preferences ou preferences.d par exemple) reçoit une priori té de
990. Si tu ne veux que ce paquet soit installé il faudrait donner un e
priorité > 990
Le 13 mars 2016 17:12, "Francois Lafont" a éc rit :

Bonjour à tous,

Ceci est un message que j'ai posté sur fr.comp.os.linux.conf il
y a une quinzaine de jour mais comme je n'ai pas eu de réponse
je tente ici.

J'ai deux questions sur les préférences APT et le pinning.

1) Voici un fichier de préférence APT sur un Ubuntu Trusty (d ésolé,
c'est la liste debian ici mais ça pourrait être une Debian Jes sie
ça serait la même chose car le sujet ici uniquement est le pin ning
et APT) :

~# cat /etc/apt/preferences.d/ceph.pref
Explanation: To ensure the version of the ceph package.
Package: ceph
Pin: version 9.2.1-*
Pin-Priority: 990

Dans mon esprit, ce fichier est censé donner un priorité 990 ( donc
une priorité assez haute) au paquet "ceph" _dans_ sa version « 9.2.1-* »
et _uniquement_ dans cette version là.

C'est en tout cas ce que je pensais mais je constate que la commande
suivante ne me confirme pas cela (au contraire même) :

~# apt-cache policy ceph
ceph:
Installed: 9.2.1-1trusty
Candidate: 9.2.1-1trusty
Package pin: 9.2.1-1trusty
Version table:
*** 9.2.1-1trusty 990
500 http://ceph.com/debian-infernalis/ trusty/main amd64 Package s
100 /var/lib/dpkg/status
0.80.11-0ubuntu1.14.04.1 990
<======================= ========================= === Là !
500 http://fr.archive.ubuntu.com/ubuntu/ trusty-updates/main
amd64 Packages
0.79-0ubuntu1 990
<======================= ========================= ============== Et là !
500 http://fr.archive.ubuntu.com/ubuntu/ trusty/main amd64
Packages

Comme vous pouvez voir, j'ai ceci :
a) le paquet "ceph" en version 9.2.1-1trusty, issu du dépôt ce ph.com ou
bien
celui qui est présentement installé sur la machine, est en priorité 990
(ça, c'est comme je pensais)
b) mais le paquet "ceph" en version 0.80.11-0ubuntu1.14.04.1, issu des
archives
Ubuntu, a lui _aussi_ une priorité 990.
c) et idem pour le paquet "ceph" en version 0.79-0ubuntu1 (lui aussi iss u
des
archives)

Pouvez-vous m'expliquer cela car je n'ai manifestement pas bien compris la
syntaxe et la signification des fichiers préférences APT ? Je pensais
avoir
mis une priorité 990 seulement au paquet "ceph" en version 9.2.1-* et la
commande ci-dessus semble me dire que _tous_ les paquets "ceph" sont en
priorité 990, _toutes_ versions confondues ?

2. J'ai pourtant tenté de lire et comprendre APT_PREFERENCES(5) mai s
manifestement des choses m'échappent. En fait, mon objectif final s erait
d'arriver à faire ceci via des préférences APT. Je voudra is ceci :

a) tous les paquets issus du dépôt ceph.com ont une priorità © faible
(disons 50)
b) sauf pour les paquets issues de ceph.com dont le numéro de versi on
matche
« 9.2.1-* » où là je voudrais une priorité f orte (disons 990).
c) si possible en évitant une énumération exhaustive de t ous les paquets
du
dépôt ceph.com (car il y en a un certain nombre, pas seulem ent le
paquet
"ceph" lui-même).

En pratique, mon _vrai_ objectif est qu'aucune mise à jour des paqu ets
issus
du dépôt ceph.com ne soit possible avec les commandes APT habi tuelles et
que
tout reste figé à la version 9.2.1-*.

Est-ce possible de faire cela avec un ou des fichiers de préfé rences APT ?

Merci d'avance pour votre aide.

--
François Lafont







--001a11c32ddce44244052dfe4124
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<p dir="ltr">La distribution cible est à configuré dans /etc/ap t/apt.conf.d<br>
En gros, apt installera toujours la version d&#39;un paquet avec lq priorit é la plus élevée sauf si ce paquet est de version moins rà ©cente que le paquet qui est déjà installé. Dans ce cas il faudrait donner au paquet moins récent une priorité &gt; 1000 po ur qu&#39;il puisse être installé.<br>
Dans ton cas tu as donné à ton paquet une priorité = au pa quet de la version cible (990), donc logiquement la version la plus ré cente sera installée </p>
<div class="gmail_quote">Le 14 mars 2016 09:29, &quot;Belaïd&qu ot; &lt;<a href="mailto:"> m</a>&gt; a écrit :<br type="attribution"><blockquote class=" gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding- left:1ex"><p dir="ltr">Bonjour,<br>
Le paquet non installé d&#39;une version cible de debian (configurà © dans /etc/apt/preferences ou preferences.d par exemple) reçoit une priorité de 990. Si tu ne veux que ce paquet soit installé il fa udrait donner une priorité &gt; 990</p>
<div class="gmail_quote">Le 13 mars 2016 17:12, &quot;Francois Lafon t&quot; &lt;<a href="mailto:" target="_blank">maths </a>&gt; a écrit :<br type="attribution"><blockq uote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Bonjour à tous,<br>
<br>
Ceci est un message que j&#39;ai posté sur fr.comp.os.linux.conf il<br >
y a une quinzaine de jour mais comme je n&#39;ai pas eu de réponse<br>
je tente ici.<br>
<br>
J&#39;ai deux questions sur les préférences APT et le pinning.<br >
<br>
1) Voici un fichier de préférence APT sur un Ubuntu Trusty (dà ©solé,<br>
c&#39;est la liste debian ici mais ça pourrait être une Debian Je ssie<br>
ça serait la même chose car le sujet ici uniquement est le pinnin g<br>
et APT) :<br>
<br>
~# cat /etc/apt/preferences.d/ceph.pref<br>
Explanation: To ensure the version of the ceph package.<br>
Package: ceph<br>
Pin: version 9.2.1-*<br>
Pin-Priority: 990<br>
<br>
Dans mon esprit, ce fichier est censé donner un priorité 990 (don c<br>
une priorité assez haute) au paquet &quot;ceph&quot; _dans_ sa version « 9.2.1-* »<br>
et _uniquement_ dans cette version là.<br>
<br>
C&#39;est en tout cas ce que je pensais mais je constate que la commande<br >
suivante ne me confirme pas cela (au contraire même) :<br>
<br>
~# apt-cache policy ceph<br>
ceph:<br>
  Installed: 9.2.1-1trusty<br>
  Candidate: 9.2.1-1trusty<br>
  Package pin: 9.2.1-1trusty<br>
  Version table:<br>
 *** 9.2.1-1trusty 990<br>
        500 <a href="http://ceph.com/debian-infernali s/" rel="noreferrer" target="_blank">http://ceph.com/debian-infernalis/ </a> trusty/main amd64 Packages<br>
        100 /var/lib/dpkg/status<br>
     0.80.11-0ubuntu1.14.04.1 990  &lt;===== ========================= ===================== Là !<b r>
        500 <a href="http://fr.archive.ubuntu.com/ubu ntu/" rel="noreferrer" target="_blank">http://fr.archive.ubuntu.com/ubu ntu/</a> trusty-updates/main amd64 Packages<br>
     0.79-0ubuntu1 990  &lt;========= ========================= ========================= === Et là !<br>
        500 <a href="http://fr.archive.ubuntu.com/ubu ntu/" rel="noreferrer" target="_blank">http://fr.archive.ubuntu.com/ubu ntu/</a> trusty/main amd64 Packages<br>
<br>
Comme vous pouvez voir, j&#39;ai ceci :<br>
a) le paquet &quot;ceph&quot; en version 9.2.1-1trusty, issu du dépà ´t <a href="http://ceph.com" rel="noreferrer" target="_blank">ceph. com</a> ou bien<br>
   celui qui est présentement installé sur la machine, est en priorité 990<br>
   (ça, c&#39;est comme je pensais)<br>
b) mais le paquet &quot;ceph&quot; en version 0.80.11-0ubuntu1.14.04.1, iss u des archives<br>
   Ubuntu, a lui _aussi_ une priorité 990.<br>
c) et idem pour le paquet &quot;ceph&quot; en version 0.79-0ubuntu1 (lui au ssi issu des<br>
   archives)<br>
<br>
Pouvez-vous m&#39;expliquer cela car je n&#39;ai manifestement pas bien com pris la<br>
syntaxe et la signification des fichiers préférences APT ? Je pen sais avoir<br>
mis une priorité 990 seulement au paquet &quot;ceph&quot; en version 9 .2.1-* et la<br>
commande ci-dessus semble me dire que _tous_ les paquets &quot;ceph&quot; s ont en<br>
priorité 990, _toutes_ versions confondues ?<br>
<br>
2. J&#39;ai pourtant tenté de lire et comprendre APT_PREFERENCES(5) ma is<br>
manifestement des choses m&#39;échappent. En fait, mon objectif final serait<br>
d&#39;arriver à faire ceci via des préférences APT. Je voudr ais ceci :<br>
<br>
a) tous les paquets issus du dépôt <a href="http://ceph.com" re l="noreferrer" target="_blank">ceph.com</a> ont une priorité faibl e (disons 50)<br>
b) sauf pour les paquets issues de <a href="http://ceph.com" rel="noref errer" target="_blank">ceph.com</a> dont le numéro de version matche <br>
   « 9.2.1-* » où là je voudrais une priorit é forte (disons 990).<br>
c) si possible en évitant une énumération exhaustive de tous les paquets du<br>
   dépôt <a href="http://ceph.com" rel="noreferrer" target="_blank">ceph.com</a> (car il y en a un certain nombre, pas seule ment le paquet<br>
   &quot;ceph&quot; lui-même).<br>
<br>
En pratique, mon _vrai_ objectif est qu&#39;aucune mise à jour des paq uets issus<br>
du dépôt <a href="http://ceph.com" rel="noreferrer" target= "_blank">ceph.com</a> ne soit possible avec les commandes APT habituelles e t que<br>
tout reste figé à la version 9.2.1-*.<br>
<br>
Est-ce possible de faire cela avec un ou des fichiers de préféren ces APT ?<br>
<br>
Merci d&#39;avance pour votre aide.<br>
<br>
--<br>
François Lafont<br>
<br>
</blockquote></div>
</blockquote></div>

--001a11c32ddce44244052dfe4124--
Avatar
Francois Lafont
Bonjour,

On 14/03/2016 09:16, didier gaumet wrote:

un extrait de la page man de apt_preference:
"une priorité égale à 990 est affectée aux versions qui ne sont pas
installées et qui appartiennent à la distribution par défaut."



Ah, c'est une info qui a dû m'échapper. Merci.

essaie par exemple un pinning de 995 au lieu de 990 et dis-mous ce que
ça donne



Ok, alors cette fois j'ai pris une Jessie toute « fraîche ». D'abord
je montre que le « problème » se produit bien avec un pinning de 990 :


:~# cat /etc/apt/preferences.d/ceph.pref
Explanation: To ensure the version of the ceph package.
Package: ceph
Pin: version 9.2.1-*
Pin-Priority: 990

:~# apt-cache policy ceph
ceph:
Installed: (none)
Candidate: 9.2.1-1~bpo80+1
Package pin: 9.2.1-1~bpo80+1
Version table:
9.2.1-1~bpo80+1 990 <=================================================== Là !
500 http://ceph.com/debian-infernalis/ jessie/main amd64 Packages
0.80.7-2+deb8u1 990 <=================================================== Là !
500 http://ftp.fr.debian.org/debian/ jessie/main amd64 Packages


Maintenant je change le pinning comme tu l'indiques et je mets 995 :


:~# cat /etc/apt/preferences.d/ceph.pref
Explanation: To ensure the version of the ceph package.
Package: ceph
Pin: version 9.2.1-*
Pin-Priority: 995

:~# apt-cache policy ceph
ceph:
Installed: (none)
Candidate: 9.2.1-1~bpo80+1
Package pin: 9.2.1-1~bpo80+1
Version table:
9.2.1-1~bpo80+1 995 <=================================================== Là !
500 http://ceph.com/debian-infernalis/ jessie/main amd64 Packages
0.80.7-2+deb8u1 995 <=================================================== Là !
500 http://ftp.fr.debian.org/debian/ jessie/main amd64 Packages

Comme tu vois, c'est pareil. J'ai essayé avec un pinning de 1005
par exemple, c'est la même chose. J'ai aussi fait le test sur la
Ubuntu Trusty que j'ai donné en exemple dans mon premier message,
c'est pareil. En gros, dès que je mets un pinning, je le vois
apparaître sur _toutes_ les versions.

Perso, je me demande si en fait c'est pas carrément la notion de
pinning qui ne marche pas du tout comme je l'imaginais...

et pour le résultat que tu souhaites, peut-être (je n'ai pas testé)
peux-tu essayer un truc de ce genre:

Package: *
Pin: origin "ceph.com"
Pin-Priority: 50

Package: ceph
Pin: version 9.2.1-* , origin "ceph.com"
Pin-Priority: 995



D'après mes tests, ça ne semble pas fonctionner :


:~# cat /etc/apt/preferences.d/ceph.pref
Package: *
Pin: origin "ceph.com"
Pin-Priority: 50

Package: ceph
Pin: version 9.2.1-* , origin "ceph.com"
Pin-Priority: 995

:~# apt-cache policy ceph
ceph:
Installed: (none)
Candidate: 0.80.7-2+deb8u1
Package pin: (not found)
Version table:
9.2.1-1~bpo80+1 995
50 http://ceph.com/debian-infernalis/ jessie/main amd64 Packages
0.80.7-2+deb8u1 995
500 http://ftp.fr.debian.org/debian/ jessie/main amd64 Packages


Là aussi tout est à 995. En plus il me dit « Package pin: (not found) ».
Enfin, pire encore, imaginons que je mette le pinning 995 non pas aux
versions 9.2.1-* mais aux version 9.2.0-* (versions qui au passage ne
sont en fait disponibles nulle part). Logiquement, je ne devrais pas
voir apparaître un pinning de 995 où que ce soit (vu que ça concerne
des versions présentent nulle part). Et ben si :


:~# cat /etc/apt/preferences.d/ceph.pref
Package: *
Pin: origin "ceph.com"
Pin-Priority: 50

Package: ceph
Pin: version 9.2.0-* , origin "ceph.com"
Pin-Priority: 995

:~# apt-cache policy ceph
ceph:
Installed: (none)
Candidate: 0.80.7-2+deb8u1
Package pin: (not found)
Version table:
9.2.1-1~bpo80+1 995
50 http://ceph.com/debian-infernalis/ jessie/main amd64 Packages
0.80.7-2+deb8u1 995
500 http://ftp.fr.debian.org/debian/ jessie/main amd64 Packages


Voilà. Merci pour ton aide Didier.

--
François Lafont
Avatar
Francois Lafont
Bonjour,

On 14/03/2016 09:29, Belaïd wrote:

Le paquet non installé d'une version cible de debian (configuré dans
/etc/apt/preferences ou preferences.d par exemple) reçoit une priorité de
990. Si tu ne veux que ce paquet soit installé il faudrait donner une
priorité > 990



Sauf erreur, dans ma réponse à Didier de 10h22, j'ai bien testé un pinning
à 995 (et donc > 990) et je constate toujours le même phénomène à savoir
que le paquet a la même priorité quelle que soit la version.

--
François Lafont
Avatar
S
Bonjour,


Le lundi 14 mars 2016 à 10:22, Francois Lafont a écrit :
:~# cat /etc/apt/preferences.d/ceph.pref
Package: *
Pin: origin "ceph.com"
Pin-Priority: 50

Package: ceph
Pin: version 9.2.1-* , origin "ceph.com"
Pin-Priority: 995



Je me souviens avoir déjà bataillé sans vraiment trouver de solution avec des
jokers (« * ») dans les règles de pinning…

As-tu essayé de fixer le numéro de version avec sa valeur complète ?

Sébastien
Avatar
Francois Lafont
Hello,

On 14/03/2016 10:59, Sébastien NOBILI wrote:

Je me souviens avoir déjà bataillé sans vraiment trouver de solution avec des
jokers (« * ») dans les règles de pinning…



Ah, je me sens moins seul. ;)

As-tu essayé de fixer le numéro de version avec sa valeur complète ?



Je viens de tester. Toujours pareil (ie la même priorité quelle que soit
la version du paquet). D'ailleurs, en fait je crois bien que je n'ai jamais
réussi à avoir en sortie de « apt-cache policy ceph » autre chose qu'une
priorité identique sur toutes les versions du paquet ceph.


:~# cat /etc/apt/preferences.d/ceph.pref
Explanation: To ensure the version of the ceph package.
Package: ceph
Pin: version 9.2.1-1~bpo80+1
Pin-Priority: 995

:~# apt-cache policy ceph
ceph:
Installed: (none)
Candidate: 9.2.1-1~bpo80+1
Package pin: 9.2.1-1~bpo80+1
Version table:
9.2.1-1~bpo80+1 995
500 http://ceph.com/debian-infernalis/ jessie/main amd64 Packages
0.80.7-2+deb8u1 995
500 http://ftp.fr.debian.org/debian/ jessie/main amd64 Packages


Perso, je ne vois que 2 possibilités :

1. La commande « apt-cache policy ceph » me ment, bug ou je ne sais quoi.
Possibilité dont je doute fortement bien sûr.
2. Ou (solution la plus probable), le pinning ne fonctionne pas exactement
comme on le croit.


--
François Lafont
Avatar
didier gaumet
un petit test:

:/home/didier# cat /etc/apt/preferences

Package: ceph*
Pin: origin "ftp.fr.debian.org"
Pin-Priority: 995


:/home/didier# apt-cache policy ceph
ceph:
Installé : (aucun)
Candidat : 0.80.10-2~bpo8+1
Épinglage de paquet : 0.80.10-2~bpo8+1
Table de version :
9.2.1-1~bpo80+1 995
500 http://ceph.com/debian-infernalis/ jessie/main amd64 Packages
0.80.10-2~bpo8+1 995
100 http://ftp.fr.debian.org/debian/ jessie-backports/main amd64
Packages
0.80.7-2+deb8u1 995
500 http://ftp.fr.debian.org/debian/ jessie/main amd64 Packages

le pinning ne *semble* pas fonctionner puisque tous les paquets ceph ont
soi-disant une priorité de 995 mais en fait ça fonctionne puisque la
version candidate affichée par apt-policy est 0.80.10-2~bpo8+1, donc en
fait la version provenant bien de ftp.fr.debian.org/debian, avec le N°
de version le plus élevé (donc ici celle de jessie-backports plutôt que
celle de jessie).
pour vérifier j'ai fait un apt-get -s install ceph qui m'a bien confirmé
que ça voulait installer ceph de backports.

j'ai l'impression qu'apt-cache policy affiche bien le pinning des dépôts
mais mal celui des paquets, mais on peut se fier à son affichage
du candidat pour savoir ce qui serait effectivement installé.

en résumé le pinning m'a l'air d'offrir moins de possibilités en réalité
que sur le papier et on a vraiment intérêt à tester ce que ça donne
avant de mettre en application...
Avatar
francois
Bonjour,

On Mon, Mar 14, 2016 at 12:03:58PM +0100, Francois Lafont wrote:
On 14/03/2016 10:59, Sébastien NOBILI wrote:

> Je me souviens avoir déjà bataillé sans vraiment trouver de solution avec des
> jokers (« * ») dans les règles de pinning…

Ah, je me sens moins seul. ;)

> As-tu essayé de fixer le numéro de version avec sa valeur complète ?

Je viens de tester. Toujours pareil (ie la même priorité quelle que soit
la version du paquet). D'ailleurs, en fait je crois bien que je n'ai jamais
réussi à avoir en sortie de « apt-cache policy ceph » autre chose qu'une
priorité identique sur toutes les versions du paquet ceph.


2. Ou (solution la plus probable), le pinning ne fonctionne pas exactement
comme on le croit.



Je penche pour cette solution. Mais peut-être que cela a été corrigé
parce-que chez moi (en testing=stretch) ça marche.

Est-ce que ton problème serait un de ceux listés dans :
https://anonscm.debian.org/cgit/apt/apt.git/commit/?id©1aae406112df1d8fe16d00212333a20210f674

http://bugs.debian.org/770017
http://bugs.debian.org/685215
http://bugs.debian.org/620249
http://bugs.debian.org/685215
?

Résultat du "chez moi ça marche" :

$ cat /etc/apt/preferences.d/pinning
#Package: *
#Pin: release oÞbian, b=stretch, c=main
#Pin-Priority: 990

Package: *
Pin: origin "*"
Pin-Priority: 1

Package: iceweasel
Pin: version 3*
Pin-Priority: 995

$ apt policy iceweasel
iceweasel:
Installé : 44.0.2-1
Candidat : 44.0.2-1
Table de version :
45.0esr-2 1
1 http://http.debian.net/debian unstable/main amd64 Packages
1 http://http.debian.net/debian unstable/main i386 Packages
45.0~b5-1 1
1 http://http.debian.net/debian experimental/main amd64 Packages
*** 44.0.2-1 990
1 http://http.debian.net/debian unstable/main amd64 Packages
990 http://http.debian.net/debian stretch/main amd64 Packages
100 /var/lib/dpkg/status
44.0.2-1~bpo80+1 1
1 http://mozilla.debian.net jessie-backports/iceweasel-release amd64 Packages
38.7.0esr-1~deb8u1 995
1 http://security.debian.org jessie/updates/main amd64 Packages
38.5.0esr-1~deb8u2 995
1 http://http.debian.net/debian jessie/main amd64 Packages
Avatar
Francois Lafont
Bonsoir,

Et désolé de ma réponse tardive Didier.

On 14/03/2016 12:38, didier gaumet wrote:
un petit test:

:/home/didier# cat /etc/apt/preferences

Package: ceph*
Pin: origin "ftp.fr.debian.org"
Pin-Priority: 995


:/home/didier# apt-cache policy ceph
ceph:
Installé : (aucun)
Candidat : 0.80.10-2~bpo8+1
Épinglage de paquet : 0.80.10-2~bpo8+1
Table de version :
9.2.1-1~bpo80+1 995
500 http://ceph.com/debian-infernalis/ jessie/main amd64 Packages
0.80.10-2~bpo8+1 995
100 http://ftp.fr.debian.org/debian/ jessie-backports/main amd64
Packages
0.80.7-2+deb8u1 995
500 http://ftp.fr.debian.org/debian/ jessie/main amd64 Packages

le pinning ne *semble* pas fonctionner puisque tous les paquets ceph ont
soi-disant une priorité de 995 mais en fait ça fonctionne puisque la
version candidate affichée par apt-policy est 0.80.10-2~bpo8+1, donc en
fait la version provenant bien de ftp.fr.debian.org/debian, avec le N°
de version le plus élevé (donc ici celle de jessie-backports plutôt que
celle de jessie).
pour vérifier j'ai fait un apt-get -s install ceph qui m'a bien confirmé
que ça voulait installer ceph de backports.

j'ai l'impression qu'apt-cache policy affiche bien le pinning des dépôts
mais mal celui des paquets, mais on peut se fier à son affichage
du candidat pour savoir ce qui serait effectivement installé.

en résumé le pinning m'a l'air d'offrir moins de possibilités en réalité
que sur le papier et on a vraiment intérêt à tester ce que ça donne
avant de mettre en application...



Je suis assez d'accord avec cette conclusion. Et j'ajoute que du coup,
j'ai quand même pas vraiment bien pigé comment ça fonctionne. Je doute
maintenant que ce que je veux faire (indiqué dans mon premier message)
soit possible.

--
François Lafont
1 2