Downgrading packages (Français)
Avant de rétrograder un paquets (ou plusieurs), demandez-vous «pourquoi» 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.
- 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 auront 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 file:///var/cache/pacman/pkg/paquet-vieille_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 pour le dernier fonctionnel en utilisant le cache de pacman. Ouvrez le répertoire /var/cache/pacman/pkg
et rétrogradez au moins les paquets linux, linux-headers ainsi que les modules du noyau. Par exemple:
# pacman -U file://linux-4.15.8-1-x86_64.pkg.tar.xz linux-headers-4.15.8-1-x86_64.pkg.tar.xz file://virtualbox-host-modules-arch-5.2.8-4-x86_64.pkg.tar.xz
/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 dans le système avec: # arch-chroot /mntEnsuite, vous pouvez vous placer dans le répertoire 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 miroirs 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épôts 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)#Utiliser l'outil pkgctl.
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
- downgrade — Un script bash disponible sur AUR permet de rétrograder un (ou plusieurs) paquets, en utilisant le cache de pacman ou Arch Linux Archive. Voir downgrade(8) pour plus de détails.
Revenir de [testing]
Consultez Official repositories (Français)#Désactivation des dépôts de test.