Home Wiki > SDB:Mise à jour avec changement de fournisseur
Sign up | Login

SDB:Mise à jour avec changement de fournisseur

tagline: De openSUSE


Cet article explique le concept de vendor stickiness et fournit des informations sur comment changer le comportement par défaut.


Aperçu

Le fournisseur d'un paquet correspond à l'organisation qui distribue le logiciel, par exemple openSUSE. Il est indiqué dans chaque paquet RPM dans le champ vendor. Attention à ne pas confondre fournisseur et dépôt : un dépôt correspond, en principe, à un seul fournisseur, c'est-à-dire que tous les paquets d'un même dépôt ont le même champ vendor, mais un fournisseur peut posséder plusieurs dépôts. Par exemple, openSUSE est le fournisseur des paquets présents dans les dépôts officiels (Oss, Non-Oss, …).
Version : 11.2+ Ce qui suit s'applique à openSUSE à partir de la version 11.2.

Le gestionnaire de paquet Zypp utilise le concept de vendor stickiness. Cela veut dire que, par défaut, un paquet installé n'est mis à jour automatiquement que vers des nouvelles versions distribuées par le même fournisseur.

Avantages du vendor stickiness :

  • Vous ne risquez pas, lors d'une mise à jour, de remplacer accidentellement un logiciel en version stable par une version expérimentale d'un fournisseur différent.
  • Vous ne risquez pas le va-et-vient entre différents dépôts à chaque mise à jour, dans le cas où le même paquet est présent chez plusieurs fournisseurs.

Inconvénients du vendor stickiness :

  • Les mises à jour nécessitant un changement de fournisseur sont moins visibles dans YaST.
  • Mettre à jour un paquet vers une version d'un fournisseur différent requiert un peu plus de travail.
  • De temps en temps, le gestionnaire de paquet vous demandera si vous voulez autoriser un changement de fournisseur, ce qui peut être agaçant, inquiétant ou déroutant.

Effectuer des mises à jour avec changement de fournisseur

Il existe différentes méthodes pour effectuer une mise à jour avec changement de fournisseur.


Changement de fournisseur pour un seul paquet

Changement de fournisseur pour un seul paquet avec YaST

En utilisant YaST

Cherchez le paquet que vous souhaitez mettre à jour, puis allez dans l'onglet Versions et sélectionnez la version que vous voulez installer.

En utilisant Zypper

Installez le paquet avec Zypper en spécifiant la version désirée. Par exemple :

zypper install 'amarok=2.8.0'

Ou en spécifiant un dépôt :

zypper install --from [dépôt] [paquet]


Changement de fournisseur pour un dépôt entier

Changement de fournisseur pour un dépôt entier avec YaST

En utilisant YaST

Si vous souhaitez migrer tous les paquets installés vers des versions d'un dépôt spécifique, ouvrez l’onglet Dépôts, sélectionnez le dépôt voulu et cliquez sur Remplacer les paquets système par les versions de ce dépôt.


En utilisant Zypper

Vous pouvez également changer de fournisseur tous les paquets d'un dépôt en utilisant Zypper :

zypper dup --from [dépôt]

Autoriser le changement de fournisseur de manière globale

Autoriser le changement de fournisseur pour certains dépôts

Vous pouvez définir comme « équivalents » des dépôts de différents fournisseurs. Pour ce faire, créez, dans le dossier /etc/zypp/vendors.d/, un fichier regroupant ces fournisseurs dans une liste. Par exemple :

[main]

vendors = suse,opensuse,obs://build.suse.de,Packman,http://packman.links2linux.de
  • Vous pouvez utiliser n'importe quel nom de fichier, mais chaque fichier dans ce dossier correspond à un groupe de fournisseurs équivalents.
  • Libzypp fait une comparaison des chaînes de caractères (comme strncmp, insensible à la casse) mais seuls les débuts des chaînes sont comparés. Par exemple, le fournisseur « opensuse11.0 » est compatible avec le fournisseur « openSUSE ».


Autoriser le changement de fournisseur pour tous les dépôts

Attention Autoriser le changement de fournisseur pour tous les dépôts peut être dangereux si vous utilisez des dépôts contenant des versions expérimentales de logiciels.

Si vous le souhaitez, vous pouvez désactiver complètement le vendor stickiness. Dans ce cas, le gestionnaire de paquets ne vous demandera pas la permission de changer le fournisseur des paquets et les mises à jour ne feront qu'installer les paquets avec les numéros de version les plus élevés, peu importe leur provenance.

En utilisant YaST

Il suffit de cocher l'option Autoriser le changement de fournisseur dans le menu Options. YaST indiquera alors quand une mise à jour est disponible avec du texte bleu, même si la mise à jour provient d'un fournisseur différent.

En utilisant Zypper

Dans /etc/zypp/zypp.conf, ajoutez la ligne suivante :

solver.allowVendorChange = true

Alors zypper up installera les versions les plus récentes disponibles depuis n'importe quel fournisseur.