Postez ici vos trucs & astuces.
Répondre

Revenir à une ancienne version (downgrad)

#1Messageil y a 9 ans

Bonsoir

Petit tuto pour revenir à une ancienne version, de manière hyper-simple.

Dans l'exemple, je prends le pilote graphique xf-video-intel.

a) Installer le paquet downgrade

sudo pacman -S downgrade
résolution des dépendances...
recherche des conflits entre paquets...

Paquets (1): downgrade-5.0.3-1

Taille totale de téléchargement : 0,00 MiB
Taille totale installé :           0,08 MiB

:: Procéder à l'installation ? [O/n] o
:: Récupération des paquets...
 downgrade-5.0.3-1-any          4,9 KiB   814K/s 00:00 [-----------------------------] 100%
(1/1) vérification des clés dans le trousseau          [-----------------------------] 100%
(1/1) vérification de l'intégrité des paquets          [-----------------------------] 100%
(1/1) chargement des fichiers des paquets              [-----------------------------] 100%
(1/1) analyse des conflits entre fichiers              [-----------------------------] 100%
(1/1) vérification de l'espace disque disponible       [-----------------------------] 100%
(1/1) installation de downgrade                        [-----------------------------] 100%
Dépendances optionnelles pour downgrade
    sudo: for installation via sudo[installé]


============================================================================================

b) Downgrader la version

Lancer la commande suivante (downgrade xf86-video-intel) :

┌──[24-03-2016 11:11:57] [thierry@pc-thierry] ~ 
└──[$] → downgrade xf86-video-intel
Paquets disponibles :

   1) xf86-video-intel-2.99.917.20150616-2-x86_64.pkg.tar.xz (distant)
   2) xf86-video-intel-2.99.917-6-x86_64.pkg.tar.xz (distant)
   3) xf86-video-intel-2.99.917-5-x86_64.pkg.tar.xz (distant)
   4) xf86-video-intel-2.99.917-4-x86_64.pkg.tar.xz (distant)
   5) xf86-video-intel-2.99.917-3-x86_64.pkg.tar.xz (distant)
   6) xf86-video-intel-2.99.917-2-x86_64.pkg.tar.xz (distant)
   7) xf86-video-intel-2.99.917-1-x86_64.pkg.tar.xz (distant)
   8) xf86-video-intel-2.99.916-3-x86_64.pkg.tar.xz (distant)
   9) xf86-video-intel-2.99.916-2-x86_64.pkg.tar.xz (distant)
  10) xf86-video-intel-2.99.916-1-x86_64.pkg.tar.xz (distant)
  11) xf86-video-intel-2.99.914-4-x86_64.pkg.tar.xz (distant)
  12) xf86-video-intel-2.99.914-3-x86_64.pkg.tar.xz (distant)
  13) xf86-video-intel-2.99.914-2-x86_64.pkg.tar.xz (distant)
  14) xf86-video-intel-2.99.914-1-x86_64.pkg.tar.xz (distant)
  15) xf86-video-intel-2.99.912-4-x86_64.pkg.tar.xz (distant)
  16) xf86-video-intel-2.99.912-3-x86_64.pkg.tar.xz (distant)
  17) xf86-video-intel-2.99.912-2-x86_64.pkg.tar.xz (distant)
  18) xf86-video-intel-2.99.912-1-x86_64.pkg.tar.xz (distant)
  19) xf86-video-intel-2.99.911-2-x86_64.pkg.tar.xz (distant)
  20) xf86-video-intel-2.99.911-1-x86_64.pkg.tar.xz (distant)
  21) xf86-video-intel-2.99.910-1-x86_64.pkg.tar.xz (distant)
  22) xf86-video-intel-2.99.909-2-x86_64.pkg.tar.xz (distant)
  23) xf86-video-intel-2.99.909-1-x86_64.pkg.tar.xz (distant)
  24) xf86-video-intel-2.99.908-1-x86_64.pkg.tar.xz (distant)
  25) xf86-video-intel-2.99.907-2-x86_64.pkg.tar.xz (distant)
  26) xf86-video-intel-2.99.907-1-x86_64.pkg.tar.xz (distant)
  27) xf86-video-intel-2.21.15-2-x86_64.pkg.tar.xz (distant)
  28) xf86-video-intel-2.21.15-1-x86_64.pkg.tar.xz (distant)
  29) xf86-video-intel-1:2.99.917+560+gd167280-0.1-x86_64.pkg.tar.xz (local)
  30) xf86-video-intel-1%3A2.99.917%2B579%2Bg74cd4d0-1-x86_64.pkg.tar.xz (distant)
  31) xf86-video-intel-1%3A2.99.917%2B560%2Bgd167280-1-x86_64.pkg.tar.xz (distant)
  32) xf86-video-intel-1%3A2.99.917%2B552%2Bge41040f-1-x86_64.pkg.tar.xz (distant)
  33) xf86-video-intel-1%3A2.99.917%2B544%2Bg8b8c9a3-1-x86_64.pkg.tar.xz (distant)
  34) xf86-video-intel-1%3A2.99.917%2B519%2Bg8229390-1-x86_64.pkg.tar.xz (distant)
  35) xf86-video-intel-1%3A2.99.917%2B478%2Bgdf72bc5-3-x86_64.pkg.tar.xz (distant)
  36) xf86-video-intel-1%3A2.99.917%2B478%2Bgdf72bc5-2-x86_64.pkg.tar.xz (distant)
  37) xf86-video-intel-1%3A2.99.917%2B476%2Bg4e668dd-1-x86_64.pkg.tar.xz (distant)
  38) xf86-video-intel-1%3A2.99.917%2B472%2Bgf0fd4d5-1-x86_64.pkg.tar.xz (distant)
  39) xf86-video-intel-1%3A2.99.917%2B381%2Bg5772556-1-x86_64.pkg.tar.xz (distant)
  40) xf86-video-intel-1%3A2.99.917%2B364%2Bgb24e758-1-x86_64.pkg.tar.xz (distant)

