Rétrograder un paquet
Avant de rétrograder un seul ou un ensemble de paquets, il serait intéressant 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, et 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
Sommaire |
Revenir de [testing]
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
Librairie trop récente
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 sur AUR ou compilé ici.)
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.
Pour savoir à quel paquet appartient un fichier:
pacman -Qo /chemin/du/fichier
Réinstaller la version précédente d'un paquet
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 précédente est encore disponible dans /var/cache/pacman/pkg/ :
cd /var/cache/pacman/pkg/ pacman -U <nom_du_fichier_du_paquet>
Archlinux Rollback Machine
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/2010, il suffit d'accéder à l'adresse http://arm.konnichi.com/2010/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érieure 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.konnichi.com/2010/05/01/$repo/os/$arch/
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
Si la date est inconnue, on peut également rechercher un paquet manuellement à cette adresse http://arm.konnichi.com/search/, le télécharger et l'installer.