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) :
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 ?
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.
Heu, je ne suis pas sûr de te suivre. Tu cites la partie de mon message où je penche pour une incompréhension de ma part du pinning plutôt qu'un bug de APT mais la suite de ton message laisse penser (et c'est un doux euphémisme) que ce serait plutôt un bug en fin de compte.
Merci François pour toutes ces infos. J'avoue que je n'ai pas regardé en détail tous ces rapports de bugs mais ils ressemblent fortement aux anomalies que j'ai constatées. Du coup, sur une VM Debian Jessie de tests, j'ai installé le paquet apt issu du dépôt de Stretch ie en version 1.2.6 (à ma grande surprise, l'install est passée les doigts dans le nez) et comme par hasard avec le même fichier de conf qu'au départ, ça marche :
:~# apt-get --version apt 1.2.6 (amd64) [...]
:~# 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: Installé : (aucun) Candidat : 9.2.1-1~bpo80+1 Table de version : 9.2.1-1~bpo80+1 995 <========================================== Là d'accord ;) 500 http://ceph.com/debian-infernalis jessie/main amd64 Packages 0.80.11-1 500 <================================================ Là d'accord ;) 500 http://http.debian.net/debian stretch/main amd64 Packages 0.80.7-2+deb8u1 500 <========================================== Là d'accord ;) 500 http://ftp.fr.debian.org/debian jessie/main amd64 Packages
Donc 1. la compréhension que j'avais du pinning (et que les gens ont en général) était a priori correcte et 2. en fait c'est apt qui est un peu buggué sur Jessie (c'est toujours bon à savoir).
Du coup, avec un apt non buggué, j'ai tenté de faire de ce je voulais faire depuis le début, à savoir fixer à 995 la priorité des tous les packages d'origine "ceph.com" _dont_ la version matche 9.2.1-*. Donc ici, il y a 2 conditions : une sur l'origine et l'autre sur la version. Et là, je ne suis arrivé à rien. J'ai notamment tenté ça mais sans succès :
Package: * Pin: version 9.2.1-*, origin "ceph.com" Pin-Priority: 995
Si jamais vous avez une idée de comment le faire (si c'est possible), n'hésitez pas.
J'ai déjà pas mal avancé du coup. Merci François pour l'aide.
-- François Lafont
Bonsoir,
On 15/03/2016 12:59, francois@avalenn.eu wrote:
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.
Heu, je ne suis pas sûr de te suivre. Tu cites la partie de mon message
où je penche pour une incompréhension de ma part du pinning plutôt qu'un
bug de APT mais la suite de ton message laisse penser (et c'est un doux
euphémisme) que ce serait plutôt un bug en fin de compte.
Merci François pour toutes ces infos. J'avoue que je n'ai pas regardé en
détail tous ces rapports de bugs mais ils ressemblent fortement aux anomalies
que j'ai constatées. Du coup, sur une VM Debian Jessie de tests, j'ai
installé le paquet apt issu du dépôt de Stretch ie en version 1.2.6 (à ma
grande surprise, l'install est passée les doigts dans le nez) et comme par
hasard avec le même fichier de conf qu'au départ, ça marche :
root@jessie-clean:~# 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
root@jessie-clean:~# apt-cache policy ceph
ceph:
Installé : (aucun)
Candidat : 9.2.1-1~bpo80+1
Table de version :
9.2.1-1~bpo80+1 995 <========================================== Là d'accord ;)
500 http://ceph.com/debian-infernalis jessie/main amd64 Packages
0.80.11-1 500 <================================================ Là d'accord ;)
500 http://http.debian.net/debian stretch/main amd64 Packages
0.80.7-2+deb8u1 500 <========================================== Là d'accord ;)
500 http://ftp.fr.debian.org/debian jessie/main amd64 Packages
Donc 1. la compréhension que j'avais du pinning (et que les gens ont en général)
était a priori correcte et 2. en fait c'est apt qui est un peu buggué sur Jessie
(c'est toujours bon à savoir).
Du coup, avec un apt non buggué, j'ai tenté de faire de ce je voulais faire depuis
le début, à savoir fixer à 995 la priorité des tous les packages d'origine "ceph.com"
_dont_ la version matche 9.2.1-*. Donc ici, il y a 2 conditions : une sur l'origine
et l'autre sur la version. Et là, je ne suis arrivé à rien. J'ai notamment tenté ça
mais sans succès :
Package: *
Pin: version 9.2.1-*, origin "ceph.com"
Pin-Priority: 995
Si jamais vous avez une idée de comment le faire (si c'est possible), n'hésitez pas.
J'ai déjà pas mal avancé du coup. Merci François pour l'aide.
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.
Heu, je ne suis pas sûr de te suivre. Tu cites la partie de mon message où je penche pour une incompréhension de ma part du pinning plutôt qu'un bug de APT mais la suite de ton message laisse penser (et c'est un doux euphémisme) que ce serait plutôt un bug en fin de compte.
Merci François pour toutes ces infos. J'avoue que je n'ai pas regardé en détail tous ces rapports de bugs mais ils ressemblent fortement aux anomalies que j'ai constatées. Du coup, sur une VM Debian Jessie de tests, j'ai installé le paquet apt issu du dépôt de Stretch ie en version 1.2.6 (à ma grande surprise, l'install est passée les doigts dans le nez) et comme par hasard avec le même fichier de conf qu'au départ, ça marche :
:~# apt-get --version apt 1.2.6 (amd64) [...]
:~# 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: Installé : (aucun) Candidat : 9.2.1-1~bpo80+1 Table de version : 9.2.1-1~bpo80+1 995 <========================================== Là d'accord ;) 500 http://ceph.com/debian-infernalis jessie/main amd64 Packages 0.80.11-1 500 <================================================ Là d'accord ;) 500 http://http.debian.net/debian stretch/main amd64 Packages 0.80.7-2+deb8u1 500 <========================================== Là d'accord ;) 500 http://ftp.fr.debian.org/debian jessie/main amd64 Packages
Donc 1. la compréhension que j'avais du pinning (et que les gens ont en général) était a priori correcte et 2. en fait c'est apt qui est un peu buggué sur Jessie (c'est toujours bon à savoir).
Du coup, avec un apt non buggué, j'ai tenté de faire de ce je voulais faire depuis le début, à savoir fixer à 995 la priorité des tous les packages d'origine "ceph.com" _dont_ la version matche 9.2.1-*. Donc ici, il y a 2 conditions : une sur l'origine et l'autre sur la version. Et là, je ne suis arrivé à rien. J'ai notamment tenté ça mais sans succès :
Package: * Pin: version 9.2.1-*, origin "ceph.com" Pin-Priority: 995
Si jamais vous avez une idée de comment le faire (si c'est possible), n'hésitez pas.
J'ai déjà pas mal avancé du coup. Merci François pour l'aide.
-- François Lafont
didier gaumet
Le 17/03/2016 01:56, Francois Lafont a écrit : ...]
Du coup, avec un apt non buggué, j'ai tenté de faire de ce je voulais faire depuis le début, à savoir fixer à 995 la priorité des tous les packages d'origine "ceph.com" _dont_ la version matche 9.2.1-*. Donc ici, il y a 2 conditions : une sur l'origine et l'autre sur la version. Et là, je ne suis arrivé à rien. J'ai notamment tenté ça mais sans succès :
Package: * Pin: version 9.2.1-*, origin "ceph.com" Pin-Priority: 995
Si jamais vous avez une idée de comment le faire (si c'est possible), n'hésitez pas.
J'ai déjà pas mal avancé du coup. Merci François pour l'aide.
tu peux tester avec Package: ceph* au lieu de Package: *
j'ai lu quelque part que le pinning n'avait pas la même gestion des priorités suivant que ça portait sur tous les paquets ou seulement certains: à vérifier...
Le 17/03/2016 01:56, Francois Lafont a écrit :
...]
Du coup, avec un apt non buggué, j'ai tenté de faire de ce je voulais faire depuis
le début, à savoir fixer à 995 la priorité des tous les packages d'origine "ceph.com"
_dont_ la version matche 9.2.1-*. Donc ici, il y a 2 conditions : une sur l'origine
et l'autre sur la version. Et là, je ne suis arrivé à rien. J'ai notamment tenté ça
mais sans succès :
Package: *
Pin: version 9.2.1-*, origin "ceph.com"
Pin-Priority: 995
Si jamais vous avez une idée de comment le faire (si c'est possible), n'hésitez pas.
J'ai déjà pas mal avancé du coup. Merci François pour l'aide.
tu peux tester avec
Package: ceph*
au lieu de
Package: *
j'ai lu quelque part que le pinning n'avait pas la même gestion des
priorités suivant que ça portait sur tous les paquets ou seulement
certains: à vérifier...
Le 17/03/2016 01:56, Francois Lafont a écrit : ...]
Du coup, avec un apt non buggué, j'ai tenté de faire de ce je voulais faire depuis le début, à savoir fixer à 995 la priorité des tous les packages d'origine "ceph.com" _dont_ la version matche 9.2.1-*. Donc ici, il y a 2 conditions : une sur l'origine et l'autre sur la version. Et là, je ne suis arrivé à rien. J'ai notamment tenté ça mais sans succès :
Package: * Pin: version 9.2.1-*, origin "ceph.com" Pin-Priority: 995
Si jamais vous avez une idée de comment le faire (si c'est possible), n'hésitez pas.
J'ai déjà pas mal avancé du coup. Merci François pour l'aide.
tu peux tester avec Package: ceph* au lieu de Package: *
j'ai lu quelque part que le pinning n'avait pas la même gestion des priorités suivant que ça portait sur tous les paquets ou seulement certains: à vérifier...
Francois Lafont
Hello,
On 17/03/2016 09:22, didier gaumet wrote:
tu peux tester avec Package: ceph* au lieu de Package: *
j'ai lu quelque part que le pinning n'avait pas la même gestion des priorités suivant que ça portait sur tous les paquets ou seulement certains: à vérifier...
tu peux tester avec
Package: ceph*
au lieu de
Package: *
j'ai lu quelque part que le pinning n'avait pas la même gestion des
priorités suivant que ça portait sur tous les paquets ou seulement
certains: à vérifier...
tu peux tester avec Package: ceph* au lieu de Package: *
j'ai lu quelque part que le pinning n'avait pas la même gestion des priorités suivant que ça portait sur tous les paquets ou seulement certains: à vérifier...
On Thu, Mar 17, 2016 at 01:56:01AM +0100, Francois Lafont wrote:
On 15/03/2016 12:59, wrote:
>> 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.
Heu, je ne suis pas sûr de te suivre. Tu cites la partie de mon message où je penche pour une incompréhension de ma part du pinning plutôt qu'un bug de APT mais la suite de ton message laisse penser (et c'est un doux euphémisme) que ce serait plutôt un bug en fin de compte.
[...]
Donc 1. la compréhension que j'avais du pinning (et que les gens ont en général) était a priori correcte et 2. en fait c'est apt qui est un peu buggué sur Jessie (c'est toujours bon à savoir).
De ce que j'ai compris le pinning marchait comme spécifié avant (donc en jessie) mais comme personne ne comprenait la spécification ils ont préféré changer le comportement pour l'avenir (donc en stretch) pour avoir quelque-chose d'utilisable. Mais en effet c'est peu clair.
On Thu, Mar 17, 2016 at 01:56:01AM +0100, Francois Lafont wrote:
On 15/03/2016 12:59, francois@avalenn.eu wrote:
>> 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.
Heu, je ne suis pas sûr de te suivre. Tu cites la partie de mon message
où je penche pour une incompréhension de ma part du pinning plutôt qu'un
bug de APT mais la suite de ton message laisse penser (et c'est un doux
euphémisme) que ce serait plutôt un bug en fin de compte.
[...]
Donc 1. la compréhension que j'avais du pinning (et que les gens ont en général)
était a priori correcte et 2. en fait c'est apt qui est un peu buggué sur Jessie
(c'est toujours bon à savoir).
De ce que j'ai compris le pinning marchait comme spécifié avant (donc
en jessie) mais comme personne ne comprenait la spécification ils ont
préféré changer le comportement pour l'avenir (donc en stretch) pour
avoir quelque-chose d'utilisable. Mais en effet c'est peu clair.
On Thu, Mar 17, 2016 at 01:56:01AM +0100, Francois Lafont wrote:
On 15/03/2016 12:59, wrote:
>> 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.
Heu, je ne suis pas sûr de te suivre. Tu cites la partie de mon message où je penche pour une incompréhension de ma part du pinning plutôt qu'un bug de APT mais la suite de ton message laisse penser (et c'est un doux euphémisme) que ce serait plutôt un bug en fin de compte.
[...]
Donc 1. la compréhension que j'avais du pinning (et que les gens ont en général) était a priori correcte et 2. en fait c'est apt qui est un peu buggué sur Jessie (c'est toujours bon à savoir).
De ce que j'ai compris le pinning marchait comme spécifié avant (donc en jessie) mais comme personne ne comprenait la spécification ils ont préféré changer le comportement pour l'avenir (donc en stretch) pour avoir quelque-chose d'utilisable. Mais en effet c'est peu clair.