Rétrograder: revenir à une version précédente d'un progiciel

Package de rétrogradation sous Linux

La chose normale est que toujours mettre à jour les progiciels pour en obtenir des versions plus à jour. Normalement, les développeurs s'efforcent qu'avec l'arrivée de nouvelles versions, ils s'améliorent de plus en plus. Mais ce n'est pas toujours le cas. Parfois, les versions précédentes d'un package peuvent être plus stables, fonctionner mieux pour une raison quelconque, ou même que l'utilisateur aime davantage la version avant la mise à jour car elle contient quelque chose que la nouvelle n'implémente plus.

Si c'est votre cas, dans ce tutoriel, nous allons vous montrer comment vous pouvez rétrograder de n'importe quel package, c'est-à-dire annuler une mise à jour et installer la version précédente sur votre système. De cette façon, vous n'aurez pas de problème si les nouvelles versions vous ont laissé tomber. Eh bien, allons-y!

Puisqu'il n'y a pas de méthode commune pour toutes les distributions, je vais montrer comment cela peut être fait avec le gestionnaires de packages les plus populaires. D'ailleurs, si vous utilisez d'autres méthodes telles que YaST, Synaptic, etc., les procédures sont également possibles, mais graphiquement et beaucoup plus intuitives. Ici, je vais vous expliquer les méthodes via la console, qui sont celles qui génèrent le plus de confusion ...

apt-get: Debian / Ubuntu et dérivés

Pour tous les distributions basées sur des packages DEB et avec le gestionnaire de paquets apt-get, vous pouvez facilement passer d'une version plus récente à une version plus ancienne. Par exemple, nous allons prendre le package firefox comme référence, en imaginant que nous voulons revenir d'une version actuelle à une précédente. Dans ce cas, vous pouvez exécuter les commandes suivantes:

  • Vous pouvez obtenir informations sur le paquet firefox (ou tout ce dont vous avez besoin, il vous suffit de changer le nom pour celui qui convient dans votre cas), comme les versions précédentes installées, etc., vous pouvez utiliser la commande suivante:
sudo apt-cache showpkg firefox

  • Une fois que tu connais bien la version précédente que vous souhaitez installer, vous pouvez utiliser la commande suivante pour installer le package souhaité. Dans notre cas, dans la commande précédente, nous avons obtenu un package appelé firefox = 57.3-build1-0ubuntu1 qui est celui que nous voulons installer:
sudo apt-get install firefox=57.3-build1-0ubuntu1

  • Après cela, vous auriez déjà installé la version précédente de ce programme. Tu sais, et si non vous spécifiez la version Avec APT, vous installez la dernière version disponible dans le référentiel de ce package. Dans ce cas, nous avons indiqué la version spécifique.

N'oubliez pas qu'il est possible que deux packs de versions différents coexistent sur GNU / Linux sans problème. Donc, si vous voulez avoir deux versions différentes du même package, vous pouvez le faire ...

pacman: Arch Linux et dérivés

Au cas où vous auriez Arch Linux, vous devrez alors traiter avec pacman en tant que gestionnaire de paquets. Cet outil vous permet également de revenir à une version précédente si vous le souhaitez. La façon de procéder est un peu différente, mais tout aussi simple:

  • Pour rechercher en le package cache les versions disponibles, vous pouvez vérifier le dossier. Pour filtrer les résultats uniquement pour les packages firefox dans notre cas (mais vous savez déjà que vous pouvez substituer le nom du package à celui que vous souhaitez ...), vous pouvez utiliser:
ls /var/cache/pacman/pkg/ | grep firefox

  • Maintenant, une fois que vous connaissez la version souhaitée, vous pouvez utiliser la commande suivante pour l'installer:
sudo pacman -U /var/cache/pacman/pkg/firefox-57.3.pkg.tar.xz

zypper: SUSE / openSUSE et dérivés

Dans le monde SUSE, vous pouvez utiliser le gestionnaire de paquets zypper. C'est également un moyen facile d'obtenir le package dans une version précédente. Dans notre cas, avec Mozilla Firefox, ce serait comme ceci:

  • La première chose est de consulter le cache du paquet de la même manière que nous l'avons fait pour Arch, avec la commande suivante pour connaître le versions précédentes du package disponible:
cat /var/log/zypp/history | grep firefox

  • Une fois la version précédente localisée, vous pouvez installer cette version en utilisant zypper comme ceci:
sudo zypper -in -f firefox_57.3

dnf: Red Hat / CentOS / Fedora et dérivés

Enfin, sur les distributions basées sur Fedora yum ou dnf sera utilisé. Pour revenir à une mise à jour de package et revenir à une version précédente avec votre rétrogradation, vous pouvez utiliser les commandes suivantes:

  • Dans ce cas, la première chose sera de voir Versions précédentes du package que vous essayez d'installer dans les référentiels DNF. Pour notre exemple, vous pouvez utiliser cette commande pour obtenir la liste:
sudo dnf --showduplicates list firefox

  • Maintenant, une fois que vous avez bien regardé le nom de la version que vous souhaitez installer, il vous suffit de le copier à partir des données lancées dans la sortie de la commande précédente et de le coller dans la suivante. Par exemple:
<pre>sudo dnf install firefox-57.3.fc28</pre>

Vous pouvez aussi utiliser instantanés ou instantanés pour revenir aux versions précédentes. Pour cela, vous pouvez utiliser les commandes suivantes, ce qu'elles feront respectivement, obtenir l'historique, puis obtenir des informations sur une transaction à partir de l'historique avec son ID (ce que vous voulez dans votre cas), puis revenir au statut de cette transaction en indiquant l'ID (dans notre exemple 32):

sudo dnf history

sudo dnf history info 32

sudo dnf history undo 32

J'espère que ce tutoriel vous a aidé à résoudre les problèmes qu'une nouvelle version d'un progiciel vous causait dans votre distribution préférée. Vous savez déjà que vous pouvez quitter votre commentaires avec questions ou suggestions...


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   anonyme dit

    Dans gentoo, la version du package qui n'est plus souhaitée est masquée, à nouveau en la plaçant explicitement dans le fichier /etc/portage/package.mask/package.mask.
    Par exemple, si nous ne voulons pas du dernier Firefox, qui est 69.0.1, nous le disons comme ceci:

    = www-client / firefox-69.0.1
    ou si nous ne voulons pas de version supérieure dans les futures mises à jour
    > = www-client / firefox-69.0.1

    Ensuite, faire le déclassement serait comme ceci:
    # émergent -av1 firefox
    Voici les packages qui seraient fusionnés, dans l'ordre:
    Calcul des dépendances… c'est fait!
    [ebuild UD] www-client / firefox-68.1.0
    Souhaitez-vous fusionner ces packages? [Oui / Non] et

    UD indique le déclassement de la mise à jour

    1.    Isaac dit

      Bonjour, merci beaucoup pour cette contribution. J'ai décidé de mettre ces distributions parce qu'elles sont les plus utilisées, mais il y a évidemment de bonnes distributions comme Slackware, Gentoo et d'autres dont je n'ai pas parlé. Parfois, il est difficile de choisir l'un ou l'autre, et il faut toujours en choisir et en laisser de côté ...
      Salutations!

  2.   Alex dit

    Existe-t-il un moyen de faire cela avec plusieurs packages à la fois?