Retrograder un paquet (downgrade)

Vos petites astuces, répertoire des tutoriels et astuces
Verrouillé
Avatar du membre
cyrille
Administrateur du site
Messages : 12285
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Retrograder un paquet (downgrade)

Message par cyrille »

Rétrograder un paquet sous Mint

Il se peut qu'une mise à jour d'un paquet entraîne quelques soucis et que vous souhaitiez réinstaller une version antérieur.

Ce how-to vous présentera comment réaliser cette action, tout d'abord en ligne de commande (CLI) puis via une interface graphique (GUI).

Un exemple concret sera donné avec le paquet file-roller.


En CLI


Tout d'abord, une chose essentielle est de mettre à jour la base de données d'apt

Code : Tout sélectionner

sudo apt update
Ensuite, il suffit de consulter apt afin d'obtenir la table des versions disponibles du paquet en question.

La syntaxe est :

Code : Tout sélectionner

sudo apt-cache showpkg <nom_du_paquet>
Exemple :

Code : Tout sélectionner

sudo apt-cache showpkg file-roller

Code : Tout sélectionner

sudo apt-cache showpkg file-roller 
Package: file-roller
Versions: 
3.36.3-0ubuntu1.1 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_focal-updates_main_binary-amd64_Packages) (/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_focal-security_main_binary-amd64_Packages)
 Description Language: 
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_focal_main_binary-amd64_Packages
                  MD5: 38d3e4bf80de5287311da5585810d3db
......

Provides: 
3.36.3-0ubuntu1.1 - 
3.36.3-0ubuntu1 - 
3.36.1-1 - 
Reverse Provides: 

A la fin de la sortie, section "Provides:"
, vous trouverez les différentes versions disponibles sur le serveur.

On voit que le paquet est à jour.

Code : Tout sélectionner

file-roller --version 
file-roller 3.36.3, Copyright © 2001-2012 Free Software Foundation, Inc.
Afin d'installer une des versions lister de ce paquet, il suffit de l'installer en suivant cette syntaxe :

Code : Tout sélectionner

sudo apt-get install <nom_du_paquet>=<version_du_paquet>
Dans notre exemple :

Code : Tout sélectionner

sudo apt-get install file-roller=3.36.1-1
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Paquets suggérés :
  arj lha lzip lzop ncompress rpm2cpio rzip sharutils unace unalz unar zoo
Les paquets suivants seront mis à une VERSION INFÉRIEURE :
  file-roller
0 mis à jour, 0 nouvellement installés, 1 remis à une version inférieure, 0 à enlever et 322 non mis à jour.
Il est nécessaire de prendre 252 ko dans les archives.
Après cette opération, 77,8 ko d'espace disque seront libérés.
Souhaitez-vous continuer ? [O/n] 
On voit que apt nous précise bien qu'il réinstallera une version inférieure (rétrograde).

On valide et on regarde si le paquet a bien été rétrogradé.

Code : Tout sélectionner

file-roller --version 
file-roller 3.36.1, Copyright © 2001-2012 Free Software Foundation, Inc.
La version est donc 3.36.1 et non la 3.36.3
L'opération a donc réussi ;)

Par contre, une prochaine mise à jour réinstallera la dernière version de ce paquet, chose qu'on ne désire pas vraiment.

Une solution pour parer à cela est de geler le paquet.

Code : Tout sélectionner

sudo apt-mark hold file-roller
file-roller passé en figé (« hold »).

Pour information, pour connaître la liste des paquets gelés :

Code : Tout sélectionner

dpkg --list | grep ^hi
hi  file-roller                                3.36.1-1                            amd64        archive manager for GNOME
Pour dégeler le paquet afin de re - permettre sa mise à jour :

Code : Tout sélectionner

sudo apt-mark unhold file-roller
Ainsi il fera désormais partie de la prochaine mise à jour.


Retrograder un paquet via le GUI

Lancer synaptic Système // Gestionnaire de paquets Synaptic

Utiliser l'outil recherche.
Image

Une fois le paquet sélectionné, cliquer sur Menu // Paquet // Forcer la verison

Image


Dans la liste déroulante, sélectionner la version souhaitée parmi celles proposées.

Image

Cliquer sur le bouton FORCER LA VERSION

Image

Vérifier que les modifications ont bien étaient prises en compte

Image

Tout comme en CLI, si vous ne voulez pas que le paquet se mette à jour au prochain upgrade, geler le (dans synaptic c'est BLOQUER)
Image

Faire l'opération inverse pour le débloquer.
Z'avez vu , je bonifie, comme le pinard, avec le temps, ai même fait l'effort de faire une version GUI. Je dois couver qqchose.... Sans doute ce putain de virus....
PS : tuto jeté à l'arrache pas relu. Je le relirai après....

Enjoy ;)
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Verrouillé