Avant de rétrograder un seul ou un ensemble de paquets, il serait sympa de savoir pourquoi vous voulez le faire. Si c'est dû à un bug, merci de prendre un moment pour rechercher si un ticket est déjà ouvert sinon, ouvrez-en un, ça peut au mieux corriger le bug et au minimum avertir les autres utilisateurs.
Pour l'ouverture de ticket → http://bugs.archlinux.org
Vous avez voulu tester [testing], mais en fin de compte, vous vous ravisez, et voudriez bien revenir comme avant, le principe est simple, il suffit de commenter l'entrée du dépôt [testing] dans /etc/pacman.conf puis:
pacman -Syuu
Certaines mises à jour demandent une reconstruction en chaîne d'applications et il peut arriver qu'un paquet ne soit pas encore reconstruit lorsque vous l'installez, l'erreur typique ressemble à :
error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory
(pour cette erreur en particulier, installer le paquet libjpeg6 dispo ici ou sur AUR.)
Une solution générale peut être de recompiler le paquet à qui appartient le programme qui sort l'erreur :
yaourt -Sb <paquet>
Malheureusement, cette solution peut s'avérer fastidieuse si le nombre de paquets à recompiler est énorme ou tout simplement si l'on a du mal à définir les paquets à recompiler.
On peut toujours faire pacman -Qo /chemin/du/fichier pour savoir à quel paquet il appartient (un programme, par exemple).
Si vous venez de procéder à l'installation et que vous n'avez pas effacé le cache de pacman (cf. man pacman, -Scc), le paquet à la version d'avant est encore disponible dans /var/cache/pacman/pkg/:
cd /var/cache/pacman/pkg/ pacman -U <nom_du_fichier_représentant_le_paquet>
Ou ARM de son petit nom. Ce projet a été initié par kumyco, un utilisateur d'archlinux, et il consiste à garder un historique des dépôts officiels.
Le principe est simple, pour exemple, on veut accéder aux paquets i686 de [extra] datant de 01/05/2009, il suffit d'accéder à l'adresse http://arm.kh.nu/2009/05/01/extra/os/i686/
C'est suffisant pour télécharger le paquet et l'installer à l'aide de pacman -U, mais si toutefois, le paquet en question demande des dépendances avec une version antérieur ou que vous vouliez tout simplement revenir à un jour précis, il faut définir le miroir en premier dans /etc/pacman.d/mirrorlist de la façon suivante:
Server = http://arm.kh.nu/2009/05/01/$repo/os/i686/
Il ne reste plus qu'à faire:
pacman -Syy paquet
Puis installer ledit paquet datant de cette date.
On peut également ramener tout le système à cette date :
pacman -Syyuu