Sélectionner le paquet numéro :

chargement des paquets…
Avertissement: retourne à la version antérieure du paquet xf86-video-intel (2.99.912-1 => 2.99.911-1)
résolution des dépendances...
recherche des conflits entre paquets...

Paquets (1): xf86-video-intel-2.99.911-1

Taille totale installé :     1,96 MiB
Taille de mise à jour net :  -0,09 MiB

:: Procéder à l'installation ? [O/n] o
(1/1) vérification des clés dans le trousseau      [#####################] 100%
(1/1) vérification de l'intégrité des paquets      [#####################] 100%
(1/1) chargement des fichiers des paquets          [#####################] 100%
(1/1) analyse des conflits entre fichiers          [#####################] 100%
(1/1) vérification de l'espace disque disponible   [#####################] 100%
(1/1) réinstallation d'une ancienne version xf...  [#####################] 100%

add xf86-video-intel to IgnorePkg? [y/n] y


Le paquet downgradé (xf86-video-intel) a été rajouté dans les paquets à ignorer pour les mises à jour à venir. Ainsi il restera bloqué sur la version qui va bien.

Revenir à une ancienne version (downgrad)

#2Messageil y a 9 ans

Merci.

Question subsidiaire: comment fait on pour annuler le downgrade (c'est pour un ami)? :fetard:

Edit: maj via octopi ;)
Edit2: merci Fred (j'aurais dû aussi penser au yaourt qui va bien) :salut:
Dernière modification par imarcoil y a 9 ans, modifié au total 2 fois.

Revenir à une ancienne version (downgrad)

#4Messageil y a 9 ans

imarco a écrit :Merci.

Question subsidiaire: comment fait on pour annuler le downgrade (c'est pour un ami)? :fetard:

Il suffit, si on a downgradé avec la fonction downgrade, d'éditer le /etc/pacman.conf et de commenter la ligne :

#IgnorePkg   =

Revenir à une ancienne version (downgrad)

#5Messageil y a 9 ans

Merci :merci:

Revenir à une ancienne version (downgrad)

#6Messageil y a 6 ans

Je viens de découvrir ce downgrade (et non "downgrad") à l'instant :
https://wiki.archlinux.fr/Downgrade

C'est juste magique. Lors de la dernière mise à jour (tout à l'heure !), mon paquet wine-staging a été upgradé. Je relance mon jeu favori du moment (je rejoue à Anarchy Online 17 ans après avoir quitté le jeu - j'ai été un des premiers joueurs au tout début !), genre nostalgie quoi.. Pas de bol, un bug, ça se lance pas. N'ayant pas le courage de me lancer dans une chasse au bug, je me dis que la version précédente de wine-staging fonctionnait fort bien avec ce jeu. Un petit coup de :

downgrade wine-staging
, et trois minutes plus tard je retrouve mon cher univers en 3D un peu pourri (d'il y a 17 ans donc). Vraiment puissant ce downgrade !

Revenir à une ancienne version (downgrad)

#7Messageil y a 6 ans

'LLo,

Ouaip, magique ce downgrade (au moins pour "l'upstream" venant d'Arch) & je ne comprends toujours pas bien pourquoi il a été désactivé en stable..? :siffle

Revenir à une ancienne version (downgrad)

#8Messageil y a 6 ans

bonsoir
,
cela est lié je pense au projet sx ( station-x)

Revenir à une ancienne version (downgrad)

#9Messageil y a 6 ans

en fait je trouve cela beaucoup trop dangereux pour un utilisateur classique.
Tout va bien si il utilise le cache local mais sinon il va télécharger dans les dépôts archlinux et non manjaro.

Revenir à une ancienne version (downgrad)

#10Messageil y a 6 ans

'LLo,

Ouaip c'est pas faux, mais au fait en testing, il fonctionne ce "joujou"..?

Revenir à une ancienne version (downgrad)

#11Messageil y a 6 ans

Bonjour,
Je reviens sur ce fil de discussion car il m'est arrivé d'utiliser downgrade que je trouve effectivement très pratique et qui offre une certaine sécurité lorsqu'un paquet mis à jour pose problème.

En dehors du cache local, il utilise effectivement les dépôts Arch Linux.
Si je ne m'abuse les paquets Manjaro sont testés une semaine de plus que ceux de Arch.
Question : les paquets validés par les mainteneurs de Manjaro ne sont-ils pas en grande partie les mêmes que ceux de Arch ?

En même temps, vu la capacité des disques durs d'aujourd'hui, je pense qu'il est sage de garder un minimum de versions en cache (3 par défaut il me semble). Mais ça ne suffit pas toujours. La dernière fois que j'ai utilisé downgrade (il y a peu de temps) c'était pour revenir à la version 1.8.0 de libinput (mon clavier de portable ne fonctionnait plus, mais heureusement le clavier externe oui). On est aujourd'hui en version 1.9.4-1. J'ai donc dû retourner une dizaine de versions en arrière ! Merci downgrade :clap

Bien entendu, ce n'est pas la panacée. Avant de downgrader un paquet, il faut déjà savoir quel paquet pose problème. Et ce n'est pas toujours évident.

Quant à AUR, il y a un post dans ce forum qui fourni des liens vers des dépôts d'archives, mais ils m'ont l'air anciens et peu utilisables aujourd'hui :pleure:
Donc le cache est essentiel mais dowgrade peut aussi être d'un grand secours :bien
Enfin, c'est mon avis.

Bruno

Revenir à une ancienne version (downgrad)

#12Messageil y a 6 ans

Alors pour essayer de résumer.
  • Oui, les devs de Manjaro utilisent les mises à jour d'Arch, ce qui ne veut pas dire qu'ils les intègrent tous directement sans les adapter, mais la plupart est compatible .
  • Il est vrai que les DD sont de plus en plus performants tant en rapidité qu'en capacité, mais conserver des paquets devenus trop obsolètes ne sert pratiquement à rien. Hors avec une rolling, /var/cache/pacman/pkg se remplit vite. A voir selon ses disponibilités .
  • Nos devs gèrent tous les paquets officiels et malheureusement ne peuvent intégrer l'ensemble de ce que nous aimerions avoir. C'est là que les utilisateurs entrent en jeu en proposant des paquets sous forme de PKGBUILD aux standards Arch qu'on peut aisément installer. Le problème est que les utilisateurs ne sont pas toujours de bons développeurs ou ont trop a faire de leur côté et il est difficile de suivre le mouvent perpétuel imposé par le concept de la Rolling..
    Par contre, les pilotes propriétaires d'imprimante par exemple ne se trouvent essentiellement que sur Aur, donc difficile de s'en passer.

Revenir à une ancienne version (downgrad)

#13Messageil y a 6 ans

Tout à fait d'accord avec toi lemust83.
Et pour éviter que mon cache ne prenne trop de place si j'oublie de faire du ménage, je me suis ajouté un alias :

alias dist-upgrade='yaourt -Syyuu && paccache -vvvrk2'
Je sais... le nom ressemble étrangement à une action de apt. C'est une déformation qui vient de mon ancienne distrib de prédilection.

Bruno

Revenir à une ancienne version (downgrad)

#14Messageil y a 6 ans

Un point qui me choque dans ton alias est < yaourt -Syyuu>. On passe le fait que yaourt soit en fait un front-end de pacman qui devrait plutôt être invoqué directement, non ce qui m'interpelle est l'emploi du double <uu> qui signifie "Permet le rétrogradation d'un paquet si présent dans les dépôts ". En gros, on ne s'en sert que pour revenir d'une branche à une autre ou lors de rétro-pédalage des devs sur une mise à jour délicate. En tout cas, ce ne devrait pas être dans un alias, puisque cette commande est une correction de trajectoire.
Donc la bonne commande devrait être pacman -Syyu . Le double <yy> lui est nécessaire car le simple <y> est récemment déprécié . Le principe est de forcer pacman à utiliser le dernier fichier de conf généré par pacman-mirrors -F0.
Quant au cache de pacman, lui aussi devrait faire l'objet d'une action ad-hoc et non automatisée.

Revenir à une ancienne version (downgrad)

#15Messageil y a 6 ans

Merci pour ta remarque sur le double <uu>. En fait, je me dis que si les devs ou les mainteneurs de Manjaro proposent une rétrogradation de version c'est qu'ils ont une bonne raison. Alors pourquoi ne pas les suivre ?

Quant au fait que je mets yaourt plutôt que pacman, c'est juste que j'ai pris l'habitude d'utiliser uniquement yaourt en ligne de commande puisqu'il est effectivement un frontend de pacman. Mais ici, je suis d'accord qu'il n'y a pas d'avantage à utiliser yaourt.

Revenir à une ancienne version (downgrad)

#16Messageil y a 6 ans

En fait, il semble que le choix entre pacman -Syyu et pacman -Syyuu ne soit pas si simple. En témoigne ce topic sur reddit qui date d'un an.

Tout dépend de la confiance que l'on accorde aux devs, aux mainteneurs de la distrib, et aux miroirs de dépôts.
Je pense qu'il ne devrait pas y avoir d’ambiguïté quant à la confiance qu'on accorde aux devs et aux mainteneurs (et testeurs). Sinon, pas la peine de rester sur Manjaro car ça signifie qu'on n'a pas confiance en la distrib.
Par contre, cela peut être plus délicat concernant les miroirs.
Personnellement, je ne change pas de dépôts tous les jours. Alors, je me dis qu'il vaut mieux que je sois en phase avec mes miroirs de dépôts même si ils peuvent avoir du retard sur les mises à jours.
Cependant, comme dit plus haut, si les mainteneurs estiment qu'un paquet doit être rétrogradé, je pense qu'il vaut mieux leur faire confiance. Je suis déjà tombé sur ce cas de figure. Mais j'ai l'impression que c'est rare.
Mais le choix n'est vraiment pas simple, car il m'est aussi arrivé qu'un miroir ne soit pas disponible. Dans ce cas, pacman en utilise un autre dans la liste pacman-mirrors. Et si le deuxième n'était pas à jour ? Dans le cas de l'utilisation de <uu>, il rétrograderait probablement mes paquets !?
Pour ou contre l'utilisation du double "u", pour moi, le choix n'est pas simple :confus:

Bruno

Revenir à une ancienne version (downgrad)

#17Messageil y a 6 ans

bonsoir

le cas <uu> est un retour sur la version n-1 des dépôts de manjaro , qui permet de se synchroniser vis à vis des mirroirs, l'autre solution étant de connaître le package fautif et utilisation de downgrade ,
mais cela fonctionne jusqu'à la prochaine mise à jour pour le downgrade , c'est donc une solution temporaire.

dans le cas <uu> , on a eu récemment la mise à jour du microcode pour intel , on attends la bonne mise à jour sur ce dernier point, l'equipe de dev Manjaro a fait retour arrière de leur côté et il faut dans ce cas appliquer un <uu>

sinon pour les autres mises a jour yyu est préférable pour forcer la synchro avec les miroirs

Revenir à une ancienne version (downgrad)

#18Messageil y a 6 ans

C'est exact, il y a eu une rétrogradation d'intel-ucode récemment.
C'est un exemple qui me laisse penser que l'utilisation de <uu> n'est pas mauvaise (et que mes miroirs font leur job).
Mais si on utilise tout le temps <u>, comment savoir quand un retour de version est proposé ?

Bruno

Revenir à une ancienne version (downgrad)

#19Messageil y a 6 ans

L'utilisation de <uu> n'est évidemment pas mauvaise puisque c'est prévu pour permettre une retrogradation d'un paquet ou ensemble de paquets. Ce que je pense est que ce ne devrait pas être une commande invoquée systématiquement dans un alias. Quand les devs ont poussé un paquet qui s'avère bugué, ils proposent généralement de revenir à la version précédente en attendant de corriger le paquet qui du coup passera à la version supérieure.
Cette option n'est en fait que rarement nécessaire en Stable.
Pour Intel-ucode, c'est un peu panique-à-bord chez Intel et ils libèrent des patchs à tout va au petit bonheur. Nos devs Arch et Manjaro ne peuvent que suivre les parutions et permettre des marche-arrière quand il jugent urgent de le faire.
La norme est donc # pacman -Syyu .
Si un paquet est rétrogradé dans les dépôts, tu auras un message du type:

La version <paquet> est plus récente que....
Là, il faut être seul maître à bord car il n'y a pas de règle absolue.

Revenir à une ancienne version (downgrad)

#20Messageil y a 6 ans

Donc je suis prévenu s'il y a des paquets proposés en downgrade même si je fais un pacman -Syyu.
Merci pour l'info :bien
Tu m'as convaincu, je modifie mon alias.
Merci !
Répondre