Downgrading packages (Français)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
État de la traduction: Cet article est la version francophone de Downgrading packages. Date de la dernière traduction: 2021-12-06. Vous pouvez aider à synchroniser la traduction s'il y a eu des changements dans la version anglaise.

Avant de rétrograder un paquets (ou plusieurs), demandez-vous «pouquoi» vous souhaitez faire cela. Si c'est en raison d'un bug, vérifiez le «bug tracker» pour les actions en cours. S'il n'y en a pas, faites un signalement; la meilleure option étant toujours de corriger les bugs, ou, à minimum de prévenir les autres utilisateurs des possibles problèmes.

Attention:
  • Rétrograder un paquet implique parfois de rétrograder également ses dépendances. Quand le nombre de paquet est important, pensez à utiliser une «snapshot». Voir Arch Linux Archive#How to restore all packages to a specific date.
  • Soyez prudent avec changements apportés aux fichiers de configuration et aux scripts. Sachez que pacman gèrera cela pour vous aussi longtemps que vous ne désactivez pas ses mécanismes de sécurité.
  • Si le retour à une version antérieure implique le changement de nom d'une bibliothèque, Toutes ses dépendances autront besoin d'être rétrogradées également ou d'être reconstruites.

Réinstaller la version précédente d'un paquet

Utiliser le cache de pacman

Si vous avez procéder à l'installation et que vous n'avez pas effacé le cache de pacman, le paquet à la version précédente est encore disponible dans /var/cache/pacman/pkg/:

Ceci supprimera le paquet actuel et installera la version plus ancienne à la place. Les changements nécessaires aux dépendances seront gérés, mais pacman ne gérera pas les conflits de version. Aussi si une bibliothèque ou un autre paquet doit être rétrogradés conjointement aux paquets, sachez que vous devrez le faire vous-même.

# pacman -U /var/cache/pacman/pkg/paquet-vielle_version.pkg.tar.type

Remarquez que type sera xz pour les paquets les plus anciens, et zst pour ceux datant d'après la modification de 2020.

Une fois le paquet installé, ajoutez-le temporairement à la section IgnorePkg de pacman.conf, jusqu'à ce que la difficulté liée au paquet mis-à-jour soit résolu.

Rétrograder le noyau

En cas de problème avec un nouveau noyau, les paquets Linux, ceux-ci peuvent être rétrogradés en In case of issue with a new kernel, the Linux packages can be downgraded to the last working ones utilisant le cache de pacman. Ouvrez le dossier /var/cache/pacman/pkg et rétrogradez au moins les paquets linux, linux-headers ainsi que les modules du noyau. Par exemple:

# pacman -U linux-4.15.8-1-x86_64.pkg.tar.xz linux-headers-4.15.8-1-x86_64.pkg.tar.xz virtualbox-host-modules-arch-5.2.8-4-x86_64.pkg.tar.xz
Astuce: S'il vous est impossible de démarrer le système après une régression du noyau, vous pouvez rétrograder le noyau en chrootant dans le système. Démarrer depuis une image Arch Linux sur un media USB et montez la partition sur laquelle votre sytème est installé dans /mnt. Si vous avez un /boot ou /var sur une partition séparée, montez les également dans /mnt (par exemple mount /dev/sdc3 /mnt/boot). Ensuite chrootez dns le système avec:
# arch-chroot /mnt /bin/bash
Ensuite, vous pouvez vous placer dans le dossier du cache pacman et restaurer les paquets Linux en utilisant les commandes citées ci-dessus. Une fois fait, sortez du chroot (avec exit) et redémarrez.

Arch Linux Archive

Arch Linux Archive fournit une image quotidienne des mirroirs officiels;, et peut être utilisé pour installer une version précédente d'un paquet, ou restaurer le système à une date antérieure..

Recompiler le paquet

Si le paquet ne se trouve nulle part, trouvez son PKGBUILD et reconstruisez-le avec Makepkg.

Pour les paquets provenant des dépots officiels, récupérez le PKGBUILD avec ABS et modifiez la version du logiciel. Vous pouvez également trouver le paquet sur le site web https://archlinux.org/packages, cliquer sur "View Changes" et naviguer jusqu'à la version souhaitée. Il suffit ensuite de télécharger les fichiers situés dans le répertoire afin de construire le paquet.

Consultez également Arch Build System (Français)#Télécharger une ancienne version d'un paquet|Récupérer une version antérieure d'un paquet]].

Les anciens paquets AUR peuvent être construits en récupérant un ancien commit dans le dépôt Git des paquets AUR. Pour les PKGBUILDs AUR3 antérieurs à 2015, consultez Arch User Repository (Français)#Dépôts Git pour les paquets AUR3.

Automatisation

Le paquet downgrader-gitAUR utilise libalpm, prends en charge le journal pacman et la rétrogradation en utilisant Arch Linux Archive, le cache local et la fonction ARM.

Le script bash downgradeAUR disponible sur AUR permet de rétrograder un (ou plusieurs) paquets, en utilisant le cache de pacman ou Arch Linux Archive. Voir man downgrade pour plus de détails.

Revenir de [testing]

Consultez Official repositories (Français)#Désactivation des dépôts de test.